elevatedthird / paragon-base
A Composer-based installation template for the Paragon Drupal 8 Distribution
Installs: 714
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 15
Forks: 2
Open Issues: 14
Type:project
Requires
- bower-asset/chosen: ^1.8
- bower-asset/lazysizes: ^5.2
- composer/installers: ^1.10
- cweagans/composer-patches: ~1.0
- drupal/address: ^1.0
- drupal/admin_toolbar: ^2.0
- drupal/advagg: ^4.0
- drupal/allowed_formats: ^1.1
- drupal/backup_migrate: ^5.0@RC
- drupal/better_exposed_filters: ^5.0@beta
- drupal/block_field: ^1.0@alpha
- drupal/chosen: ^2.0
- drupal/ckeditorheight: ^1.0
- drupal/coffee: ^1.0
- drupal/components: ^2.2
- drupal/config_update: ^1.0
- drupal/console: ~1.9
- drupal/core: 8.9.13
- drupal/core-composer-scaffold: ~9.1.3
- drupal/csv_serialization: ^2.0@beta
- drupal/devel: ^2.0
- drupal/embed: ^1.0
- drupal/entity: ^1.0
- drupal/entity_browser: ^2.5
- drupal/entity_embed: ^1.0
- drupal/entity_reference_revisions: ^1.3
- drupal/environment_indicator: ~4.0.0
- drupal/fast_404: ^2.0@alpha
- drupal/field_group: ^3.0
- drupal/field_hidden: ^1.0
- drupal/field_tools: dev-1.x
- drupal/focal_point: ^1.0
- drupal/gin: ^3.0@alpha
- drupal/gtm: ^1.6
- drupal/http_cache_control: ^2.0
- drupal/imageapi_optimize: ~4.0.0@beta
- drupal/imageapi_optimize_gd: ^2.0@beta
- drupal/imageapi_optimize_webp: ^2.0@beta
- drupal/inline_entity_form: ^1.0
- drupal/layout_builder_browser: ^1.1
- drupal/layout_builder_modal: ^1.1
- drupal/layout_builder_restrictions: ^2.7
- drupal/lazy: ^3.4
- drupal/lb_claro: ^1.0@beta
- drupal/link_attributes: ^1.0
- drupal/linkit: ~6.0.0@beta
- drupal/login_security: ^1.0
- drupal/mailsystem: ^4.0
- drupal/markup: ^1.0
- drupal/media_responsive_thumbnail: ^1.0
- drupal/memcache: ^2.0
- drupal/menu_block: ^1.0
- drupal/metatag: ^1.0
- drupal/name: ^1.0
- drupal/paragon: dev-1.x
- drupal/paragon_adminkit: ^1.0@alpha
- drupal/paragon_themekit: ^1.0@alpha
- drupal/paragraphs: ^1.0
- drupal/paragraphs_browser: ^1.0
- drupal/path_redirect_import: ^1.0@beta
- drupal/pathauto: ^1.0
- drupal/purge: ^3.0@beta
- drupal/redirect: ^1.0
- drupal/robotstxt: ^1.4
- drupal/scheduler: ^1.0
- drupal/scheduler_content_moderation_integration: ^1.3
- drupal/search_api: ^1.0
- drupal/search_api_solr: ^1.0
- drupal/seckit: ~2.0.0@RC
- drupal/security_review: ^1.0
- drupal/shield: ^1.0
- drupal/simple_sitemap: ^3.0
- drupal/site_settings: ^1.0
- drupal/sitemap: ^2.0@beta
- drupal/smart_trim: ^1.0
- drupal/svg_image_field: ^1.2
- drupal/svg_upload_sanitizer: ^1.0@alpha
- drupal/swiftmailer: ^2.0
- drupal/system_status: ^2.0
- drupal/twig_field_value: ~2.0.0
- drupal/ultimate_cron: ^2.0
- drupal/username_enumeration_prevention: ^1.1
- drupal/views_bulk_edit: ^2.0
- drupal/views_bulk_operations: ^3.8
- drush/drush: ~10.0
- npm-asset/jquery-ui-touch-punch: dev-master
- oomphinc/composer-installers-extender: ^2.0
- symfony/css-selector: ~3.3
- zaporylie/composer-drupal-optimizations: ^1.1
Requires (Dev)
- drupal/drupal-extension: ^3.2
- geerlingguy/drupal-vm: ~6.0.0
Conflicts
- dev-master
- 8.1.0-alpha31
- 8.1.0-alpha30
- 8.1.0-alpha29
- 8.1.0-alpha28
- 8.1.0-alpha27
- 8.1.0-alpha26
- 8.1.0-alpha25
- 8.1.0-alpha24
- 8.1.0-alpha23
- 8.1.0-alpha22
- 8.1.0-alpha21
- 8.1.0-alpha20
- 8.1.0-alpha19
- 8.1.0-alpha18
- 8.1.0-alpha17
- 8.1.0-alpha16
- 8.1.0-alpha15
- 8.1.0-alpha14
- 8.1.0-alpha13
- 8.1.0-alpha12
- 8.1.0-alpha10
- 8.1.0-alpha9
- 8.1.0-alpha8
- 8.1.0-alpha7
- 8.1.0-alpha6
- 8.1.0-alpha5
- 8.1.0-alpha4
- 8.1.0-alpha3
- 8.1.0-alpha2
- 8.1.0-alpha1
- 8.1.0-a
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.1
- 2.1.0
- 2.0.0
- 1.0-alpha2
- dev-drupal-11
- dev-latest_10_missing_gib_lb_patch
- dev-feature/remove-allowed-formats
- dev-develop
- dev-feature/E3003-49-install-layout-builder-lock
- dev-feature/E3003-50-install-layout-builder-limit
- dev-feature/starter-components
- dev-19-setup-tugboat-qa
- dev-17-remove-field_meta_summary-from-landing-page-content-type
This package is auto-updated.
Last update: 2025-03-19 21:49:11 UTC
README
Paragon is a Drupal distribution focused on providing a clean starting point for site builds with just the right amount of baked in configuration.This allows developers to focus on building custom functionality, rather than recreating the same standard set of baseline features they’ve built 100 times before.
The intent of this distribution is to create a Drupal install that will be treated as an artifact and maintained independently of this project after the initial installation. As such, rather than making this an official install profile, Paragon is instead managed as a Composer template that heavily leverages drupal/core-composer-scaffold and also includes exported configuration that can be used to install the site.
Prerequisites
- Lando: See Lando requirements.
- Access to Elevated Third Github organization, Paragon-base repository and SSH key setup.
- You must be using Composer 2.
- To install a specific version use this command and pass in the version constraing:
composer self-update 2.0.7
- If you have already installed and need to switch to compsoer 2 run
composer self-update --2
.
- To install a specific version use this command and pass in the version constraing:
Setup instructions
To create a new Paragon installation follow the steps below:
Step #1: Clone repository
- Run the following command:
composer create-project elevatedthird/paragon-base [install_directory_name]
which will clone down the composer template and create all necessary files. - You will prompted to select a hosting environment for your project. Select 'custom' if you don't want platform specific files. You can set up hosting requirements later by running
composer setup-platform
Step #2: Project setup
-
Set up a local site using this newly created site directory. Paragon comes with Lando out of the box, which can be spun up by running
lando start
in the site root. Lando configuration is found in.lando.yml
, and database settings insettings.lando.php
are automatically included insettings.php
. -
Be sure to rename the the app in the .lando.yml file
Step #3: Site setup
- With a local site running, navigate to http://paragon.lndo.site/ (or whichever URL your local site is running on) and proceed with the Drupal installation. When prompted to select an installation profile be sure to select “Use existing configuration”, which will install from the existing configuration in the
/config/default
directory.
Step #4: Database setup
- If using Lando, when prompted to add Drupal database connection details. You can find the connection info by running
lando info
Step #5: Database setup
- Once install completes, be sure to remove the automatically generated database connection details that have most likely been appended to the bottom of
settings.php
, then you should be all set!
Step #6: Setting up Drush
- Run
mkdir -p drush/sites
from the project root
Common commands
Some common commands that may be helpful
lando start/stop
lando poweroff
lando rebuild
- completely rebuilds the site and project containers. This is most useful if you keep running into lando issuescomposer install
composer depends [vendor/package]
composer show [vendor/package]
Xdebug Commands:
lando xdebug debug
: Enables Step Debugging. This can be used to step through your code while it is running, and analyse values of variables.lando xdebug
: Turns off xdebug.lando xdebug develop
: Enables Development Helpers including the overloaded var_dump().lando xdebug coverage
: Enables Code Coverage Analysis to generate code coverage reports, mainly in combination with PHPUnit.lando xdebug gcstats
: Enables Garbage Collection Statistics to collect statistics about PHP's Garbage Collection Mechanism.lando xdebug profile
: EnableEnables Profiling, with which you can analyse performance bottlenecks with tools like KCacheGrind.lando xdebug trace
: Enables the Function Trace feature, which allows you record every function call, including arguments, variable assignment, and return value that is made during a request to a file. The most common xdebug commands are debug and off but these other modes are available as well.
E3 Github Workflows
By default, all Paragon projects have Github Actions enabled. To disable, rename the .github/workflows/main.yml
to main.disable
- Ensure you have invited
hosting@elevatedthird.com
to your project. - Set up the
.env
file located in the project root. These variables will be used as settings for the Github Workflows. - If your site is on Pantheon, you will need to uncomment and fill out the
PANTHEON_SITE
var. - If you are NOT using kinetic, change the
THEME_NAME
variable to the name of the active theme's folder. Also, change the paths to the theme in thebuild-theme
andnpm-install
scripts in composer.json
Specific Platform Instructions
Acquia
- Ensure you have a hooks/dev/post-code-update/drush-deploy.sh
- Ensure that the code below is present in the settings.php.
if (isset($_ENV['AH_SITE_ENVIRONMENT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.acquia.php')) { include $app_root . '/' . $site_path . '/settings.acquia.php'; } }
Pantheon
- Ensure you change the
docroot
folder name toweb
- Change
docroot
toweb
in yourcomposer.json
file - Ensure that the code below is present in the settings.php.
if(isset($_ENV['PANTHEON_ENVIRONMENT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.pantheon.php')) { include $app_root . '/' . $site_path . '/settings.pantheon.php'; } }
Platform
- Ensure your
.platform.app.yaml
deploy hook looks like this
deploy: | set -e php ./drush/platformsh_generate_drush_yml.php cd docroot drush deploy
- Ensure that the code below is present in the settings.php.
if (isset($_ENV['PLATFORM_PROJECT'])) { if (file_exists($app_root . '/' . $site_path . '/settings.platformsh.php')) { include $app_root . '/' . $site_path . '/settings.platformsh.php'; } }
Tugboat Integration
By default, Paragon creates a .tugboat
folder containing configuration related to Tugboat QA. You must set up a tugboat project and connect the Github repo to it.