Gulp PostHTML Plugin
npm install gulp-posthtml[![npm][npm]][npm-url]
[![node][node]][node-url]
[![deps][deps]][deps-url]
[![tests][tests]][tests-url]
[![coverage][cover]][cover-url]
[![code style][style]][style-url]
[![chat][chat]][chat-url]
``bash`
npm i -D gulp-posthtml
`js
import { task, src, dest } from 'gulp'
import posthtml from 'gulp-posthtml'
task('html', () => {
return src('src/*.html')
.pipe(posthtml())
.pipe(dest('dest'))
})
`
|Name|Type|Default|Description|
|:--:|:--:|:-----:|:----------|
|plugins|{Array}|[]|PostHTML Plugins|
|Name|Type|Default|Description|
|:--:|:--:|:-----:|:----------|
|options|{Object}|{}|PostHTML Options|
gulpfile.js
`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'))
})
`
|Name|Type|Default|Description|
|:--:|:--:|:-----:|:----------|
|plugins|{Array}|[]|PostHTML Plugins|options
||{Object}|{}|PostHTML Options|
gulpfile.js
`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'))
})
`
#### 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
`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
`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 |
[npm]: https://img.shields.io/npm/v/gulp-posthtml.svg
[npm-url]: https://npmjs.com/package/gulp-posthtml
[node]: https://img.shields.io/node/v/gulp-posthtml.svg
[node-url]: https://nodejs.org/
[deps]: https://david-dm.org/posthtml/gulp-posthtml.svg
[deps-url]: https://david-dm.org/posthtml/gulp-posthtml
[tests]: http://img.shields.io/travis/posthtml/gulp-posthtml.svg
[tests-url]: https://travis-ci.org/posthtml/gulp-posthtml
[cover]: https://coveralls.io/repos/github/posthtml/gulp-posthtml/badge.svg
[cover-url]: https://coveralls.io/github/posthtml/gulp-posthtml
[style]: https://img.shields.io/badge/code%20style-standard-yellow.svg
[style-url]: http://standardjs.com/
[chat]: https://badges.gitter.im/posthtml/posthtml.svg
[chat-url]: https://gitter.im/posthtml/posthtml