Skip to content

Core configuration for Pattern Lab Starter/Particle v9

Notifications You must be signed in to change notification settings

joaogarin/p2-theme-core

This branch is 28 commits behind phase2/p2-theme-core:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

51cf261 · Dec 20, 2018
Jun 13, 2018
Jun 13, 2018
Sep 7, 2016
Mar 29, 2017
Oct 6, 2016
Jan 18, 2016
Jun 13, 2018
Dec 28, 2017
Oct 3, 2016
Jun 13, 2018
Jun 13, 2018
Dec 20, 2018
Dec 20, 2018
Jun 13, 2018

Repository files navigation

Read the Docs Badge Build Status

NPM

NPM

Prerequisites

  • p2-theme-core v9: Node >=4.0.0 >=8.0.0
  • p2-theme-core v10: Node >=6.0.0 <=8.0.0

This is one of two pieces of our themes:

  • pattern-lab-starter - a starter set of files for Drupal theming that includes a Twig powered Pattern Lab and beginning Sass & other front end tools. Uses p2-theme-core for automation.
  • p2-theme-core (this repo) - the core gulp tasks that handles most of the theme's automation.

Phase2 Theme Core

Ideally, the changes to how a theme install works would be done by passing in a different config.js.

More docs in docs/ folder – these docs are hosted in Read the Docs!

Features

  • Scss => CSS compiling with Libsass, PostCSS, linting, and SourceMaps
  • Pattern Lab Twig compiling & BrowserSync live reload and style injection
  • SVG => Font Icons compiling with support for adding mixins and classes to Scss along with a demo page in Pattern Lab
  • JS compiling via Babel, linting and aggregation
  • WebPack module bundling
  • Drupal file watching to trigger Drush cache clears

All is easily configurable by changing values in your config.js file in your project. These values are merged into the config.default.js file - look there for the available options and defaults.

Installation

It's best to look at how pattern-lab-starter implements this, but it's basically this:

npm install p2-theme-core --save
cp node_modules/p2-theme-core/config.default.js gulpconfig.js

Make a gulpfile.js with:

'use strict';
var gulp = require('gulp');
var config = require('./gulpconfig.js');
var tasks = {
  'compile': [],
  'watch': [],
  'validate': [],
  'clean': [],
  'default': []
};

require('p2-theme-core')(gulp, config, tasks);

gulp.task('clean', gulp.parallel(tasks.clean));
gulp.task('compile', gulp.series(
  'clean',
  gulp.parallel(tasks.compile)
));
gulp.task('validate', gulp.parallel(tasks.validate));
gulp.task('watch', gulp.parallel(tasks.watch));
tasks.default.push('watch');
gulp.task('default', gulp.series(
  'compile',
  gulp.parallel(tasks.default)
));

About

Core configuration for Pattern Lab Starter/Particle v9

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%