lakedrops/d8-project

Drupal 8 project template for a composer based workflow

v1.5.0 2020-12-28 16:15 UTC

README

Preparation

  • Install composer: sudo wget https://getcomposer.org/composer.phar --output-document=/usr/local/bin/composer && sudo chmod +x /usr/local/bin/composer
  • Disable XDebug for CLI - optional: sudo phpdismod -s cli xdebug
  • Install Prestissimo - optional: sudo composer global require "hirak/prestissimo:^0.3"

Create new project for local development

composer create-project lakedrops/d8-project [DIRNAME] --no-interaction
cd [DIRNAME]

# If you also want to use the theme template:
composer config repositories.assets composer https://asset-packagist.org 
env CUSTOM_THEME_NAME=[THEMENAME] composer require lakedrops/theme-d8-sass

This will build the full structure and create a git repository which you can then use during the full live-cycle of that project.

To install a new site with the included default configuration, use drush site-install config_installer and you get a jump-start from that.

Deploy project to upstream stages

For deployment, both initially and for later updates, follow this:

mkdir /PATH/TO/ROOT
cd /PATH/TO/ROOT
git clone YOUR-GIT-REPOSITORY .
composer install

Optionally you can also create all the scaffolds by using

composer lakedrops

To manually update the theme components, if you're using the lakedrops/theme-d8-sass package and unintentionally changed one of the core file, then you can always run

composer lakedrops-theme-update

Adding new and updating existing components

Edit the composer.json file according to your requirements and then run composer update.

Adding JS packages

CKEditor Codesnippet

composer config repositories.codesnippet '{"type": "package","package": {"name": "ckeditorplugin/codesnippet","type": "drupal-library","version": "master","dist": {"type": "zip","url": "https://download.ckeditor.com/codesnippet/releases/codesnippet_4.7.3.zip","reference": "master"}}}'
composer require ckeditorplugin/codesnippet:master drupal/codesnippet

Chosen

composer config repositories.codesnippet '{"type": "package","package": {"name": "harvesthq/chosen","version": "1.8.2","type": "drupal-library","dist": {"url": "https://github.com/harvesthq/chosen/releases/download/v1.8.2/chosen_v1.8.2.zip","type": "zip"}}}'
composer require harvesthq/chosen

Links

Using Composer to install Drupal packages through Drupal.org

Credit

Composer template for Drupal projects