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.
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
- Tailwind CSS is used as the utility-first CSS framework
- 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.
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 -s RC
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:
.....
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.
Installation instructions can be found in the Craft 3 documentation.
- 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