Crate markdown_fmt

Crate markdown_fmt 

Source
Expand description

Easily format Markdown. markdown_fmt supports CommonMark and GitHub Flavored Markdown.

§Getting Started

use markdown_fmt::rewrite_markdown;

let markdown = r##" # Getting Started
1. numbered lists
1.  are easy!
"##;

let formatted = r##"# Getting Started
1. numbered lists
1. are easy!
"##;

let output = rewrite_markdown(markdown)?;

§Using the Builder

The builder gives you more control to configure Markdown formatting.

use markdown_fmt::{rewrite_markdown, rewrite_markdown_with_builder, FormatterBuilder};

let builder = FormatterBuilder::with_code_block_formatter(|info_string, code_block| {
    match info_string.to_lowercase().as_str() {
        "markdown" => rewrite_markdown(&code_block).unwrap_or(code_block),
        _ => code_block
    }
});

let markdown = r##" # Using the Builder
+ markdown code block nested in a list
  ```markdown
  A nested markdown snippet!

   * unordered lists
   are also pretty easy!
   - `-` or `+` can also be used as unordered list markers.
   ```
"##;

let formatted = r##"# Using the Builder
+ markdown code block nested in a list
  ```markdown
  A nested markdown snippet!

  * unordered lists
    are also pretty easy!
  - `-` or `+` can also be used as unordered list markers.
  ```
"##;

let output = rewrite_markdown_with_builder(markdown, builder)?;

Re-exports§

pub use crate::list::ListMarker;
pub use crate::list::OrderedListMarker;
pub use crate::list::ParseListMarkerError;
pub use crate::list::UnorderedListMarker;

Modules§

list
List marker types.

Structs§

Config
Configuration options for the Markdown formatter.
FormatterBuilder
Builder for the MarkdownFormatter
MarkdownFormatter
Used to format Markdown inputs.
Paragraph
A buffer where we write text
PreservingHtmlBlock
A buffer where we write HTML blocks. Preserves everything as is.

Traits§

ParagraphFormatter
A formatter buffer we write paragraph text into.

Functions§

rewrite_markdown
Reformat a markdown snippet with all the default settings.
rewrite_markdown_sichanghe_opinion
Reformat a markdown snippet based on Steven Hé (Sīchàng)’s opinion.
rewrite_markdown_with_builder
Reformat a markdown snippet with user specified settings