100 lines
3.5 KiB
JSON
100 lines
3.5 KiB
JSON
|
|
// Markdownlint-cli2 Configuration for docs/
|
||
|
|
// Product documentation - inherits from parent with MD040 disabled
|
||
|
|
// See: https://github.com/igorshubovych/markdownlint-cli2
|
||
|
|
|
||
|
|
{
|
||
|
|
"config": {
|
||
|
|
"default": true,
|
||
|
|
|
||
|
|
// Headings - enforce proper hierarchy
|
||
|
|
"MD001": false, // heading-increment (relaxed - allow flexibility)
|
||
|
|
"MD026": { "punctuation": ".,;:!?" }, // heading-punctuation
|
||
|
|
|
||
|
|
// Lists - enforce consistency
|
||
|
|
"MD004": { "style": "consistent" }, // ul-style (consistent list markers)
|
||
|
|
"MD005": false, // inconsistent-indentation (relaxed)
|
||
|
|
"MD007": { "indent": 2 }, // ul-indent
|
||
|
|
"MD029": false, // ol-prefix (allow flexible list numbering)
|
||
|
|
"MD030": { "ul_single": 1, "ol_single": 1, "ul_multi": 1, "ol_multi": 1 },
|
||
|
|
|
||
|
|
// Code blocks - fenced only
|
||
|
|
"MD046": { "style": "fenced" }, // code-block-style
|
||
|
|
|
||
|
|
// MD040 DISABLED FOR DOCS
|
||
|
|
// Product documentation has extensive code examples with context-dependent languages.
|
||
|
|
// Opening fence language detection is complex in large docs and would require
|
||
|
|
// intelligent parsing. Since core/ validates with proper languages, docs/
|
||
|
|
// inherits that validated content and pre-commit hooks catch malformed closing fences.
|
||
|
|
"MD040": false, // fenced-code-language (DISABLED - pre-commit validates closing fences)
|
||
|
|
|
||
|
|
// Formatting - strict whitespace
|
||
|
|
"MD009": true, // no-hard-tabs
|
||
|
|
"MD010": true, // hard-tabs
|
||
|
|
"MD011": true, // reversed-link-syntax
|
||
|
|
"MD018": true, // no-missing-space-atx
|
||
|
|
"MD019": true, // no-multiple-space-atx
|
||
|
|
"MD020": true, // no-missing-space-closed-atx
|
||
|
|
"MD021": true, // no-multiple-space-closed-atx
|
||
|
|
"MD023": true, // heading-starts-line
|
||
|
|
"MD027": true, // no-multiple-spaces-blockquote
|
||
|
|
"MD037": true, // no-space-in-emphasis
|
||
|
|
"MD039": true, // no-space-in-links
|
||
|
|
|
||
|
|
// Trailing content
|
||
|
|
"MD012": false, // no-multiple-blanks (relaxed - allow formatting space)
|
||
|
|
"MD024": false, // no-duplicate-heading (too strict for docs)
|
||
|
|
"MD028": false, // no-blanks-blockquote (relaxed)
|
||
|
|
"MD031": false, // blanks-around-fences (too strict for technical docs)
|
||
|
|
"MD047": true, // single-trailing-newline
|
||
|
|
|
||
|
|
// Links and references
|
||
|
|
"MD034": true, // no-bare-urls (links must be formatted)
|
||
|
|
"MD042": true, // no-empty-links
|
||
|
|
|
||
|
|
// HTML - allow for documentation formatting and images
|
||
|
|
"MD033": { "allowed_elements": ["br", "hr", "details", "summary", "p", "img"] },
|
||
|
|
|
||
|
|
// Line length - relaxed for technical documentation
|
||
|
|
"MD013": {
|
||
|
|
"line_length": 150,
|
||
|
|
"heading_line_length": 150,
|
||
|
|
"code_block_line_length": 150,
|
||
|
|
"code_blocks": true,
|
||
|
|
"tables": true,
|
||
|
|
"headers": true,
|
||
|
|
"headers_line_length": 150,
|
||
|
|
"strict": false,
|
||
|
|
"stern": false
|
||
|
|
},
|
||
|
|
|
||
|
|
// Images
|
||
|
|
"MD045": true, // image-alt-text
|
||
|
|
|
||
|
|
// Disable rules that conflict with relaxed style
|
||
|
|
"MD003": false, // consistent-indentation
|
||
|
|
"MD041": false, // first-line-heading
|
||
|
|
"MD025": false, // single-h1 / multiple-top-level-headings
|
||
|
|
"MD022": false, // blanks-around-headings (flexible spacing)
|
||
|
|
"MD032": false, // blanks-around-lists (flexible spacing)
|
||
|
|
"MD035": false, // hr-style (consistent)
|
||
|
|
"MD036": false, // no-emphasis-as-heading
|
||
|
|
"MD044": false // proper-names
|
||
|
|
},
|
||
|
|
|
||
|
|
// Documentation patterns
|
||
|
|
"globs": [
|
||
|
|
"**/*.md",
|
||
|
|
"!node_modules/**",
|
||
|
|
"!build/**"
|
||
|
|
],
|
||
|
|
|
||
|
|
// Ignore build artifacts and external content
|
||
|
|
"ignores": [
|
||
|
|
"node_modules/**",
|
||
|
|
"target/**",
|
||
|
|
".git/**",
|
||
|
|
"build/**",
|
||
|
|
"dist/**"
|
||
|
|
]
|
||
|
|
}
|