#common-mark #egui #markdown-syntax #format

egui_commonmark

egui 的 Commonmark 查看器

27 个版本 (16 个破坏性更新)

0.17.0 2024年7月3日
0.15.0 2024年4月2日
0.14.0 2024年3月26日
0.10.2 2023年12月13日
0.1.3 2022年3月24日

#35 in GUI

Download history 2566/week @ 2024-05-04 4444/week @ 2024-05-11 2809/week @ 2024-05-18 2954/week @ 2024-05-25 2066/week @ 2024-06-01 1814/week @ 2024-06-08 1554/week @ 2024-06-15 1475/week @ 2024-06-22 2714/week @ 2024-06-29 4447/week @ 2024-07-06 5150/week @ 2024-07-13 3749/week @ 2024-07-20 3374/week @ 2024-07-27 4062/week @ 2024-08-03 5378/week @ 2024-08-10 2956/week @ 2024-08-17

每月16,504次下载
用于 25 个 crates (6 个直接使用)

MIT/Apache

89KB
2K SLoC

A commonmark viewer for egui

Crate Documentation

showcase

虽然这个 crate 的主要重点是 Commonmark,但它也支持 GitHub 的 markdown 语法子集:表格、删除线、任务列表和脚注。

用法

在 Cargo.toml 中

egui_commonmark = "0.17"
# Specify what image formats you want to use
image = { version = "0.25", default-features = false, features = ["png"] }
use egui_commonmark::*;
let markdown =
r"# Hello world

* A list
* [ ] Checkbox
";

let mut cache = CommonMarkCache::default();
CommonMarkViewer::new("viewer").show(ui, &mut cache, markdown);

Markdown 的编译时评估

如果您想直接在二进制文件中嵌入 markdown,则可以启用 macros 功能。这将解析 markdown 并在编译时输出 egui 小部件。

示例

use egui_commonmark::{CommonMarkCache, commonmark};
let mut cache = CommonMarkCache::default();
let _response = commonmark!("example", ui, &mut cache, "# ATX Heading Level 1");

或者您也可以嵌入一个文件

示例

use egui_commonmark::{CommonMarkCache, commonmark_str};
let mut cache = CommonMarkCache::default();
commonmark_str!("example_file", ui, &mut cache, "content.md");

功能

  • macros: 用于编译时解析 markdown 的宏
  • better_syntax_highlighting: 使用 syntect 在代码块内部进行语法高亮
  • svg: 支持查看 SVG 图像
  • fetch: 下载并显示带有 URL 的图像

示例

要了解简单示例,请查看 hello_world 示例。要查看 egui_commonmark 提供的所有不同功能,请查看 book 示例。

许可证

根据您的选择许可

依赖项

~5–17MB
~229K SLoC