{
|
"$schema": "https://github.com/DavidAnson/markdownlint/blob/main/schema/markdownlint-config-schema.json",
|
"$id": "https://raw.githubusercontent.com/davidsneighbour/kollitsch.dev/refs/heads/main/src/config/.markdownlint.jsonc",
|
"default": true,
|
"customRules": [
|
"@github/markdownlint-github",
|
"markdownlint-rule-relative-links",
|
"markdownlint-rule-search-replace",
|
"markdownlint-rule-extended-ascii",
|
"markdownlint-rule-title-case-style",
|
"markdownlint-rule-list-duplicates"
|
],
|
// Rules
|
// unlisted rules are using default settings (usually "true")
|
// @see https://github.com/DavidAnson/markdownlint/#rules--aliases
|
"MD001": {
|
"severity": "error",
|
"front_matter_title": "^\\s*title\\s*[:=]"
|
},
|
"MD003": {
|
"style": "atx"
|
},
|
"MD004": {
|
"style": "asterisk"
|
},
|
"MD005": true,
|
"MD007": {
|
"indent": 2
|
},
|
// NO limitation on line length
|
"MD013": false,
|
// ignored rule for closed atx headings
|
"MD020": false,
|
// ignored rule for closed atx headings
|
"MD021": false,
|
// disallow multiple headings with the same content within the same level structure
|
"MD024": {
|
"siblings_only": true,
|
"allow_different_nesting": true
|
},
|
// no inline HTML elements, except for the allowed ones. in tables only the explicit allowed ones
|
"MD033": {
|
"allowed_elements": ["lite-youtube", "color-grid", "date-diff", "kbd"],
|
"table_allowed_elements": ["kbd"]
|
},
|
// use consistent rule markers (`---`)
|
"MD035": {
|
"style": "---"
|
},
|
// unused header structure rule
|
"MD043": false,
|
// unused spelling enforcement
|
"MD044": false,
|
// fenced code blocks style
|
"MD046": {
|
"style": "fenced"
|
},
|
// code blocks must use backticks instead of tildes
|
"MD048": {
|
"style": "backtick"
|
},
|
// emphasis must use asterisks `*` instead of underscores `_`
|
"MD049": {
|
"style": "asterisk"
|
},
|
// strong style must use double asterisks `**` instead of double underscores `__`
|
"MD050": {
|
"style": "asterisk"
|
},
|
// links must not be auto links, all other link formats are allowed
|
"MD054": {
|
"autolink": false
|
},
|
// table pipes must be used before and after each table row
|
"MD055": {
|
"style": "leading_and_trailing"
|
},
|
// generic linktexts are prohibited
|
"MD059": {
|
"prohibited_texts": ["click here", "here", "link", "more"]
|
},
|
// table style must be compact (single spaces around cell content)
|
"MD060": {
|
"style": "compact"
|
},
|
// @see https://www.npmjs.com/package/@github/markdownlint-github
|
// images should not contain default alternate texts
|
"GH001": true,
|
// links should not contain generic text ('click here', 'read more', etc.)
|
"GH002": {
|
"additional_banned_texts": ["Something", "Click here"]
|
},
|
// no empty alt texts for images
|
"GH003": true,
|
// @see https://www.npmjs.com/package/markdownlint-rule-relative-links
|
"relative-links": {
|
"root_path": "../.."
|
},
|
// @see https://www.npmjs.com/package/markdownlint-rule-search-replace
|
"search-replace": {
|
"rules": [
|
{
|
"name": "ellipsis",
|
"message": "Do not use three dots '...' for ellipsis.",
|
"information": "https://example.com/rules/ellipsis",
|
"search": "...",
|
"replace": "…",
|
"searchScope": "text"
|
},
|
{
|
"name": "curly-double-quotes",
|
"message": "Do not use curly double quotes.",
|
"searchPattern": "/“|”/g",
|
"replace": "\""
|
}
|
]
|
},
|
// @see https://www.npmjs.com/package/markdownlint-rule-extended-ascii
|
"extended-ascii": {
|
"ascii-only": true
|
},
|
// @see https://www.npmjs.com/package/markdownlint-rule-title-case-style
|
"title-case-style": {
|
// letter case style to apply
|
//
|
// "sentence" or "title" (default: sentence)
|
"case": "sentence",
|
// words to ignore when applying letter case.
|
//
|
// string[] (default: [])
|
"ignore": ["JavaScript"]
|
}
|
}
|