Component-driven prototyping tool using Pattern Lab v2 automated via Gulp/NPM. Also serves as a starterkit Drupal 8 theme.
- PHP 7.1
- Node (we recommend NVM)
- Gulp
- Composer
- Optional: Yarn
Emulsify supports both NPM and YARN.
git clone [email protected]:palantirnet/emulsify.git
composer install
cd emulsify
yarn
(or npm install
)
yarn start
(or npm start
)
- Require emulsify in your project
composer require fourkitchens/emulsify
- Move into the original emulsify theme
cd web/themes/contrib/emulsify/
- Create your new theme by cloning emulsify
php emulsify.php "THEME NAME"
(Runphp emulsify.php -h
for other available options) - Move into your theme directory
cd web/themes/custom/THEME_NAME/
- Install the theme dependencies
npm install
oryarn install
- 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.
The start
command spins up a local server, compiles everything (runs all required gulp tasks), and watches for changes.
npm start
oryarn start
Lightweight | ✔ | Emulsify is focused on being as lightweight as possible. |
SVG sprite support | ✔ | Automated support for creating SVG sprites. |
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) |
Automated Accessibility Testing | ✔ | Accessibility Testing using pa11y (https://github.com/fourkitchens/emulsify/wiki/Accessibility-Testing) |
View a demo of these default Emulsify components.
Documentation is currently provided in the Wiki. Here are a few basic links:
See Orientation
We have a series of videos for you to learn more about Emulsify.
See Designers
See Drupal Usage
See Gulp Config