MD032 - Separate lists with blank lines¶
Aliases: blanks-around-lists
What this rule does¶
Ensures lists have blank lines before and after them, making them visually distinct from surrounding content.
Why this matters¶
- Reliable parsing: Many Markdown parsers require blank lines to properly recognize lists
- Visual clarity: Blank lines make lists stand out from paragraphs
- Better readability: Clear separation helps readers scan documents quickly
- Consistent rendering: Prevents lists from merging with adjacent content
Examples¶
✅ Correct¶
❌ Incorrect¶
🔧 Fixed¶
Configuration¶
| Option | Type | Default | Description |
|---|---|---|---|
allow-lazy-continuation |
boolean | true |
Whether to allow lazy continuation (unindented text after list items) |
Lazy continuation¶
By default, this rule allows "lazy continuation" - a CommonMark feature where unindented text following a list item becomes part of that list item:
When allow-lazy-continuation is set to false, the rule requires a blank line between the list item and any following unindented text:
With this setting, the above example would trigger a warning and be auto-fixed to:
The fix adds proper indentation to align with the list item's content column, making the continuation explicit rather than relying on lazy continuation behavior.
Automatic fixes¶
This rule will:
- Add a blank line before lists that follow other content
- Add a blank line after lists that precede other content
- Handle nested lists correctly (only the outermost list needs surrounding blank lines)
- When
allow-lazy-continuationisfalse: add proper indentation to lazy continuation lines
HTML comments¶
A line holding nothing but an HTML comment counts as a blank line, so a comment
directly above or below a list satisfies this rule and rumdl fmt leaves the
document alone:
This keeps a directive comment attached to what it applies to: inserting a blank line there would turn the directive off.
The comment has to have the line to itself. Some text. <!-- note --> is a
paragraph, so a list written under it is still missing its blank line. A comment
spanning several lines counts at both ends, and the convention holds inside a
blockquote. MD022, MD031 and MD058 read
blank lines the same way.