1.0.0 • Published 9 years ago
posthtml-load-options v1.0.0
npm i -D posthtml-load-optionspackage.json
Create a posthtml section in package.json.
Root
|– client
|– public
|
|- package.json{
"dependencies": {
"posthtml-sugarml": "^1.0.0"
},
"posthtml": {
"parser": "posthtml-sugarss",
"from": "path/to/src/file.html",
"to": "path/to/dest/file.html"
}
}.posthtmlrc
Create a .posthtmlrc file.
Root
|– client
|– public
|
|-.posthtmlrc
|- package.json{
"parser": "posthtml-sugarss",
"from": "path/to/src/file.html",
"to": "path/to/dest/file.html"
}posthtml.config.js
Create a posthtml.config.js file.
Root
|– client
|– public
|
|- posthtml.config.js
|- package.jsonmodule.exports = (ctx) => {
return {
parser: ctx.ext ==='.sml' ? 'posthtml-sugarss' : false,
from: 'path/to/src/file.html',
to: 'path/to/dest/file.html'
}
}parser:
parser: 'posthtml-sugarss'from:
from: 'path/to/dest/file.html'to:
to: 'path/to/dest/file.html'render:
render: 'posthtml-jsx'Context
When using a function in (posthtml.config.js), it's possible to pass context to posthtml-load-options, which will be evaluated before loading your options. By default ctx.env (process.env.NODE_ENV) and ctx.cwd (process.cwd()) are available.
posthtml.config.js
export default config = (ctx) => {
return {
parser: ctx.ext === '.sml' ? 'posthtml-sugarml' : false,
from: 'client/index.html',
to: 'public/index.html'
}
}import { dirname } from 'path'
import { readFileSync } from 'fs'
import posthtml from 'posthtml'
import optionsrc from 'posthtml-load-options'
const sml = readFileSync('./client/index.sml', 'utf8')
const ctx = { ext: dirname(sml) }
optionsrc(ctx).then((options) => {
posthtml()
.process(sml, options)
.then((result) => console.log(result.html))
}))1.0.0
9 years ago
1.0.0-alpha
9 years ago