MarkdownIt
源代码
# 说明
主要的解析器/渲染器类。
# 用法
单行渲染,没有段落包裹:
# 构造器
new MarkdownIt
# 类方法
configure, disable, enable, parse, parseInline, render, renderInline, set, use
# 实例方法
normalizeLink, normalizeLinkText, validateLink
# 实例属性
block, core, helpers, inline, linkify, renderer, utils
# MarkdownIt.new
源代码
presetName (String) -- 可选的,commonmark / zero options (Object)用给定的配置创建解析器实例。可以不调用 “new”。
# 预设配置名MarkdownIt 提供命名的预设(配置),以便快速启用/禁用常用语法规则和选项。
"commonmark" - 将解析器配置为严格的 CommonMark 模式。 default - 类似于 GFM,在没有给出预设名称时会启用,(包括)所有可用的规则,但仍然没有 html(支持 html), typographer(印刷意义上的美化) 和 autolinker(自动识别和转换像 url 的文本)。 "zero" - 所有的规则都被禁用。通过 .enable() 快速设置你的配置是比较好的。例如,当你只需要 bold 和 italic 标签时,什么(多余的功能)也不需要。 # 选项 html - false。设成 true 来启用在源码中(支持) HTML 标签。注意!这是不安全的!你可能需要额外的消毒剂(sanitizer)来组织来自 XSS 的输出。最好是通过插件来扩展特性,而不是启用 HTML。 xhtmlOut - false。设成 true 来给闭合的单个标签(<br />)添加 '/'。只有完全兼容 CommonMark 模式时才需要这样做。实际上你只需要 HTML 输出。 breaks - false。 设成 true 来转化段落里的 \n 成 <br>。 langPrefix - language-。 给围栏代码块的 CSS 语言类前缀。对拓展的高亮器来说很有用。 linkify - false。设成 true 来自动转化像 URL 的文本成链接。 typographer - false。设成 true 来启用某些语言中性的替换以及引号的美化(智能引号)。 quotes - “”‘’, String 或 Array 类型。在 typographer 启用和支持智能引号时,进行双引号 + 单引号对替换。 比方说,你可以支持 '«»„“' 给俄罗斯人使用, '„“‚‘' 给德国人使用。还有 ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] 给法国人使用(包括 nbsp)。 highlight - null。高亮函数,给围栏代码块(使用)的。高亮器 function (str, lang) 会返回转义后的 HTML。如果源码不需要额外的改变和转义,它也会返回空的字符串。如果结果以 <pre... 开头,内部的包裹会被忽略。 # 示例语法高亮
或者伴随着完全包裹的覆盖(如果你需要复制 css 类到 <pre> 的话):
# MarkdownIt.configure
源代码
链式的 内部的
所有选项和编译设置的批量加载。这是个内部方法,你可能并不需要它。但你不妨看看这里可用的预设和数据结构。
我们强烈建议使用预设(配置)而不是直接加载配置。这将对下一个版本提供更好的兼容性。
# MarkdownIt.disable
源代码
链式的
list (String|Array) -- 要启用的规则名称或规则名称列表。 ignoreInvalid (Boolean) -- 设为 true 来忽略规则未发现时的错误。类似 MarkdownIt.enable,但用于禁用指定的规则们。
# MarkdownIt.enable
源代码
链式的
list (String|Array) -- 要启用的规则名称或规则名称列表。 ignoreInvalid (Boolean) -- 设为 true 来忽略规则未发现时的错误。启用 list 或 rules。它会自动找到合适的部件,包含给定名称的规则。如果没有找到规则,并且 ignoreInvalid 没有设置,就会抛出异常。
# 示例# MarkdownIt.parse
源代码
内部的
src (String|Array) -- 源代码的字符串 env (Object) -- (运行)环境沙箱解析输入字符串并返回块(类型)的 token 列表(特殊的 token 类型“内联”将包含内联 token 列表)。如果你没有编写自定义渲染器(例如,生成 AST)的打算,不建议直接调用此方法。
env 用于在“分布式”规则之间传递数据,并返回渲染器所需的附加元数据,比如引用信息。它也能用于特定情况下的注入数据。通常,你可以通过{},将更新后的对象传递给渲染器。
# MarkdownIt.parseInline
源代码
内部的
src (String|Array) -- 源代码的字符串 env (Object) -- (运行)环境沙箱类似于 MarkdownIt.parse 但是会忽略所有块规则。它返回一个 token 列表,该列表包含一个单独的 inline 元素,其中包含在 children 属性中解析的内联 token 们。它也会更新 env 对象。
# MarkdownIt.render
源代码
src (String|Array) -- 源代码的字符串 env (Object) -- (运行)环境沙箱将 markdown 字符串转换为 HTML。它对你来说肯定是最有魔力的:
env 可用于注入附加的元数据(默认情况下为 {})。但你大概率用不到它,参考在 MarkdownIt.parse 里的注释。
# MarkdownIt.renderInline
源代码
内部的
src (String|Array) -- 源代码的字符串 env (Object) -- (运行)环境沙箱类似于 MarkdownIt.render,但对于单个段落的内容,(渲染的)结果不会被 <p> 标签包裹。
# MarkdownIt.set
源代码
链式的
设置解析器选项(与构造函数中的格式相同)。可能你永远都用不着它,但是你可以在构造函数调用之后更改选项。
# 示例注意: 为了获得最好的性能,不要匆忙地修改一个 markdown-it 实例选项。如果需要多个配置,最好创建多个实例,并用单独的配置初始化每个实例。
# MarkdownIt.use
源代码
链式的
将指定的插件加载到当前的解析器实例中。这只是一个语法糖,和调用 plugin(md, params) 等效。
# 示例# MarkdownIt#normalizeLink
源代码
用于将链接 URL 编码为机器可读(machine-readable)格式的函数,包括 url 编码、punycode 等。
# MarkdownIt#normalizeLinkText
源代码
用于将链接 URL 解码为人类可读格式(human-readable)的函数。
# MarkdownIt#validateLink
源代码
链接校验函数。CommonMark 模式允许链接过多。默认情况下,我们禁用 javascript:,vbscript:,file: schemas,以及几乎所有的 data:...schemas,除了一些嵌入式图像类型。
你可以改变这种行为:
# MarkdownIt#block
源代码
ParserBlock 的实例。当编写插件时,你可能用它来添加新规则。对于简单的规则控制,可以使用 MarkdownIt.disable 和 MarkdownIt.enable。
# MarkdownIt#core
源代码
Core 的链式调用实例。
# MarkdownIt#helpers
源代码
链接组件解析函数,对编写插件大有裨益。详情见此处。
# MarkdownIt#inline
源代码
ParserInline的实例。当编写插件时,你可能用它来添加新规则。对于简单的规则控制,可以使用 MarkdownIt.disable 和 MarkdownIt.enable。
# MarkdownIt#linkify
源代码
linkify-it 的实例,用于 linkify 规则。
# MarkdownIt#renderer
源代码
Renderer 的实例。使用它来修改输出的外观。或者为插件生成的新 token 类型添加渲染规则。
# 示例参考 Renderer 文档和源码。
# MarkdownIt#utils
源代码
各种实用的函数,用于编写插件。详情见此处。
网址:MarkdownIt https://klqsh.com/news/view/164757