MDS073: slide-structure
Flags Slidev slide-structure errors: unknown layouts, missing or orphaned slot separators, missing layout-required fields, and misspelled per-slide frontmatter keys.
Slidev
renders a single Markdown
file as a slide deck: --- separates slides and
each slide may carry its own frontmatter block. Its
parser is permissive — an unmatched ::slot::
drops its content, a misspelled layout: renders
blank, and an unknown frontmatter key passes
through as data. None of these error. MDS073 splits
the deck into slides and reports the failures
Slidev never does.
The rule is opt-in. Select the
slidev convention
to enable it, or turn it on directly. It owns the
Markdown/structural layer only: it does not resolve
theme packages, render Vue, or validate UnoCSS
classes.
# Settings
| Key | Type | Description |
|---|---|---|
| custom-layouts | list | Theme or addon layout names to treat as known layouts |
Declare a theme’s layouts so they are not flagged as unknown:
rules:
slide-structure:
custom-layouts: [my-cover, quote-dark]# Config
Enable:
rules:
slide-structure: trueDisable:
rules:
slide-structure: false# Examples
# Bad
A two-cols layout with no ::right:: separator —
the right column renders empty.
# Intro
Body text.
---
layout: two-cols
---
# Left column
Left body.# Good
A clean deck: blank-padded separators and unique, well-formed headings.
# Opening
Welcome to the deck.
---
## Agenda
Three topics today.
---
## Summary
Thanks for watching.# Meta-Information
- ID: MDS073
- Name:
slide-structure - Status: ready
- Default: disabled
- Fixable: no
- Implementation: source
- Category: structural