pennebaker / craft
pennebaker Craft 3 CMS scaffolding project
Installs: 43
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 9
Forks: 0
Language:JavaScript
Type:project
Requires
- php: >=7.0.0
- aelvan/preparse-field: ^1.0.0
- charliedev/advanced-url-field: ^1.0.0
- charliedev/blockonomicon: ^1.1.2
- charliedev/blockonomicon-super-table-adapter: ^1.0.0
- charliedev/element-map: ^1.0.2
- craftcms/aws-s3: ^1.0.8
- craftcms/cms: ^3.0.10.3
- craftcms/element-api: ^2.5.2
- craftcms/guest-entries: ^2.1.3
- craftcms/mandrill: ^1.2.0
- craftcms/redactor: ^2.1.0
- dolphiq/jsonclient: ^1.0.1
- doublesecretagency/craft-inventory: ^2.0.0
- doublesecretagency/craft-smartmap: ^3.1.0
- enupal/backup: ^1.0.11
- marionnewlevant/match-input: ^2.0.0
- marionnewlevant/snitch: ^2.0.1
- markdrzy/importable: ^1.0.1
- mikestecker/craft-readability: ^1.0.4
- mmikkel/cp-field-inspect: ^1.0.4
- mmikkel/lettering: ^1.0.1
- nystudio107/craft-cookies: ^1.1.9
- nystudio107/craft-eagerbeaver: ^1.0.3
- nystudio107/craft-fastcgicachebust: ^1.0.8
- nystudio107/craft-imageoptimize: ^1.4.33
- nystudio107/craft-instantanalytics: ^1.0.6
- nystudio107/craft-minify: ^1.2.8
- nystudio107/craft-pathtools: ^1.0.7
- nystudio107/craft-richvariables: ^1.0.17
- nystudio107/craft-routemap: ^1.1.3
- nystudio107/craft-scripts: ^1.2.6
- nystudio107/craft-seomatic: ^3.0.20
- nystudio107/craft-transcoder: ^1.1.3
- nystudio107/craft-twigprofiler: ^1.0.0
- nystudio107/craft-typogrify: ^1.1.10
- nystudio107/craft3-multi-environment: ^1.0.7
- ostark/upper: ^1.3.2
- page-8/craft-manytomany: ^1.0.2
- pennebaker/craft-architect: ^2.2.9
- sebastianlenz/linkfield: ^1.0.10
- solspace/craft3-freeform: ^2.0.4
- superbig/craft-entry-instructions: ^1.0.0
- superbig/craft3-autologin: ^1.0.0
- superbig/craft3-http2serverpush: ^1.0.0
- topshelfcraft/supersort: ^3.0.1
- verbb/cp-nav: ^2.0.4
- verbb/expanded-singles: ^1.0.3
- verbb/super-table: ^2.0.7
- vlucas/phpdotenv: ^2.4.0
- wbrowar/guide: ^1.2.1
- yiisoft/yii2-redis: ^2.0.8
README
This is an alternate scaffolding package for Craft 3 CMS projects to nystudio107's canonical nystudio107/craft package.
Brew Packages
nystudio107's ImageOptimize plugin may need some additional packages installed on OSX for valet to function.
brew install jpegoptim optipng svgo gifsicle pngquant pngcrush webp
Using pennebaker/craft
This project package works exactly the way nystudio107's nystudio107/craft package works; you create a new project by first creating & installing the project:
composer create-project pennebaker/craft PATH
Make sure that PATH
is the path to your project, including the name you want for the project, e.g.:
composer create-project pennebaker/craft craft3
Create your dev database locally (ex. yoursite_cmsdb_dev
) and use that database name for the next step.
Then cd
to your new project directory, and run Craft's setup
console command to create your .env
environments and optionally install:
cd PATH
./craft setup
Copy your local database name (ex. yoursite_cmsdeb_dev
) into pen-setup
under the section LOCAL_DB_NAME
and set default
to yoursite_cmsdb_dev
.
Finally, run the pen-setup
command to configure Craft-Scripts & Craft 3 Multi-Environment based on your newly created .env
settings:
./pen-setup
That's it, enjoy!
If you ever delete the vendor
folder or such, just re-run:
./pen-setup
...and it will re-create the symlink to your .env.sh
; don't worry, it won't stomp on any changes you've made.
Valet Setup
valet link domain valet secure domain
Yarn
For local gulp development use:
yarn start
For production build use:
yarn build
Below is the entire intact, slightly modified† README.md
from nystudio107's nystudio107/craft:
† Removed line about tailwindcss
.....
About nystudio107/craft
This is an alternate scaffolding package for Craft 3 CMS projects to Pixel & Tonic's canonical craftcms/craft package.
In addition to setting up a new Craft 3 CMS project, this project sets up:
- Craft 3 Multi-Environment as described in the Multi-Environment Config for Craft CMS article
- Craft-Scripts as described in the Database & Asset Syncing Between Environments in Craft CMS, Mitigating Disaster via Website Backups & Hardening Craft CMS Permissions articles
...and sets up some other base scaffolding as described to the following articles:
- A Better package.json for the Frontend
- A Gulp Workflow for Frontend Development Automation
- Implementing Critical CSS on your website
- Simple Static Asset Versioning in Craft CMS
- Enhancing a Craft CMS 3 Website with a Custom Module
It also installs a few base plugins that I use on every project. You can read more about it in the Setting up a New Craft 3 CMS Project article.
Assumptions Made
Since this is boilerplate that nystudio107 uses for projects, it is by definition opinionated, and has a number of assumptions:
- Gulp is used as a the frontend workflow automation tool
- Vue is used as the frontend JavaScript framework, with Axios providing the http client
- Nginx with
ssi on;
is used as the web server - Redis is used as the PHP Session and Craft data caching method
- Critical CSS is used site-wide
- FontFaceObserver is used for font loading
- Craft-Scripts are used for db/asset synching
- Craft 3 Multi-Environment is used for the Craft 3 multi-environment setup
Obviously you're free to remove whatever components you don't need/want to use.
Using nystudio107/craft
This project package works exactly the way Pixel & Tonic's craftcms/craft package works; you create a new project by first creating & installing the project:
composer create-project nystudio107/craft PATH
Make sure that PATH
is the path to your project, including the name you want for the project, e.g.:
composer create-project nystudio107/craft craft3
Then cd
to your new project directory, and run Craft's setup
console command to create your .env
environments and optionally install:
cd PATH
./craft setup
Finally, run the nys-setup
command to configure Craft-Scripts & Craft 3 Multi-Environment based on your newly created .env
settings:
./nys-setup
That's it, enjoy!
If you ever delete the vendor
folder or such, just re-run:
./nys-setup
...and it will re-create the symlink to your .env.sh
; don't worry, it won't stomp on any changes you've made.
Below is the entire intact, unmodified README.md
from Pixel & Tonic's craftcms/craft:
.....
About Craft CMS
Craft is a content-first CMS that aims to make life enjoyable for developers and content managers alike. It is optimized for bespoke web and application development, offering developers a clean slate to build out exactly what they want, rather than wrestling with a theme.
Learn more about Craft at craftcms.com.
How to Install Craft 3 Beta
Installation instructions can be found in the Craft 3 documentation.
Resources
Official Resources
Community Resources
- Mijingo – Video courses and other learning resources
- Envato Tuts+ – Video courses
- Straight Up Craft – Articles, tutorials, and more
- Craft Cookbook – Quick answers for common tasks
- pluginfactory.io – Craft plugin scaffold generator