拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Wiki.js 如何启用 MultiMarkdown 表格渲染并配置多行单元格与合并单元格选项

Wiki.js 如何启用 MultiMarkdown 表格渲染并配置多行单元格与合并单元格选项【免费下载链接】wiki-Wiki.js | Next Generation Open Source Wiki项目地址: https://gitcode.com/GitHub_Trending/wiki78/wiki-Wiki.js 内置了一个渲染模块MultiMarkdown TablemarkdownMultiTable在标准 Markdown 表格之外支持多行单元格、省略表头和行合并rowspan等 MultiMarkdown 表格语法。该模块默认是关闭的模块定义 中enabledDefault: false并且它依赖markdownCoredependsOn: markdownCore即只作用于 Markdown → HTML 这条渲染管线。本文说明如何在 Wiki.js 管理后台启用这个模块配置它的三个选项多行、无表头、行合并以及如何验证配置已生效。前提条件一个可运行的 Wiki.js 实例以及拥有系统管理权限GraphQL 层面对应manage:system权限见 rendering.graphql 中auth(requires: [manage:system])的账户。模块的默认状态与可配置项启用之前先确认这个模块提供了哪些开关。definition.yml 声明了三个布尔配置项配置键界面标题文档中的说明hint 原文默认值multilineEnabledMultilineEnable multiple lines rowstrueheaderlessEnabledHeaderlessEnable ommited table headerstruerowspanEnabledRowspanEnable table row spanstruerenderer.js 显示这些开关最终会传入markdown-it-multimd-table插件的对应参数md.use(multiTable, { multiline: conf.multilineEnabled, rowspan: conf.rowspanEnabled, headerless: conf.headerlessEnabled })也就是说三个界面开关分别控制插件的多行单元格、行合并、无表头能力。注意区分模块本身的“启用/禁用”决定表格扩展语法是否可用而这三个子选项只在模块启用后才有意义——关闭模块后这三个开关不会进入渲染管线。在管理后台启用模块以管理员身份登录 Wiki.js进入Admin Rendering页面。该页面的左侧是渲染管线Pipeline面板按核心模块分组列出所有渲染器。展开Markdown → HTML这一核心Markdown Core见 markdown-core 定义 中input: markdown、output: html在子模块列表中找到MultiMarkdown Table。每个渲染器条目右侧有状态指示器绿色表示启用红色表示禁用。由于enabledDefault: false新加载时它默认显示为禁用新渲染器入库时按enabledDefault初始化isEnabled逻辑见 renderers.js 的refreshRenderersFromDisk。点击该条目选中它右侧卡片会显示模块描述和“Rendering Module Configuration”区域。打开卡片右上角的Enabled开关。点击页面右上角的Apply按钮保存。保存成功后页面会提示 “Rendering configuration saved successfully.”提示文案见 admin-rendering.vue 中的save方法。保存后MultiMarkdown Table 的状态指示器应变为绿色表示该模块已加入渲染管线。配置多行单元格、无表头与行合并选项选中 MultiMarkdown Table 后“Rendering Module Configuration”区域会按配置项渲染出三个布尔开关界面对type: Boolean的配置项统一渲染为开关控件见 admin-rendering.vue。根据实际需要的表格能力调整MultilinemultilineEnabled默认开启对应markdown-it-multimd-table的multiline参数控制单元格内多行内容的支持。RowspanrowspanEnabled默认开启对应rowspan参数控制行合并能力。HeaderlessheaderlessEnabled默认开启对应headerless参数控制省略表头的表格写法。如果只用到多行单元格和行合并可以把 Headerless 关掉其余保持默认即可。调整完开关后必须再点一次Apply才会持久化——这个页面是“编辑后手动保存”的模式不是即改即存。验证配置已生效验证有两个层面后台状态Apply 后该模块的状态指示器为绿色且页面提示保存成功。也可以点击页面上的刷新按钮重新拉取当前配置确认开关状态没有被意外重置。渲染行为在 Wiki 中用 Markdown 编辑器创建一个测试页写入使用多行单元格或行合并写法的表格保存后查看页面渲染结果。由于模块此前是禁用的、启用后表格扩展语法才进入管线可以对比启用前后同一表格的渲染差异判断模块是否真正生效。配置数据本身存储在renderers表中以key为主键config以 JSON 列保存可以确认markdownMultiTable记录的isEnabled与config字段是否符合预期。替代路径直接调用 GraphQL 接口管理后台的保存按钮走的正是 updateRenderers 接口因此也可以不经过界面直接调接口。先查询当前渲染器状态查询定义见 rendering-query-renderers.gql{ rendering { renderers { isEnabled key title config { key value } } } }再提交保存对应 rendering-mutation-save-renderers.gql配置值按后端约定用{v: 值}的 JSON 字符串格式传递mutation { rendering { updateRenderers(renderers: [{ key: markdownMultiTable, isEnabled: true, config: [ { key: multilineEnabled, value: {\v\:true} } { key: headerlessEnabled, value: {\v\:true} } { key: rowspanEnabled, value: {\v\:true} } ] }]) { responseResult { succeeded errorCode message } } } }接口返回succeeded: true即保存成功处理逻辑见 rendering.js 的updateRenderers成功时返回 “Renderers updated successfully”。查询和修改都要求manage:system权限。限制与边界该模块只挂在 Markdown 渲染管线下dependsOn: markdownCore对其他内容类型如 HTML 或 Asciidoctext 管线不起作用。模块默认禁用且只有出现在server/modules/rendering目录下的定义才会被扫描入库renderers.js 在每次刷新时还会删除目录中已不存在的渲染器记录所以升级后若模块定义被移除对应配置会一并消失。本文只覆盖 Wiki.js 自带模块的启用与三个选项配置插件markdown-it-multimd-table的具体表格语法细节以该模块自身行为为准仓库内未提供语法示例文档。【免费下载链接】wiki-Wiki.js | Next Generation Open Source Wiki项目地址: https://gitcode.com/GitHub_Trending/wiki78/wiki-创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门