Skip to main content

Crate mkdlint

Crate mkdlint 

Source
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