MD013 - Line Length
Severity: Warning
Category: Style
Auto-fix: Not available
Rule Description
This rule enforces a maximum line length for markdown files. Long lines can be difficult to read and review, especially in terminals and diff views.
Why This Rule Exists
Line length limits are important because:
- Improves readability in narrow windows and terminals
- Makes diffs easier to review in version control
- Follows traditional text formatting conventions
- Prevents horizontal scrolling in editors
- Facilitates side-by-side comparisons
Examples
❌ Incorrect (violates rule)
This is an extremely long line that goes on and on and on, exceeding the configured maximum line length and making it difficult to read in narrow terminals or when viewing diffs.
✅ Correct
This line is broken up into shorter segments.
It's easier to read and review.
Each line stays within the configured limit.
Configuration
[MD013]
line_length = 80 # Maximum line length (default: 80)
code_blocks = true # Check code blocks (default: true)
tables = true # Check tables (default: true)
headings = true # Check headings (default: true)
strict = false # Strict length (no leniency for URLs) (default: false)
stern = false # Stern length (allow long lines with no spaces) (default: false)
When to Disable
Consider disabling this rule if:
- Your team prefers no line length limits
- You're working with content that requires long lines (tables, URLs)
- Your documentation is primarily viewed in wide screens
- You have many long code examples
Disable in Config
# .mdbook-lint.toml
disabled_rules = ["MD013"]
Disable Inline
<!-- mdbook-lint-disable MD013 -->
This can be a very long line that exceeds the normal limits without triggering a violation.
<!-- mdbook-lint-enable MD013 -->
Disable for Specific Elements
[MD013]
# Keep line length check but exclude certain elements
code_blocks = false # Don't check code blocks
tables = false # Don't check tables
Tips for Compliance
- Break at natural points: Sentences, clauses, or phrases
- Use soft wrapping: Let your editor wrap visually while keeping semantic lines
- Consider semantic line breaks: One sentence per line
- Extract long URLs: Use reference-style links
<!-- Instead of -->
Check out [this very long link text](https://example.com/very/long/path/to/resource)
<!-- Use -->
Check out [this very long link text][1]
[1]: https://example.com/very/long/path/to/resource