1 个不稳定版本

0.1.0 2023年11月13日

1437文本处理

MIT 许可证

13KB
223

Markdown 解析器

这是一个使用 pest 解析器生成库实现的简单的 Markdown 到 HTML 解析器。它可以转换 Markdown 文本为 HTML。

目录

  1. 安装
  2. 使用方法
  3. 示例
  4. 第四个示例

安装

要在 Rust 项目中使用此 Markdown 到 HTML 解析器,请在您的 Cargo.toml 文件中将其作为依赖项添加

[dependencies]
markdown_to_html_parser = "0.1.0"

使用方法

作为库

首先,在您的 Rust 代码中导入该库

use markdown_parser::parse_markdown;

然后,您可以使用 parse_markdown 函数将 Markdown 文本转换为 HTML

let markdown_text = "Your Markdown text here";
let html = parse_markdown(markdown_text);
println!("{}", html);

作为 CLI 工具

您还可以将此 Markdown 到 HTML 解析器用作命令行工具。为此,首先在您的系统上安装 Rust 工具链。然后,克隆存储库并构建项目

$ make help
$ make run -f <file_name> -o <output_file_name> --is_force true

示例

以下是如何在 Rust 程序中使用 Markdown 到 HTML 解析器的示例

use markdown_to_html_parser::parse_markdown;

fn main() {
    let markdown_text = "# Heading 1\nSome *italic* and **bold** text.\n## Heading 2\nMore text.";
    let html = parse_markdown(markdown_text);
    println!("{}", html);
}

运行此程序将生成以下 HTML 输出

<h1>Heading 1</h1><p>Some <em>italic</em> and <strong>bold</strong> text.</p><h2>Heading 2</h2><p>More text.</p>

语法

此解析器使用简单的语法来识别 Markdown 元素。该语法在 markdown.pest 文件中定义,包括标题和段落的规则。以下是语法的简要概述

  • markdown 它由一系列元素、元素内部、文本和换行符组成,重复零次或多次。
  • elements 它表示不同类型元素之间的选择:h1、h2、italic_text、bold_text 和 code_text。
  • h1 以 "# " 开头,后跟一系列元素、元素内部或文本,以 "\n" 结尾。
  • h2 与 h1 类似,但以 "## " 开头。
  • italic_text 表示用 "_" 或 "*" 包围的文本,表示斜体格式。
  • bold_text 表示用 "__" 或 "**" 包围的文本,表示粗体格式。
  • code_text 表示用 "`" 包围的文本,表示代码格式。
  • element_inner 表示不包含 "_", "*", "`" 或 "\n" 的字符序列。
  • text 表示不包含 "\n" 的字符序列。
  • new_line 表示换行符。

贡献

欢迎贡献!如果您想改进解析器、修复错误或添加新功能,请在 GitHub 仓库 上打开一个 issue 或提交一个 pull request。

许可证

[待办] 这个 Markdown 到 HTML 解析器是开源的,并使用 MIT 许可证授权。有关更多详细信息,请参阅 LICENSE 文件。

依赖项

~4MB
~75K SLoC