Description
Slidev (https://sli.dev) is a popular Markdown-based presentation framework. Slidev files use --- separators to split slides, which means a single .md file contains multiple independent "pages" — each with its own heading hierarchy, emphasis patterns, and structure.
MDSmith's default rules produce a large number of false positives on Slidev files because they assume a single continuous document.
Rules that clash with Slidev conventions
| Rule |
Issue |
heading-increment (MDS003) |
Each slide starts at #, sub-headings jump to ### — normal for slides |
no-emphasis-as-heading (MDS018) |
Bold standalone lines are used for visual emphasis, not as heading replacements |
no-trailing-punctuation-in-heading (MDS017) |
Slide headings often end with : or . for stylistic effect |
first-line-heading (MDS004) |
Slidev front matter between --- means content doesn't start with a heading |
no-duplicate-headings (MDS005) |
Repeated headings across slides (e.g. a title slide and closing slide) |
heading-style (MDS002) |
Slidev ---layout: thank-you--- blocks get parsed as setext headings |
blank-line-around-headings (MDS013) |
Slidev layout front matter blocks interfere |
empty-section-body (MDS030) |
Layout-only slides have no body content |
A default mdsmith check on a typical Slidev deck produced 32 false positives on a 214-line file.
Current workaround
Disable all clashing rules via overrides in .mdsmith.yml:
overrides:
- files: ["**/slides.md"]
rules:
first-line-heading: false
heading-increment: false
no-duplicate-headings: false
no-emphasis-as-heading: false
no-trailing-punctuation-in-heading: false
empty-section-body: false
heading-style: false
blank-line-around-headings: false
line-length:
max: 120
Possible improvements
- Detect Slidev front matter (
theme:, Slidev-specific keys) and auto-adjust behavior
- Treat
--- slide separators as document boundaries, scoping rules per-slide
- Add a built-in preset or profile for presentation-style markdown
Description
Slidev (https://sli.dev) is a popular Markdown-based presentation framework. Slidev files use
---separators to split slides, which means a single.mdfile contains multiple independent "pages" — each with its own heading hierarchy, emphasis patterns, and structure.MDSmith's default rules produce a large number of false positives on Slidev files because they assume a single continuous document.
Rules that clash with Slidev conventions
heading-increment(MDS003)#, sub-headings jump to###— normal for slidesno-emphasis-as-heading(MDS018)no-trailing-punctuation-in-heading(MDS017):or.for stylistic effectfirst-line-heading(MDS004)---means content doesn't start with a headingno-duplicate-headings(MDS005)heading-style(MDS002)---layout: thank-you---blocks get parsed as setext headingsblank-line-around-headings(MDS013)empty-section-body(MDS030)A default
mdsmith checkon a typical Slidev deck produced 32 false positives on a 214-line file.Current workaround
Disable all clashing rules via overrides in
.mdsmith.yml:Possible improvements
theme:, Slidev-specific keys) and auto-adjust behavior---slide separators as document boundaries, scoping rules per-slide