posthtml-load-plugins

0.11.8 • Public • Published

npm version Dependencies Build Status Coverage Status XO Code Style

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.

PostHTML Plugins

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

GitScrum
Ivan Demidov

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i posthtml-load-plugins

Weekly Downloads

32

Version

0.11.8

License

MIT

Last publish

Collaborators

  • cossssmin
  • scrum
  • voischev
  • michael-ciniawsky