Markdown 是一种轻量级标记语言,被广泛用于写文章、记笔记、撰写文档等。Markdown-it 是一个功能丰富的 Markdown 解析器,支持扩展插件来实现更多高级功能,例如删除线。在本文中,我们将介绍一个 npm 包 @gerhobbelt/markdown-it-strikethrough-alt,可以实现 Markdown 删除线更多的自定义功能。
安装
安装 @gerhobbelt/markdown-it-strikethrough-alt,需要在终端中运行以下命令:
npm install @gerhobbelt/markdown-it-strikethrough-alt --save-dev
引入和使用
-- -------------------- ---- ------- ----- ---------- - ----------------------- ----- ------------- - ----------------------------------------------------- ----- -- - --- ------------- --------------------- - -- ------- --- ---------------- --------------- -- -- --------- ---- -----------------------------------------
上面的代码先引入了 markdown-it 和 @gerhobbelt/markdown-it-strikethrough-alt,然后创建了一个 MarkdownIt 实例。接着使用 use 方法加载 strikethrough 插件,并可选地传递一个选项对象。最后调用 render 方法对输入内容进行解析,看到输出结果带有删除线的效果。
strikethrough 选项
插件 @gerhobbelt/markdown-it-strikethrough-alt 提供了以下选项:
- delClass - 添加到 del 元素上的 class
- containerClass - 添加到 del 元素的父容器上的 class
- delRole - del 元素上的 role 属性值
- containerRole - del 元素的父容器上的 role 属性值
- decodeEntities - 是否将 HTML 实体解码
- useDelimiter - 是否支持 Markdown italics 格式中的分隔符
-- -------------------- ---- ------- ----- ----------------- - - --------- ---------------- --------------- -------------------------- -------- ---------------- -------------- -------------------------- --------------- ----- ------------- ------ -- --------------------- -------------------
上述代码会将 strikethroughOpts 选项对象作为第二个参数传递给 strikethrough 插件。这里,我们设置了删除线元素和其容器的 class 和 role 属性值,以及是否解码 HTML 实体和是否支持分隔符。
示例
以下是一个使用 strikethrough 选项的示例:
次数 | 奖品 | 抽奖号码 ------|--------------------|------- 1 | 20积分 | 1 2 | 30积分 | 2 3 | 50积分 | 3 4 | ~~100积分~~ 现金10元 | 4 5 | 200积分 | 5
使用带 strikethrough 选项的 MarkdownIt 实例,处理上述文本:
-- -------------------- ---- ------- ----- ---------- - ----------------------- ----- ------------- - ----------------------------------------------------- ----- -- - --- ------------- --------------------- - --------- ---------------- --------------- -------------------------- -------- ---------------- -------------- -------------------------- --------------- ----- ------------- ------ --- ----- ---- - --- - -- - ---- ----------------------------------- - - ---- - - - - ---- - - - - ---- - - - - --------- ----- - - - - ----- - --- ----- ---- - ---------------- ------------------
输出结果:
-- -------------------- ---- ------- ------- ------- ---- ----------- ----------- ------------- ----- -------- ------- ---- ----------------- -------------------- ----------------- ----- ---- ----------------- -------------------- ----------------- ----- ---- ----------------- -------------------- ----------------- ----- ---- ----------------- -------- ------------------------------------ --------------------------------- ---------------- ----------------- ----- ---- ----------------- --------------------- ----------------- ----- -------- --------
结论
@gerhobbelt/markdown-it-strikethrough-alt 插件是一个强大的工具,可以扩展 Markdown 解析器的删除线功能,让我们能够通过更多自定义选项获得更大的灵活性。在项目中,我们可以根据具体要求来调整删除线元素的属性值,从而对文本内容的显示效果进行优化和美化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f02c870403f2923b035bd8f