• 简体中文
  • Remark 插件

    Remark 插件参与 Markdown 到语法树 MDAST 的解析。需要扩展语法,或接入现有的 unified remark 插件时,使用这一层。

    声明插件

    例如,remark-cjk-friendly 可以改善中文、日文和韩文标点附近的强调语法解析:

    pnpm add @fluxdown/core-plugins remark-cjk-friendly
    import { BaseRemarkPlugin } from '@fluxdown/core-plugins/plugins/remark/base';
    import remarkCjkFriendly from 'remark-cjk-friendly';
    
    class CjkSyntaxPlugin extends BaseRemarkPlugin {
      static readonly key = 'remark-cjk-syntax';
    
      readonly plugin = remarkCjkFriendly;
    }
    
    const remarks = [CjkSyntaxPlugin];

    key 标识插件,plugin 是用于注册语法扩展的 unified 插件。Core 已提供 Markdown 解析器,无需重复添加。

    接入 Core

    在快速开始的 Core 输入中加入 remarks 即可,其他预设继续保留。

    如果 unified 插件需要选项,在类的构造函数中接收它们,再创建一个使用这些选项的 plugin 函数。使用时传入 [YourPlugin, options]。

    remark 扩展也可以转换 MDAST。如果处理需要跟随 Core 的修复开关,或仅作用于流式末尾,使用 repair 更合适。

    支持的插件

    将表中的子路径接在 @fluxdown/core-plugins/plugins/remark/ 后,即为插件的完整导入路径。例如,code-meta 对应 @fluxdown/core-plugins/plugins/remark/code-meta。

    勾选表示插件包含在 PRESET_REMARK_PLUGINS 中,由 Core 自动注册;未勾选的插件需手动添加。预设数组从 @fluxdown/core-plugins/presets/remark 导入。

    插件子路径是否内置作用
    ApplyRepairsRemarkPluginapply-repairs应用修复插件,让未完成的 Markdown 适合当前展示阶段。
    CjkRemarkPlugincjk改善 CJK 标点附近的强调语法与裸链接解析。
    CodeMetaRemarkPlugincode-meta保留围栏代码块语言后面的附加信息,供渲染器使用。
    EmojiRemarkPluginemoji将 emoji 短码转换为 Unicode 表情。
    PatchesRemarkPluginpatches标记需要由应用替换呈现的文本范围。
    SyntaxAutolinkRemarkPluginsyntax-autolink把可识别的网址、邮箱等文字转换为链接。
    SyntaxFootnoteRemarkPluginsyntax-footnote支持脚注引用与定义;需要 build.footnote。
    SyntaxHtmlAllowedRemarkPluginsyntax-html-allowed控制 Markdown 中允许哪些原始 HTML 标签,其他标签按文字处理。
    SyntaxMathRemarkPluginsyntax-math支持数学公式及流式公式的中间状态;需要 build.tex。
    SyntaxPolicyRemarkPluginsyntax-policy控制缩进代码块与 Setext 标题是否启用。
    SyntaxSoftEndlineRemarkPluginsyntax-soft-endline将普通换行显示为换行。
    SyntaxStrikethroughRemarkPluginsyntax-strikethrough支持删除线。
    SyntaxTableRemarkPluginsyntax-table支持 Markdown 表格。
    SyntaxTaskListRemarkPluginsyntax-task-list支持带复选框的任务列表。
    TableNoralizerRemarkPlugintable-noralizer补全表格列的对齐信息,适应行列数变化。