26 releases (9 breaking)

new 0.10.2 Dec 10, 2024
0.10.0 Oct 16, 2024
0.9.1 Jun 21, 2024
0.7.0 Mar 30, 2024

#1920 in Parser implementations

Download history 18/week @ 2024-09-06 85/week @ 2024-09-13 104/week @ 2024-09-20 47/week @ 2024-09-27 11/week @ 2024-10-04 153/week @ 2024-10-11 39/week @ 2024-10-18 3/week @ 2024-10-25 3/week @ 2024-11-01 3/week @ 2024-11-08 4/week @ 2024-11-15 2/week @ 2024-11-22 340/week @ 2024-12-06

346 downloads per month

MIT license

49KB
849 lines

html2md-rs

Parses HTML and converts it to markdown.

Usage

use html2md_rs::to_md::from_html_to_md;

fn main() {
    let html = "<h1>Hello, World!</h1>";
    let md = from_html_to_md(html);
    assert_eq!(md, "# Hello, World!");
}

Markdown Convention

There are many markdown conventions/standards out there. This project references the CommonMark Spec.

Supported HTML tags

Check the supported HTML tags here. Unsupported HTML tags will be parsed as NodeType::Unknown(String).

License

This project is licensed under the MIT License - see the LICENSE file for details.


lib.rs:

A library for safely parsing HTML and converting it to Markdown.

Example

use html2md_rs::to_md::from_html_to_md;

let html = "<h1>Hello World</h1>".to_string();
let parsed = from_html_to_md(html);

assert_eq!(parsed, "# Hello World\n");

Supported HTML Elements

The list of supported HTML elements is in the structs::NodeType enum.

HTML Attributes

By default, the library parses all attributes of an HTML element as a HashMap.

Markdown Convention

This library follows the CommonMark Spec.

License

This library is licensed under the MIT license. Check the GitHub repository for more information.

Dependencies