/emulsify

Emulsify: Pattern Lab + Drupal 8

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

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.

Requirements

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

Quickstart (Emulsify Standalone)

Emulsify supports both NPM and YARN.

Install with NPM: composer create-project fourkitchens/emulsify --stability dev --no-interaction emulsify && cd emulsify && npm install

Install with Yarn: composer create-project fourkitchens/emulsify --stability dev --no-interaction emulsify && cd emulsify && yarn install

Drupal-specific installation

In a Composer-based Drupal install (recommended)

  1. composer require fourkitchens/emulsify
  2. Enable Emulsify and its dependencies drush en emulsify components unified_twig_ext -y
  3. Optional: Create cloned theme drush emulsify "THEME NAME" (You may need to run drush cc drush to clear the drush cache. Also, you can run drush help emulsify for other available options)
  4. If you created a cloned theme, cd web/themes/custom/THEME_NAME/. If not, cd web/themes/contrib/emulsify/
  5. npm install or yarn install
  6. If you created a cloned theme, disable the original Emulsify theme drush pmu emulsify -y and enable your new theme in Drupal and set to default.

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.

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 (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)

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

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