2.0.3 • Published 1 month ago

metalsmith-html-linter v2.0.3

Weekly downloads
11
License
GPL-3.0-or-later
Repository
github
Last release
1 month ago

metalsmith-html-linter

npm: version npm: downloads

Snyk: vulnerabilities codecov: coverage license

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.

Changelog

Changelog

2.0.3

1 month ago

2.0.2

5 months ago

2.0.1

5 months ago

1.0.0

6 months ago

0.8.6

6 months ago

2.0.0

6 months ago

0.9.0

6 months ago

0.8.5

1 year ago

0.8.4

1 year ago

0.8.3

2 years ago

0.8.1

2 years ago

0.8.2

2 years ago

0.8.0

2 years ago

0.7.0

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.6.0

2 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.4

3 years ago

0.3.3

3 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.0

4 years ago

0.0.1

4 years ago