JavaScript HTML PHP CSS Shell
Clone or download
Latest commit 94d5900 Jul 7, 2018
Failed to load latest commit information.
components Merge pull request #269 from shaal/fixhorizontalscroll Jul 7, 2018
fonts removing cruft Aug 11, 2016
images Updated emulsify-gulp to ^2.0.0 and updated yarn.lock. Jun 22, 2018
scripts switched back to core pattern lab Oct 12, 2017
templates Merge branch 'develop' into 177-view-example Jun 1, 2018
.editorconfig initial commit Aug 10, 2016
.gitignore Removed duplicate line from .gitignore. May 29, 2018
.stylelintrc changes for dependency updates Jul 24, 2017
LICENSE.txt changed license to GPLv2 Jun 13, 2017 Updated composer install command to install 'stable' versions Jun 22, 2018
composer.json Removed git repos now that everything's on Packagist. Aug 17, 2017
composer.lock Cleaned up base pl styles. May 24, 2018
emulsify.breakpoints.yml code support for responsive images in components Jan 29, 2018 Emulsify renaming Nov 9, 2016
emulsify.libraries.yml switch from background to inline SVG, cleanup Feb 27, 2018
emulsify.php Fixing the function _emulsify_alter_files (code by @ccjjmartin) Jul 5, 2018
emulsify.theme Remove experimental code. Aug 3, 2017
gulpfile.js remove unnecessary iife Jan 29, 2018
package-lock.json Pinned emulsify-gulp to 2.1.0 to fix icons. Jun 22, 2018
package.json Updated emulsify-gulp to ^2.0.0 and updated yarn.lock. Jun 22, 2018
screenshot.png Updated the screenshot to something Emulsify-specific. Mar 4, 2017
yarn.lock Updated emulsify-gulp to 2.3 in yarn.lock. Jun 22, 2018

Four Kitchens

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.


  1. Node (we recommend NVM)
  2. Gulp
  3. Composer
  4. Optional: Yarn

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

Drupal installation

In a Composer-based Drupal install (recommended)

  1. Require emulsify in your project composer require fourkitchens/emulsify
  2. Move into the original emulsify theme cd web/themes/contrib/emulsify/
  3. Create your new theme by cloning emulsify php emulsify.php "THEME NAME" (Run php emulsify.php -h for other available options)
  4. Move into your theme directory cd web/themes/custom/THEME_NAME/
  5. Install the theme dependencies npm install or yarn install
  6. Enable your theme and its dependencies drush then THEME_NAME -y && drush en components unified_twig_ext -y
  7. Proceed to the "Starting Pattern Lab…" section below

If you're not using a Composer-based Drupal install (e.g. tarball download from 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

The start command spins up a local server, compiles everything (runs all required gulp tasks), and watches for changes.

  1. npm start or yarn start

Highlighted Features

LightweightEmulsify 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 (
Performance Testing Support for testing via Google PageSpeed Insights and (
Automated Github Deployment Deploy your Pattern Lab instance as a Github page (

Emulsify's Built in Components with Drupal support

Forms, tables, video, accordion, cards, breadcrumbs, tabs, pager, status messages, grid

View a demo of these default Emulsify components.


Documentation is currently provided in the Wiki. Here are a few basic links:

General Orientation

See Orientation

We have a series of videos for you to learn more about Emulsify.

For Designers (Prototyping)

See Designers

For Drupal 8 Developers

See Drupal Usage

Gulp Configuration

See Gulp Config