跳到正文
豫言包管理
← 全部包

标记文 0.1.0

豫言 · 库

把 Markdown(标记文)转换成网页片段:标题、段落、围栏代码、GFM 表格、列表、引用、网页块与常用行内格式,输出格式仿 kramdown。

标记文是豫言写的 Markdown 转换库:把 Markdown 文本转换成网页片段。输出格式仿照 kramdown 的 GFM 模式(Jekyll 的默认 Markdown 引擎),方便替换原先用 Jekyll 生成的站点。

包身份

所有者:豫言。包版本:0.1.0。本包为库类型,只依赖标准库。

使用

寻观「标记文」之书。

「打印行」于(「标记文转网页」于『# 标题「:换行:」「:换行:」正文 **粗体**』)。

总集导出:

  • 「标记文转网页」:把 Markdown 文本转换成网页片段;块之间空一行,结尾带换行。
  • 「网页正文转义」:转义 &、<、>。
  • 「网页属性转义」:再加上双引号与单引号,与 Liquid 的 escape 过滤器相同。
  • 「文分行」、「去空白」 等文字辅助函数。

支持的写法

块级:

  • ATX 标题(一至六个 # 加空白)。标题 id 按 kramdown GFM 规则生成:转小写,删去标点与符号,空格改为连字符;同一篇中重复的 id 依次加 -1、-2。
  • 围栏代码(三个以上反引号或波浪号)。有语言名时输出 <pre><code class="language-语言">。
  • GFM 表格:以竖线开头的连续行;第二行是对齐分隔行时第一行作表头,冒号表示左、右、居中对齐。
  • 无序列表(-、*、+)与有序列表(数字.),每项可以跨行。
  • 引用(>)、分隔线(三个以上 -、* 或 _)。
  • 网页块:以块级标签开头的行,一直收到同名标签开闭相抵的那一行为止,中间的空行不结束网页块;块内原样输出。注释收到 --> 为止。
  • 段落:其余的行。

行内:

  • 代码段( 代码 ,多个反引号时去掉首尾各一个空格)、**粗体**、*斜体*。
  • 链接 [文字](网址 "标题")、图片 ![替代文字](网址)、自动链接 <https://…>。
  • 行内网页标签原样输出;字符实体(&amp;、&#39; 等)原样输出;反斜杠转义 ASCII 标点。

限制

下列写法尚未支持,代码里以“待办事项”注明:缩进代码块、Setext 标题、嵌套列表、松散列表(项之间有空行时会分成两个列表)、下划线强调、引用式链接、脚注、定义列表、{: } 属性、硬换行,以及 kramdown 的智能引号与 --、... 等排版替换。强调与链接的闭合查找不跳过其中的代码段。标题 id 判断“词字符”时使用近似的码点区间表。

测试

测试在 测试/,是独立的「标记文测试」包(需要单元测试框架)。在仓库根目录运行:

node 豫言操作系统/宿主/节点/宿主.cjs yy豫构.wasm 构建 标记文测试 渲染。测试 --输出 yy标记文测试.wasm -j 24
node 豫言操作系统/宿主/节点/宿主.cjs yy标记文测试.wasm

依赖

查看包配置

上传历史

当前上传修订:1 ·

  1. 上传修订 1
    下载 ZIP

包层级

父包:共用库

没有子包。