A tiny markdown validator. It understands GFM auto-links, and returns an exitCode of 1 if any rules are violated, making it suitable for use in CI environments. It is in use by the OpenAPI Specification, the RAML Specification and the AsyncAPI Specification, amongst others.
- Undefined internal link targets -
missingAnchors[]
- Duplicated internal link targets -
duplicatedAnchors[]
- Anchors containing the # character -
anchorsWithHash[]
- Links with empty text -
anchorsWithEmptyText[]
- Local Refs without # character -
localRefNoHash[]
- Images without an
alt
tag -imagesWithMissingAlt[]
yaml
,json
,xml
orabnf
examples which do not parse -nonParsingExamples[]
- Internal manually-defined anchors with no links pointing to them
- Code-blocks with no language specified -
codeBlocksWithNoLanguage
- Four or more leading backticks at the beginning of a line
Options:
-d, --debug enable debug mode [boolean]
-s, --save save intermediary html [boolean]
-w, --warnings enable warnings [boolean]
-h, --help Show help [boolean]
const mdv = require('mdv');
const options = {};
const result = mdv.validate(markdownString,options);
{ imagesWithMissingAlt: 0,
source: '../openapi-specification/versions/2.0.md',
missingAnchors:
[ { name: 'dataTypeType', defined: 0, seen: 1 },
{ name: 'stType', defined: 0, seen: 2 },
{ name: 'securityDefinitions', defined: 0, seen: 1 } ],
duplicatedAnchors:
[ { name: 'itemsMaximum', defined: 2, seen: 0, auto: false },
{ name: 'headerMaximum', defined: 2, seen: 0, auto: false } ],
anchorsWithHash: [],
anchorsWithEmptyText: [],
codeBlocksWithNoLanguage: 1 }