PROJECT_NAME="ddev-drupal-astro-backend--basic" DRUPAL_VERSION="11.2.8" PROJECT_TYPE="drupal11" PHP_VERSION="8.4" # ======================================================================= # [Creating Drupal Project with DDEV] mkdir "$PROJECT_NAME" && cd "$PROJECT_NAME" ddev config --project-name=$PROJECT_NAME --project-type="$PROJECT_TYPE" --php-version=$PHP_VERSION --docroot=web ddev composer create-project drupal/recommended-project:$DRUPAL_VERSION "." ddev restart && echo "Restarted DDEV to recognize the new files" ddev composer require 'drush/drush' ddev drush site:install -y --site-name="$PROJECT_NAME" # [Installing and enabling must-have modules ] ddev composer require 'drupal/paragraphs' && ddev drush en paragraphs -y ddev composer require 'drupal/admin_toolbar' && ddev drush en admin_toolbar admin_toolbar_search -y ddev composer require 'drupal/field_group' && ddev drush en field_group -y ddev composer require 'drupal/twig_tweak' && ddev drush en twig_tweak -y ddev composer require 'drupal/pathauto' && ddev drush en pathauto -y ddev composer require 'drupal/token' && ddev drush en token -y ddev composer require 'drupal/coffee' && ddev drush pm:enable coffee -y ddev drush en media media_library -y # ======================================================================= # [Configuring development settings] ddev drush -y config:set system.performance css.preprocess 0 ddev drush -y config:set system.performance js.preprocess 0 ddev drush -y theme:dev on # [Install developer tools / modules] ddev composer require 'drupal/webprofiler' && ddev drush en tracer -y && ddev drush en webprofiler -y ddev composer require 'drupal/devel' && ddev drush en devel -y && ddev drush en devel_generate -y ddev drush -y en syslog && ddev drush -y config:set syslog.settings identity "$PROJECT_NAME" #You can then view log via `ddev exec tail -f /var/log/nginx/access.log` OR `ddev logs --follow --time`, see more at "https://docs.ddev.com/en/stable/users/usage/commands/#logs" # ======================================================================= # [Install optional DDEV Add-ons] # (phpmyadmin) https://addons.ddev.com/addons/ddev/ddev-phpmyadmin # ddev add-on get ddev/ddev-phpmyadmin # ddev snapshot && ddev restart # (adminer) https://addons.ddev.com/addons/ddev/ddev-adminer # ddev add-on get ddev/ddev-adminer # ddev snapshot && ddev restart # (solr search) https://addons.ddev.com/addons/ddev/ddev-drupal-solr # ddev add-on get ddev/ddev-drupal-solr # ddev snapshot && ddev restart # ddev composer require drush/drush drupal/search_api_solr # ddev drush en -y search_api_solr # ======================================================================= # [Installing and configuring themes] # (gin theme) ddev composer require 'drupal/gin' ddev drush theme:enable gin -y ddev drush config-set system.theme admin gin -y ddev drush en gin_toolbar -y ddev drush config-set gin.settings classic_toolbar horizontal -y ddev drush config-set gin.settings preset_accent_color neutral -y ddev drush config-set gin.settings preset_focus_color neutral -y # (bootstrap_barrio theme) # ddev composer require 'drupal/bootstrap_barrio' # ddev drush then bootstrap_barrio -y # (radix theme & sub-theme) # ddev composer require 'drupal/radix:^6.0' # [Custom Theme] [radix] install radix theme # ddev drush --include="./themes/contrib/radix" radix:create 'radix_custom' # [Custom Theme] [radix] create radix sub-theme radix_custom # ddev drush theme:enable radix_custom -y # [Custom Theme] [radix] enable radix_custom theme # ddev drush config-set system.theme default radix_custom -y # [Custom Theme] [radix] set radix_custom as default theme # cd "./themes/custom/radix_custom" # [Custom Theme] [radix] change directory to radix_custom # nvm use # [Custom Theme] [radix] use nvm # npm run postinstall # [Custom Theme] [radix] run postinstall # npm install # [Custom Theme] [radix] install dependencies # npm run production # [Custom Theme] [radix] run bundler # =======================================================================