metalsmith-html-linter
v2.0.4
Published
A Metalsmith plugin to lint HTML.
Downloads
55
Maintainers
Readme
metalsmith-html-linter
A Metalsmith plugin to lint HTML for syntax and semantics.
This plugin will raise an exception and stop the build if any HTML files are found to be violating any configured linthtml
rules. The goal is to catch any problems before they appear as errors in a browser.
Installation
npm install --save metalsmith-html-linter
JavaScript Usage
import Metalsmith from 'metalsmith';
import linter from 'metalsmith-html-linter';
Metalsmith(__dirname)
.use(linter({
// options here
}))
.build((err) => {
if (err) {
throw err;
}
});
Options
html
(optional)
Type: string
Default: "**/*.html"
A micromatch
glob pattern to find HTML files.
linthtmnl
(optional)
Type: string
Default:
{
"attr-bans": [
"align", "alink", "background", "bgcolor", "border", "cellpadding", "cellspacing", "char", "charoff", "clear", "compact", "frame", "frameborder", "height", "hspace", "link", "marginheight", "marginwidth", "noshade", "nowrap", "rules", "scrolling", "size", "text", "valign", "vlink", "vspace", "width"
],
"attr-req-value": false,
"doctype-first": true,
"id-class-style": false,
"indent-style": false,
"indent-width": false,
"line-end-style": false,
"line-no-trailing-whitespace": false,
"tag-bans": [
"acronym", "applet", "basefont", "big", "center", "dir", "font", "frame", "frameset", "isindex", "noframes", "strike", "tt"
],
"tag-name-lowercase": false,
"title-max-len": false
}
An object of linthtml
options. These will be merged with the default linthtml
options.
Note: linthtml
has an opinionated set of default options inherited from htmllint
that are inconsistent with the HTML5 specification, hence the complicated default.
htmllint
(deprecated)
Type: object
Default: undefined
An object of htmllint
options. These options may break in the future if linthtml
stops supporting them, so the linthtml
option above is preferred.
ignoreTags
(optional)
Type: string[]
Default: ["code", "pre", "svg", "textarea"]
An array of cheerio
selectors of elements to remove before linting. These elements will not show up in any error output.
parallelism
(optional)
Type: number
Default: the number of logical CPU cores available
The maximum number of async operations at a time.