Emulsify: Pattern Lab + Drupal 8
Component-driven prototyping tool using Pattern Lab v2 automated via Gulp/NPM. Also serves as a starterkit Drupal 8 theme.
Prototyping (separate from Drupal, Wordpress, etc.)
Emulsify supports both NPM and YARN.
Install with NPM:
composer create-project fourkitchens/emulsify:^2.0 --stability dev --no-interaction emulsify && cd emulsify && npm install
Install with Yarn:
composer create-project fourkitchens/emulsify:^2.0 --stability dev --no-interaction emulsify && cd emulsify && yarn install
In a Composer-based Drupal install (recommended)
- Require emulsify in your project
composer require fourkitchens/emulsify
- Move into the original emulsify theme
- Create your new theme by cloning emulsify
php emulsify.php "THEME NAME"(Run
php emulsify.php -hfor other available options)
- Move into your theme directory
- Install the theme dependencies
- Enable your theme and its dependencies
drush then THEME_NAME -y && drush en components unified_twig_ext -y
- Proceed to the "Starting Pattern Lab…" section below
If you're not using a Composer-based Drupal install (e.g. tarball download from drupal.org) installation instructions can be found on the Wiki.
Troubleshooting Installation: See Drupal Installation FAQ.
Note: Once you've created your custom theme, you can remove Emulsify as a dependency of your project. If you'd like to get updates as we push them, solely for educational/best-practice information, feel free to leave it in and receive the updates. Updating Emulsify will not affect your custom theme in any way.
Starting Pattern Lab and watch task
start command spins up a local server, compiles everything (runs all required gulp tasks), and watches for changes.
|Lightweight||✔||Emulsify is focused on being as lightweight as possible.|
|SVG sprite support||✔||Automated support for creating SVG sprites mixins/classes.|
|Stock Drupal templates||✔||Templates from Stable theme - see /templates directory|
|Stock Components||✔||with Drupal support built-in (https://github.com/fourkitchens/emulsify#emulsifys-built-in-components-with-drupal-support)|
|Performance Testing||✔||Support for testing via Google PageSpeed Insights and WebPageTest.org (https://github.com/fourkitchens/emulsify/wiki/Gulp-Config#performance-testing)|
|Automated Github Deployment||✔||Deploy your Pattern Lab instance as a Github page (https://github.com/fourkitchens/emulsify/wiki/Gulp-Config#deployment)|
Forms, tables, video, accordion, cards, breadcrumbs, tabs, pager, status messages, grid Emulsify's Built in Components with Drupal support
Documentation is currently provided in the Wiki. Here are a few basic links:
We have a series of videos for you to learn more about Emulsify.
For Designers (Prototyping)
For Drupal 8 Developers
See Drupal Usage
See Gulp Config