A delicious blend of gulp tasks combined into a configurable asset pipeline and static site builder
Adds Twig support to the HTML task (the default is still Nunjucks).
Basic use: in task-config.js
, set html.templateLanguage
to twig
.
html : {
templateLanguage: 'twig',
},
Advanced use: pass gulp-twig
options in task-config.js
's html.twig
html: {
templateLanguage: 'twig',
twig: {…},
},
Adds YAML support to the HTML task. Just give your YAML dataFile
the extension .yaml
or .yml
.
Users can configure plugins
and options
in task-config.js
's stylesheets.postcss
. See gulp-postcss for more info.
Basic usage is unchanged. Source stylesheets will be preprocessed with Sass unless stylesheets.sass
is false
. You can still call out Sass explicitly if you like:
// in task-config.js
stylesheets: true
A task-config
with custom PostCSS will look like this
// task-config.js
// must also add the dependencies (`(npm i|yarn add) some-plugin some-option`)
var somePlugin = require('some-plugin')
var someOption = require('some-option')
var postCssPlugins = [somePlugin()]
var postCssOptions = {someOption}
module.exports = {
// ...
stylesheets: {
// sass: true is implied
postcss: {
plugins: postCssPlugins,
options: postCssOptions
}
}
// ...
}
Autoprefixer and cssnano are injected into the PostCSS plugins list, and do not need to be specified. However custom Autoprefixer and/or cssnano configs are respected if provided. That looks like this:
// task-config.js
// must also add the autoprefixer dependency (`(npm i|yarn add) autoprefixer`)
var autoprefixer = require('autoprefixer')
var postCssPlugins = [
autoprefixer({
grid: "autoplace"
})
]
module.exports = {
// ...
stylesheets: {
// sass: true is implied
postcss: {
plugins: postCssPlugins
}
}
// ...
}
Primarily a security and dependency updates release.
Breaking change: in task-config.js
's javascripts.babel.presets
, es2015
must be replaced with env
:
babel: {
presets: ['es2015', 'stage-1']
}
becomes
babel: {
presets: ['env', 'stage-1']
}
For more info, see PR #573
Also includes PR #574
fixes a bug in which project pathing in Windows environments did not work as expected
tasks were breaking due to fancy-log
syntax being slightly different than gulp-util.log
. this addresses those breaks.
devtool
, uglifyJsPlugin
, and definePlugin
environment optionsuglifyJsPlugin.sourceMap
to true
if production.devtool
is definedpublicPath
to Craft task-config.js #432