2.4 KiB
Development on documentation
tl;dr
You will need to use following npm scripts
before creating a pull request!
npm install
npm test
Features
- Linting of markdown documents
- Link checking
Specifications
This repository checks against following specification:
Prerequisites
Install the Node.js 16 Maintenance version of Node.js (which includes npm).
Installation
For linting and all the checks you need several npm packages. The following command installs all necessary npm dependencies:
npm install
This installs all dependencies into a local node_modules
folder.
Checks
To enforce specification conformity there are several checks defined as npm run-script
targets. To run all checks please execute:
npm test
Individual checks
If you want to run individual checks see the targets and the description below. Every individual check can be run like so:
npm run-script my-individual-check
See the package.json file for the currently available scripts.
Markdown linter
Markdown linting. See the rules here.
npm run-script markdownlint
Markdown linter overrides
Sometimes it is not possible to be commonmark conform. In these rare cases an inline tag to skip linting is possible.
Candidates are tables.
<!-- markdownlint-disable-->
| Column 1 | Column 2 | Column 3 |
|----------|----------|----------|
<!-- markdownlint-enable-->
Additionally HTML image tags can be allowed globally. This is useful if you need to resize images, since commonmark has no annotation for this.
This is done with a .markdownlint.json override file which would look something like this:
{
"no-inline-html": {
"allowed_elements": [
"img",
"table"
]
}
}
For more information how to tweak overrides consult the markdown linter documentation mentioned above.
Link resolver
All cross references and external URLs are resolved.
npm run-script checklinks
Inconsiderate language scanner
This checks against profanity and inconsiderate language. This is helpful for non-natives to detect words that could be inconsiderate. This utilizes alex
npm run-script detect-inconsiderate-language