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
- Frontend Development Automation using Laravel Mix
- Implementing Critical CSS on your website
- Enhancing a Craft CMS 3 Website with a Custom Module
It also installs a few base plugins that we use on every project.
Since this is boilerplate that Marbles uses for projects, it is by definition opinionated, and has a number of assumptions:
- Laravel Mix is used as a the frontend workflow automation tool
- Tailwind CSS is used as the utility-first CSS framework
- 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 marbles/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 marbles/craft craft3
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
marbles-setup command to configure Craft-Scripts & Craft 3 Multi-Environment based on your newly created
And last but not least:
Import the databank found in your project folder (craft.sql)
That's it, enjoy!
If you ever delete the
vendor folder or such, just re-run:
...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 flexible and scalable CMS for creating bespoke digital experiences on the web and beyond.
- An intuitive Control Panel for administration tasks and content creation.
- A clean-slate approach to content modeling and front-end development.
- A built-in Plugin Store with hundreds of free and commercial plugins.
- A robust framework for module and plugin development.
Learn more about it at craftcms.com.
Craft is written in PHP (7+), and built on the Yii 2 framework. It can connect to MySQL (5.5+) and PostgreSQL (9.5+) for content storage.
See the following documentation pages for help installing Craft 3:
- Documentation – Everything from usage instructions to plugin guides.
- Class Reference – Full API and class reference for plugin and module developers.
- Demo site – Quickly launch a personalized demo of a Craft site.
- Craft Slack – Join one of the most friendly and helpful Slack groups around.
- Craft Commerce – First-party e-commerce platform for Craft.
- CraftQuest – Unlimited access to Craft training (and more) from Mijingo.
- Envato Tuts+ – Video courses.
- nystudio107 Blog – Articles about Craft and modern web development.
- Craft Link List – Bimonthly newsletter about the Craft ecosystem.
- Craft CMS Stack Exchange – Community-run Q&A for Craft developers.