7 个版本
0.3.0 | 2024 年 7 月 1 日 |
---|---|
0.2.5 | 2024 年 7 月 1 日 |
0.2.1 | 2024 年 6 月 25 日 |
#1367 在 解析器实现
每月 147 次下载
40KB
870 行
Markterm
Markterm 是一个将彩色 Markdown 渲染到终端的 Rust 库。我想找一个像 Glow 的库,但它是用 Rust 编写的。
为什么要构建这个?
我构建这个库有两个原因
- 为了学习 Rust
- 我找不到一个开箱即用的 crate 来做这个。
状态
Markterm 目前处于开发中。在接下来的几周内,我将确保它支持 CommonMark 和 Github Flavored Markdown。
MarkTerm 目前不支持以下功能
- 表格
- 内联 Html
- 嵌入代码的语法高亮
用法
使用 cargo 将其添加到任何现有的 Rust 项目中。然后可以使用下面的代码将任何 Markdown 渲染到 stdout。
使用默认主题
use std::path::PathBuf;
fn main() {
let path = PathBuf::from("./test.md");
markterm::render_file_to_stdout(&path, None);
}
使用自定义主题
use std::path::PathBuf;
use markterm::{TextStyle, Theme, ElementStyle};
fn main() {
let path = std::path::PathBuf;
let theme = Theme {
header_1: ElementTheme::new(Some("#000"), Some("#500"), TextStyle::Bold),
.. markterm::get_default_theme()
};
markterm::render_file_to_stdout(&path, Some(&theme));
}
路线图
- 支持所有常见的 mark 元素
- 使 CLI 功能更全面。
- 确保它在所有终端中都能工作。
致谢
这个项目离不开 markdown-rs。他们的 ast 解析模块为库提供动力。
依赖项
~7–19MB
~243K SLoC