posthtml-load-plugins
v0.11.8
Published
Autoload Plugins for PostHTML
Downloads
96
Keywords
Readme
Autoload Plugins for PostHTML
Install
(sudo) npm i -D posthtml-load-plugins
Usage
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
.js
or.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