# posthtml-load-plugins **Repository Path**: mirrors_posthtml/posthtml-load-plugins ## Basic Information - **Project Name**: posthtml-load-plugins - **Description**: Autoload Plugins for PostHTML - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2025-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![npm version][npm]][npm-url] [![Dependencies][deps]][deps-url] [![Build Status][travis-image]][travis-url] [![Coverage Status][cover-image]][cover-url] [![XO Code Style][style]][style-url] # Autoload Plugins for [PostHTML](https://github.com/posthtml/posthtml) ## Install ```bash (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](https://maltsev.github.io/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. ![](reporting.jpg) ## Options ### package.json ```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 ```js module.exports = [ { bem: { elemPrefix: '__', modPrefix: '-', modDlmtr: '--' }, include: { root: './', encoding: 'utf-8' } }, { styleToFile: { path: './dist/style.css' } } ] ``` #### JSON ```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](https://github.com/posthtml/posthtml#usage) ### Examples using Node API #### Default ```js 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) ```js 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 ```js 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](https://github.com/StandardHTML/posthtml-standard-config) ```js 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](https://avatars.githubusercontent.com/u/2789192?s=130)](https://github.com/GitScrum) | ---| [Ivan Demidov](https://github.com/GitScrum) | ## License MIT [npm]: https://img.shields.io/npm/v/posthtml-load-plugins.svg [npm-url]: https://www.npmjs.com/package/posthtml-load-plugins [deps]: https://david-dm.org/posthtml/posthtml-load-plugins.svg [deps-url]: https://david-dm.org/posthtml/posthtml-load-plugins [style]: https://img.shields.io/badge/code_style-XO-5ed9c7.svg [style-url]: https://github.com/posthtml/posthtml-load-plugins [travis-url]: https://travis-ci.org/posthtml/posthtml-load-plugins [travis-image]: http://img.shields.io/travis/posthtml/posthtml-load-plugins.svg [cover-image]:https://coveralls.io/repos/github/posthtml/posthtml-load-plugins/badge.svg?branch=master [cover-url]:https://coveralls.io/github/posthtml/posthtml-load-plugins?branch=master