All Projects → nystudio107 → Craft

nystudio107 / Craft

Licence: 0bsd
nystudio107 Craft 3 CMS scaffolding project

Programming Languages

javascript
184084 projects - #8 most used programming language

nystudio107

About nystudio107/craft

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:

...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 srcsets 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.

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 --no-install

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 --no-install

We use --no-install so that the composer packages for the root project are not installed.

Setting Up Local Dev

You'll need Docker desktop for your platform installed to run the project in local development

  • Set up a .env file in the cms/ directory, based off of the provided example.env
  • Set up a .env.sh. file in the scripts/ directory, based off of the provided example.env.sh
  • Start up the site with docker-compose up (the first build will be somewhat lengthy)
  • Navigate to http://localhost:8000 to use the site; the webpack-dev-server runs off of http://localhost:8080

The CP login credentials are initially set as follows:

Login: [email protected]
Password: letmein

Obviously change these to whatever you like as needed

N.B.: Without authorization & credentials (which are private), the ./docker_pull_db.sh will not work. It's provided here for instructional purposes

To update to the latest Composer packages (as constrained by the cms/composer.json semvers), do:

rm cms/composer.lock
docker-compose up

To update to the latest npm packages (as constrained by the buildchain/package.json semvers), do:

rm buildchain/package-lock.json
docker-compose up

To use Xdebug with VSCode install the PHP Debug extension and use the following configuration in your .vscode/launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "log": true,
            "externalConsole": false,
            "pathMappings": {
                "/var/www/project/cms": "${workspaceRoot}/cms"
            },
            "ignore": ["**/vendor/**/*.php"]
        }
    ]
}

Below is the entire intact, unmodified README.md from Pixel & Tonic's craftcms/craft:

.....

Craft CMS

About Craft CMS

Craft is a flexible and scalable CMS for creating bespoke digital experiences on the web and beyond.

It features:

Learn more about it at craftcms.com.

Tech Specs

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.

Installation

See the following documentation pages for help installing Craft 3:

Popular Resources

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].