Skip to main content

Crate skymark

Crate skymark 

Source
Expand description

HTML-to-Markdown conversion focused on readable Markdown output.

The crate exposes a reusable HtmlToMarkdown converter for repeated work, plus convenience functions for one-off translations.

§Examples

Convert a single HTML fragment with the default configuration:

use skymark::translate;

let markdown = translate("<p>Hello, <strong>world</strong>!</p>");

assert_eq!(markdown.trim(), "Hello, **world**!");

Reuse a configured converter when translating multiple documents with the same options:

use skymark::{CodeBlockStyle, HtmlToMarkdown, Options};

let mut options = Options::default();
options.code_block_style = CodeBlockStyle::Indented;
options.bullet_marker = "-".to_owned();

let converter = HtmlToMarkdown::with_options(options);
let markdown = converter.translate("<ul><li>One</li><li>Two</li></ul>");

assert_eq!(markdown.trim(), "- One\n- Two");

Translate many named HTML inputs and keep the results in deterministic key order:

use skymark::translate_many;

let converted = translate_many([
    ("guide", "<h1>Guide</h1>"),
    ("intro", "<p>Welcome</p>"),
]);

assert_eq!(converted["guide"].trim(), "# Guide");
assert_eq!(converted["intro"].trim(), "Welcome");

Structs§

HtmlToMarkdown
Reusable HTML-to-Markdown converter.
Options
Re-exported code block rendering styles used by Options. Converter options.
TranslatorConfig
Re-exported translator override types used by HtmlToMarkdown::with_options_and_translators. Static translator configuration for one or more tags.

Enums§

CodeBlockStyle
Re-exported code block rendering styles used by Options. Code block rendering style.
SurroundingNewlines
Re-exported translator override types used by HtmlToMarkdown::with_options_and_translators. Newlines added around a translated node.

Functions§

translate
Converts HTML to Markdown with default options.
translate_many
Converts named HTML inputs to Markdown in deterministic key order.
translate_with_options
Converts HTML to Markdown with custom Options.