/topchefinfo

Primary LanguageShellMIT LicenseMIT

Craft Boilerplate

This project is based on the official Craft 3 starter project

Table of Contents

(Mac OSX only) xcode Installation

Run: $ xcode-select --install and follow the instructions. It can take a few minutes to install.

MAMP Installation

You can download MAMP here and find the installation instructions here.

Composer Installation

CraftCMS v3 now uses PHP Composer to manage Craft updates, plugins, and other things related to CraftCMS. While there are installation instructions for various operating systems, we have found that the most common setup (i.e. MacOSX and Ubuntu Linux) can be installed by doing the following:

  1. Ensure that you have PHP installed
  2. Download and save the Composer installer here: https://getcomposer.org/installer
  3. Open a terminal and go to the directory in which you saved the Composer installer.
  4. Run the following command from the terminal in order to install Composer globally (assuming the file you downloaded and saved is named "installer":
    $ php installer --install-dir=/usr/local/bin --filename=composer
  5. Run $ composer --version to verify that the installation was successful.

If all goes well and you were able to install Composer globally, then this is the only time you will have to install Composer.

Node installation

CraftCMS v3 projects based on craft-boilerplate utilize nodejs, npm, and laravel mix, in order to run SASS processing, javascript minifcation, and autoprefixing.

Find out how to download and install node for your environment here (which includes npm): https://nodejs.org/en/download/

New Project Setup

Follow these instructions when you need to start a brand new CraftCMS from scratch, utilizing this bootstrap project as a foundation and a starting point.

New Project Setup

  1. Ensure that you have installed all required software - see Environment Considerations
  2. Download the latest archive master version of the craft-boilerplate project, found here
  3. Create a new directory for the new project and unzip the craft-boilerplate archive into this directory.
  4. Open up a terminal and change the directory where you unzipped the archive above.
  5. Run $ composer install --no-scripts, which will download Craft and all associated plugins.
  6. Run $ composer run-script post-create-project-cmd, which will guide you through the "CraftCMS Initialization" steps that ultimately create an .env file and set your security key.
  7. Add a new site/database to MAMP and make sure a database is available for Craft to be installed into.
  8. MAMP users need to make sure and uncomment a line in the .env for BACKUP_COMMAND, RESTORE_COMMAND, and DB_SOCKET
  9. Run $ ./craft setup and follow the instructions, which will fill out the rest of the fields in your .env file and set up the database for first-time use.
  10. Run $ npm install, which will install all Node dependencies for this project.

Miscellaneous Information

File/Directory Structure

This CraftCMS project expects certain files to be in specific locations in order to be used.

More detailed information about the default structure can be found here: https://docs.craftcms.com/v3/directory-structure.html

.env

  • Database and environment name are set in the .env file when you craft setup
  • This file is not tracked in git, helping to keep passwords more secure
  • My development environment is setup using apache which I find a tad simpler to work with locally
  • Refer to this repo if the staging/prod environment is not using our setup scripts
  • It may be a little heavy handed so an alternative with the least amount of required bits is here

NPM/Laravel Mix

  • Laravel Mix makes webpack implementation very easy and has a fairly basic setup for Sass and JS merging

Database

  • No database is included.
  • Add a blank database to your local host and then fill in the details of that when running ./craft setup
  • Go to yourdomain.test/admin and craft will install a new version into that empty database

SASS

  • Use these scripts to pull down db and assets
  • Change the settings in the /scripts/.env.sh file to match your local machine and the remote server

Craft CMS


About Craft CMS

Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web and beyond.

It features:

  • An intuitive, user-friendly control panel for content creation and administrative tasks.
  • A clean-slate approach to content modeling that doesn’t make any assumptions about the content you need to manage.
  • An auto-generated GraphQL API that can be consumed for building headless applications.
  • A fast and flexible templating system based on Twig for building traditional websites.
  • A powerful ecommerce platform for building bespoke ecommerce experiences.
  • A built-in Plugin Store with hundreds of free and commercial plugins.
  • A robust framework for module and plugin development.
  • An active, vibrant community.

You can learn more about it at craftcms.com, and documentation is available at craftcms.com/docs.

Tech Specs

Craft is a self-hosted PHP 7 application. It can connect to MySQL and PostgreSQL for content storage. See Server Requirements for more details.

Popular Resources