7 个版本

0.3.2 2024年4月21日
0.3.1 2022年12月14日
0.2.2 2022年12月6日
0.1.1 2022年11月27日

#1605 in 解析器实现

MIT 许可证

120KB
2K SLoC

ConciseMark (文档)

ConciseMark 是一个用 Rust 编写的简化 Markdown 解析库,考虑了定制和数学支持。这里的“简化”意味着它只支持一些常见的 Markdown 语法,而不是全部。有关中文介绍,请点击ConciseMark 中文介绍

特性

  • 基础

    • 强调

      使用 *Itaclics* 来写入斜体文本。

      使用 **Itaclics** 来写入粗体文本。

    • 段落

      段落由连续的行组成,它们之间没有空行。

    • 标题

      使用 ###,... ###### 来表示一至六级标题。

      # 必须是标题行中的第一个字符。

      一般来说,应该避免使用超过三级的标题。

    • 引用块

      引用块是以 > 符号开始的段落,并且 > 必须是段落的第一个字符,例如

        > a simple blockquote
        with very *long* body
        **really long** body ...
      

      如果你想在引用块中显示空行,你可以这样做

        > a simple line
        >
        > line
        test
      
    • 列表

      使用 - 来表示列表项,也支持嵌套列表。

      相邻列表之间的缩进必须是 4。

      尚未支持编号列表。

    • 链接和图片

      使用 [google](https://google.com) 来显示链接。

      使用 ![image](https://example.com/some.jpg) 来显示图片。

    • 代码

      使用反引号 (`) 对来显示内联代码模式。

      将您的代码缩进到新段落中,缩进量比当前缩进多四个空格,这样它就会显示为显示模式。

  • 扩展

    • 数学

      HTML中的数学由 katexmathjax 支持,使用一种语法,例如 $a^2 + b^2$ 来编写数学公式。

      如果 $a^2 + b^2$ 在段落中,则它将显示为内联模式(生成的文本将是 $a^2 + b^2$)。

      如果 $a^2 + b^2$ 占满整个段落,则它将显示为显示模式(渲染的文本将是 $$a^2 + b^2$$)。

      注意,这个库没有捆绑 katex 或 mathjax,您必须将 katex 或 mathjax 导入您的生成 html 文件中。

    • LaTeX PDF 生成

      ConciseMark 支持您将您的 markdown 转换为 xelatex 源文件,然后您可以使用 xelatex 命令编译它以生成一个漂亮的 PDF 文档。

      请注意,为了使生成的 xelatex 源文件可编译,您必须在您的系统中安装以下字体

    • Markdown 元数据

      您可以在 markdown 文件的开始处放置一个可选的 html 注释(其内容为 toml 格式)

        <!---
        title = "Your title"
        subtitle = "Your subtitle"
        date = "2021-10-13 00:00:00"
        authors = ["name <[email protected]>"]
        tags = ["demo", "example"]
        -->
      

      此内容将被解析为您的页面元数据,您可以在渲染 LaTeX 或 html 页面时使用它。

依赖项

~8–11MB
~212K SLoC