Skip to content

nabbisen/mdka-rs

mdka

HTML to Markdown (MD) converter written in Rust.

crates.io Documentation Dependency Status Executable PyPi License

Summary

A kind of text manipulator named mdka. "ka" means "化 (か)" pointing to conversion.
Designed with in mind:

  • Fast speed
  • Low memory consumption
  • Easy usage

Usage

🌠 Rust with cargo

# Cargo.toml
[dependencies]
mdka = "1"
// awesome.rs
use mdka::from_html

fn awesome_fn() {
    let input = r#"
<h1>heading 1</h1>
<p>Hello, world.</p>"#;
    let ret = from_html(input);
    println!("{}", ret);
    // # heading 1
    // 
    // Hello, world.
    // 
}

For more details about functions, check out the docs.

🧩 Executable

Assets in Releases offer executables for multiple platforms → For usage.

🧩 Python integration

Bindings for Python are supported → For more examples | PyPi.

$ pip install mdka
# awesome.py
from mdka import md_from_html

print(md_from_html("<p>Hello, world.</p>"))
# Hello, world.
# 

🧩 Node.js integration

Bindings for Node.js are supported → For more examples | npm.

$ npm install mdka
// awesome.js
const { fromHtml } = require("mdka")

console.log(fromHtml("<p>Hello, world.</p>"))
// Hello, world.
// 

Open-source, with care

This project is lovingly built and maintained by volunteers.
We hope it helps streamline your work.
Please understand that the project has its own direction — while we welcome feedback, it might not fit every edge case 🌱

Acknowledgements

Depends on Servo's html5ever / markup5ever. Also, on PyO3's pyo3 / maturin on bindings for Python. napi-rs for binding for Node.js.

About

HTML to Markdown (MD) converter written in Rust

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks