emulsify-ds/emulsify-design-system

This package is abandoned and no longer maintained. The author suggests using the emulsify-ds/emulsify-drupal package instead.

The official Drupal parent theme for Emulsify that generates custom themes with Storybook development + Webpack build

Maintainers

Package info

github.com/emulsify-ds/emulsify-drupal

Homepage

Type:drupal-theme

pkg:composer/emulsify-ds/emulsify-design-system

Statistics

Installs: 8 747

Dependents: 0

Suggesters: 0

Stars: 96

Open Issues: 6


README

Emulsify Design System

Emulsify Drupal

Emulsify is an open-source toolset for creating and implementing design systems on your website

Storybook development, Webpack build, and Drupal 10/11 parent theme

Emulsify Drupal provides a Storybook component library, a Webpack development environment, and a Drupal parent theme for Drupal 10 and 11.

The 6.x compatibility floor is Drupal ^10.3 || ^11 for existing installs. Release readiness CI targets currently relevant Drupal 10 and 11 minors rather than presenting Drupal 10.3 as the recommended production target.

emulsify remains the runtime parent theme for generated themes. The whisk directory is the source used by Emulsify Tools to generate subthemes and is not intended to be enabled directly on a site.

In the 6.x series, stable9 remains a fallback base theme while Emulsify progressively takes ownership of the template and render layer it previously inherited.

Documentation

docs.emulsify.info

Quick Links

  1. Installation
  2. Usage
  3. Preparing existing 6.x projects for 7.x

Demo

  1. Storybook

How To

Generate a child theme

If emulsify_tools is installed, you can generate a subtheme with the helper-module Drush command:

drush emulsify my_theme

The helper module also exposes the fully qualified command name:

drush emulsify_tools:bake my_theme

Drupal core Starterkit-based generation is being prepared for the 7.x release line. In 6.x, Emulsify Tools remains the primary supported workflow for generating child themes.

After generation:

  1. Enable the theme:
drush theme:enable my_theme -y
drush config:set system.theme default my_theme -y
drush cr -y
  1. Install the generated theme's frontend dependencies:
cd web/themes/custom/my_theme
npm install
  1. Start the generated theme's local tooling:
npm run develop

Do not enable whisk directly. It is a generation-only starter source.

Contributing

Code of Conduct

The project maintainers have adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contribution Guide

Please also follow the issue template and pull request templates provided. See below for the correct places to post issues:

  1. Emulsify Drupal
  2. Emulsify Tools Drupal Module
  3. Emulsify Twig Extensions

Committing Changes

To facilitate automatic semantic release versioning, we utilize the Conventional Changelog standard through Commitizen. Follow these steps when commiting your work to ensure semantic release can version correctly.

  1. Stage your changes, ensuring they encompass exactly what you wish to change, no more.
  2. Create a Conventional Commit message, either manually or with your preferred commit helper.
  3. Your commit message will be used to create the changelog for the next version that includes that commit.

Author

Emulsify® is a product of Four Kitchens — We make BIG websites.

Contributors

Brian Lewis
Brian Lewis

💻 📖
Randy Oest
Randy Oest

💻 📖
Callin Mullaney
Callin Mullaney

💻 📖
Patrick Coffey
Patrick Coffey

💻 📖
Luke Herrington
Luke Herrington

💻 📖
Aaron Couch
Aaron Couch

💻 📖
Marc Berger
Marc Berger

💻 📖
James Todd
James Todd

💻 📖
Kurt Trowbridge
Kurt Trowbridge

💻 📖
Chris Martin
Chris Martin

💻 📖
Adam Erickson
Adam Erickson

💻 📖
Chris Runo
Chris Runo

💻 📖
Andy Carlberg
Andy Carlberg

💻 📖
eatsmarter-benny
eatsmarter-benny

💻 📖
Brian Perry
Brian Perry

💻 📖
Israel Shmueli
Israel Shmueli

💻 📖
John Karahalis
John Karahalis

💻 📖
Mihaic100
Mihaic100

💻 📖
Paul Sebborn
Paul Sebborn

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!