Package Exports
- posthtml-load-plugins
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (posthtml-load-plugins) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Autoload Plugins for PostHTML
Install
(sudo) npm i -D posthtml-load-pluginsUsage
Plugins will be loaded directly from your projects package.json file or local installed plugins.
Install them as usual with npm i -S or npm i -D or npm i.
After installing your plugins there a three ways to declare your plugin options.
- Set options directly as arguments.
- Set options in your package.json.
- Create a separated [name].[ext] file, where [name] is any name you like and [ext] should be either
.jsor.json. For an example of well formed options file see below. - For plugins not having rules installed locally will be used default settings.
- Pretty reporting about not installed plugins.

Options
package.json
{
"dependencies": {
"posthtml-bem": "^0.2.2",
"posthtml-each": "^1.0.1",
"posthtml-include": "^1.0.2"
},
"devDependencies": {
"posthtml-style-to-file": "^0.1.1"
},
"posthtml": {
"bem": {
"elemPrefix": "__",
"modPrefix": "-",
"modDlmtr": "--"
},
"include": {
"root": "./",
"encoding": "utf-8"
},
"styleToFile": {
"path": "./dist/style.css"
}
}
}[name].[ext]
JS
```js
module.exports = {
bem: {
elemPrefix: '__',
modPrefix: '-',
modDlmtr: '--'
},
include: {
root: './',
encoding: 'utf-8'
},
styleToFile: {
path: './dist/style.css'
}
}or
module.exports = [
{
bem: {
elemPrefix: '__',
modPrefix: '-',
modDlmtr: '--'
},
include: {
root: './',
encoding: 'utf-8'
}
}, {
styleToFile: {
path: './dist/style.css'
}
}
]JSON
{
"bem": {
"elemPrefix": "__",
"modPrefix": "-",
"modDlmtr": "--"
},
"include": {
"root": "./",
"encoding": "utf-8"
},
"styleToFile": {
"path": "./dist/style.css"
}
}Usage
For general usage and build process integration see PostHTML Docs
Examples using Node API
Default
const fs = require('fs');
const posthtml = require('posthtml');
const plugins = require('posthtml-load-plugins');
let html = fs.readFileSync('./index.html', 'utf8');
posthtml(plugins([object|array[objects]|file] /* options */, [object|array[objects]|file] /* extends */))
.process(html)
.then(result => console.log(result.html));Options file (e.g posthtml.json)
const fs = require('fs');
const posthtml = require('posthtml');
const plugins = require('posthtml-load-plugins')('posthtml.(js|json)');
let html = fs.readFileSync('./index.html', 'utf8');
posthtml(plugins)
.process(html)
.then(result => console.log(result.html));Extends options
const fs = require('fs');
const posthtml = require('posthtml');
const plugins = require('posthtml-load-plugins')('posthtml.(js|json)', {"posthtml-bem": {elemPrefix: '__'}});
let html = fs.readFileSync('./index.html', 'utf8');
posthtml(plugins)
.process(html)
.then(result => console.log(result.html));Use with posthtml-standard-config
const fs = require('fs');
const posthtml = require('posthtml');
const standardConfig = require('posthtml-standard-config');
const plugins = require('posthtml-load-plugins')(standardConfig);
let html = fs.readFileSync('./index.html', 'utf8');
posthtml(plugins)
.process(html)
.then(result => console.log(result.html));Contributors
| Ivan Demidov |
License
MIT