JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 26
  • Score
    100M100P100Q68149F
  • License MIT

Autoload Plugins for PostHTML

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

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