npm i -D gulp-posthtml
import { task, src, dest } from 'gulp'
import posthtml from 'gulp-posthtml'
task('html', () => {
return src('src/*.html')
.pipe(posthtml())
.pipe(dest('dest'))
})
Plugins
Name | Type | Default | Description |
---|---|---|---|
plugins |
{Array} |
[] |
PostHTML Plugins |
Options
Name | Type | Default | Description |
---|---|---|---|
options |
{Object} |
{} |
PostHTML Options |
gulpfile.js
import { task, src, dest } from 'gulp'
import tap from 'gulp-tap'
import rename from 'gulp-rename'
import posthtml from 'gulp-posthtml'
task('html', () => {
let path
const plugins = [ require('posthtml-include')({ root: path }) ]
const options = { parser: require('posthtml-sugarml')() }
return src('src/*.html')
.pipe(tap((file) => path = file.path))
.pipe(posthtml(plugins, options))
.pipe(rename({ ext: '.html' }))
.pipe(dest('dest'))
})
Config
Name | Type | Default | Description |
---|---|---|---|
plugins |
{Array} |
[] |
PostHTML Plugins |
options |
{Object} |
{} |
PostHTML Options |
gulpfile.js
import { task, src, dest } from 'gulp'
import rename from 'gulp-rename'
import posthtml from 'gulp-posthtml'
task('ssml', () => {
const config = (file) => ({
plugins: [ require('posthtml-include')({ root: file.dirname }) ],
options: { parser: require('posthtml-sugarml')() }
})
return src('src/*.sml')
.pipe(posthtml(config))
.pipe(rename({ ext: '.html' }))
.pipe(dest('dest'))
})
posthtml.config.js
Context
Name | Type | Default | Description |
---|---|---|---|
env |
{String} |
'development' |
process.env.NODE_ENV |
file |
{Object} |
dirname, basename, extname |
File |
options |
{Object} |
{} |
Options (Parser, Render, Plugin Options) |
posthtml.config.js
module.exports = ({ file, options, env }) => ({
parser: 'posthtml-sugarml'
plugins: {
'posthtml-include': { root: file.dirname },
'posthtm-expressions': { locals: options.locals }
'htmlnano': env === 'production' ? {} : false
}
})
gulpfile.js
import { task, src, dest } from 'gulp'
import rename from 'gulp-rename'
import posthtml from 'gulp-posthtml'
task('ssml', () => {
const ctx = { locals: { a: 'Hello World!'} }
return src('src/*.sml')
.pipe(posthtml(ctx))
.pipe(rename({ ext: '.html' }))
.pipe(dest('dest'))
})
Ivan Voischev |
Michael Ciniawsky |