This is an alternate scaffolding package for Craft 3 CMS projects to Pixel & Tonic's canonical craftcms/craft package.
The project is based on Craft CMS using a unique templates/_boilerplate
system for web/AJAX/AMP pages, and implements a number of technologies/techniques:
- webpack is used for the build system as per An Annotated webpack 4 Config for Frontend Web Development
- VueJS is used for some of the interactive bits on the website as per
- Tailwind CSS for the site-wide CSS
- JSON-LD structured data as per Annotated JSON-LD Structured Data Examples
- Google AMP versions of the podcast episode and other pages
- Implements a Service Worker via Google's Workbox as per Service Workers and Offline Browsing
- Critical CSS as per Implementing Critical CSS on your website
- Frontend error handling as per Handling Errors Gracefully in Craft CMS
- A custom site module as per Enhancing a Craft CMS 3 Website with a Custom Module
- CLI-based queue as per Robust queue job handling in Craft CMS
- FastCGI Static Cache as per Static Page Caching with Craft CMS
- 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 probably a bunch of other stuff too.
The following Craft CMS plugins are used on this site:
- FastCGI Cache Bust - to bust the FastCGI cache whenever entries are modified
- ImageOptimize - for the optimized images and
srcset
s used on the site - Minify - to minify the HTML and inline JS/CSS
- Retour - for setting up 404 redirects
- SEOmatic - for handling site-side SEO
- Twigpack - for loading webpack-generated
manifest.json
resources in a modern way - Typogrify - for smart quotes and other typographic ligatures
- Webperf - for monitoring web performance
You can read more about it in the Setting up a New Craft 3 CMS Project article.
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 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 flexible and scalable CMS for creating bespoke digital experiences on the web and beyond.
It features:
- 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 – Read the official docs.
- Guides – Follow along with the official guides.
- #craftcms – See the latest tweets about Craft.
- Discord – Meet the community.
- Stack Exchange – Get help and help others.
- CraftQuest – Watch unlimited video lessons and courses.
- Craft Link List – Stay in-the-know.
- nystudio107 Blog – Learn Craft and modern web development.