# rumdl — Rust-based markdown linter
# https://github.com/rvben/rumdl

respect-gitignore = true
exclude = [
  "node_modules",
  "target",
  "dist",
  "vendor",
  # Snippets carry alef snippet-runner directives (e.g. <!-- snippet:skip -->)
  # that must sit directly above the fence. Reflowing them with rumdl breaks
  # the directive contract.
  "docs/snippets",
]

# MD013: Disable line-length enforcement (tables and code blocks can be long)
# MD041: Don't require first line to be an H1
# MD046: Disable code block style — Zensical tabs/admonitions indent fenced
#        blocks, which rumdl misidentifies as indented code blocks
# MD051: Disable cross-file link fragment checking (incompatible with Zensical
#        HTML processing — Zensical strips <span> tags from heading IDs)
# MD013: Line length (tables/code can be long)
# MD033: Inline HTML (Zensical uses HTML extensively)
# MD036: Emphasis as heading (intentional style in docs/READMEs)
# MD041: First line H1 not required
# MD046: Code block style (Zensical tabs indent fenced blocks)
# MD051: Link fragment checking (incompatible with Zensical anchor generation)
# MD076: Blank lines between list items (intentional formatting in READMEs)
# MD030: Spaces after list markers (MkDocs Material grid cards require 3 spaces)
# MD035: Horizontal rule style (grid cards use indented --- as card separators)
disable = [
  "MD012",
  "MD013",
  "MD024",
  "MD030",
  "MD033",
  "MD035",
  "MD036",
  "MD041",
  "MD046",
  "MD051",
  "MD076",
]

# MD024: Allow duplicate heading names if they are not siblings
[MD024]
siblings_only = true
