mdsmith
Esc
    v0.54.0 GitHub
    MDS073 structural ready

    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

    KeyTypeDescription
    custom-layoutslistTheme 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: true

    Disable:

    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