Skip to content

posthtml/gulp-posthtml

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

npm node deps tests coverage code style chat

Gulp PostHTML

Install

npm i -D gulp-posthtml

Usage

import { task, src, dest } from 'gulp'

import posthtml from 'gulp-posthtml'

task('html', () => {
  return src('src/*.html')
    .pipe(posthtml())
    .pipe(dest('dest'))
})

Options

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'))
})

Maintainer


Ivan Voischev

Contributors


Michael Ciniawsky