Expand description
§Markdownlint
A Rust port of markdownlint, a style checker and lint tool for Markdown/CommonMark files.
§Features
- 54 built-in rules enforcing Markdown best practices
- Automatic fixing for many rule violations
- Custom rules support via the Rule trait
- Configuration via JSON, YAML, or TOML files
- Inline configuration using HTML comments
- Async and sync APIs for flexible integration
- High performance with parallel file processing
§Quick Start
§Sync API
use mkdlint::{lint_sync, LintOptions};
let options = LintOptions {
files: vec!["README.md".to_string()],
..Default::default()
};
let results = lint_sync(&options)?;
println!("{}", results);§Async API (requires async feature)
ⓘ
use mkdlint::{lint_async, LintOptions};
let options = LintOptions {
files: vec!["README.md".to_string()],
..Default::default()
};
let results = lint_async(&options).await?;
println!("{}", results);§Configuration
Configuration can be provided via files or directly in options:
{
"default": true,
"MD013": false,
"MD033": {
"allowed_elements": ["br", "img"]
}
}§Inline Configuration
Rules can be disabled/enabled using HTML comments:
<!-- markdownlint-disable MD013 -->
This line can be as long as you want.
<!-- markdownlint-enable MD013 -->Re-exports§
pub use config::Config;pub use config::ConfigParser;pub use config::RuleConfig;pub use lint::apply_fixes;pub use lint::lint_sync;pub use types::LintError;pub use types::LintOptions;pub use types::LintResults;pub use types::Rule;pub use types::RuleParams;
Modules§
- config
- Configuration parsing and management
- formatters
- Output formatters for lint results
- helpers
- Helper utilities
- lint
- Core linting functionality
- parser
- Markdown parsing functionality
- rules
- Built-in and custom rules
- types
- Core type definitions for markdownlint
Constants§
- VERSION
- Library version
Functions§
- version
- Get the library version