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.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!
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.
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)
));