1 个不稳定版本

0.1.0 2020 年 10 月 7 日

#40#gemini

BlueOak-1.0.0

14KB
263 行代码(不包括注释)

md2gemtext

builds.sr.ht status

将 Markdown 转换为 gemtext

独立使用

cargo install md2gemtext
md2gemtext /path/to/some/file.md /path/to/some/file.gmi

库使用

let gemtext = md2gemtext::convert("some markdown")?;

翻译规则

  • "主题分隔"(hr 标签)转换为单独一行上的 -----
  • 标题转换为标题,超过 3 级的标题将限制为 3 级
  • 代码块转换为代码块(信息字符串将被丢弃)
  • HTML 发生了某些变化,我忘记了是什么
  • 段落之间有空行,因为我认为这样看起来更好
  • 块引用转换为引用(多段落连续块引用会断开)
  • 列表转换为列表("松散列表"可能表现不佳,嵌套列表 肯定 表现不佳,编号不会保留)
  • `markdown code spans` 保留其反引号
  • _italics_ 被单下划线包围
  • **粗体** 被双星号包围
  • a [链接](a://url) with context 转换为 a link with context 后跟 => a://url link
  • an ![内联](a://url) image 转换为 an [image: inline] image 后跟 => a://url [image: inline]
  • 如果链接或图像是其自己的段落,它将仅成为 gemtext 链接,以避免冗余

依赖项

~1MB
~21K SLoC