This is an alternate scaffolding package for Craft 3 CMS projects to nystudio107's canonical nystudio107/craft package.
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
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 link domain
valet secure domain
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
.....
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
- 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
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