@braindb/mdast-util-wiki-link

中文文档
0.2.0发布于 2024/05/14MITTypeScriptES Module近 30 天下载 1.1万

解析和渲染wiki风格链接

中文使用文档
文档目录5 节
  1. 使用量
  2. 标记到 AST
  3. AST 到 马克下
  4. 配置选项
  5. 异形页面

@braindb/mdast-util-wiki-link (英语)

叉数 https://github.com/landakram/mdast-util-wiki-link (中文(简体) )


延长时间: mdast-util-from-markdown 财务报告和审定财务报表 mdast-util-to-markdown 支助 [[Wiki Links]]。 。 。 .

  • 解析 wiki 风格的链接并使其成为锚
  • 通过给解析器一个已存在的永久链接列表来区分"新"和"已存在的"维基链接
  • 解析别名维基链接 : [[Real Page|Page Alias]]

使用 评论您也许想要使用 @braindb/remark-wiki-link 而不是直接使用此软件包.

使用量

标记到 AST

import fromMarkdown from "mdast-util-from-markdown";
import { syntax } from "@braindb/micromark-extension-wiki-link";
import * as wikiLink from "@braindb/mdast-util-wiki-link";

let ast = fromMarkdown("[[Test Page]]", {
  extensions: [syntax()],
  mdastExtensions: [wikiLink.fromMarkdown()],
});

AST节点会是这样的:

{
    value: 'Test Page',
    data: {
        alias: 'Test Page',
        permalink: 'Test Page',
        hName: 'a',
        hProperties: {
            href: 'Test Page',
        },
        hChildren: [{
            type: 'text',
            value: 'Test Page'
        }]
    }
}
  • value: 页面的 swit
  • data.alias: 此链接的显示名称
  • data.permalink: 本页的通路. 此永久链接是从 node.value 使用 options.linkResolver,可以在初始化插件时通过.
  • data.hProperties.href数字 : href 提供的值 a这个 href 使用 options.hrefTemplate。 。 。 .

这个 hName 其他项目 h 字段提供兼容性 rehype。 。 。 .

AST 到 马克下

采取 ast 从前面的例子来看,让我们回到下调:

import { fromMarkdown } from "mdast-util-from-markdown";
import * as wikiLink from "@braindb/mdast-util-wiki-link";

let markdownString = toMarkdown(ast, {
  extensions: [wikiLink.toMarkdown()],
}).trim();
console.log(markdownString);
// [[Wiki Link]]

配置选项

两者 fromMarkdown 财务报告和审定财务报表 toMarkdown 接受配置为对象.

例如,人们可能配置 fromMarkdown 像这样:

let ast = fromMarkdown("[[Test Page]]", {
  extensions: [syntax()],
  mdastExtensions: [
    wikiLink.fromMarkdown({
      linkResolver: (x) => name.replace(/ /g, "_").toLowerCase(),
    }),
  ], // <--
});

fromMarkdown

  • options.linkResolver (pageName: string) -> string: 将页面名称映射到一系列可能的永久链接的函数。 这些可能的永久链接与 options.permalinks 以确定是否有页面。 如果一页不存在,则数组的第一个元素被认为是permalink.

    默认 linkResolver 为:

    (name) => name;
    
  • options.linkTemplate ({ slug: string, permalink: string, alias: string | null }) -> HAST: 生成链接"HAST"的函数.

    默认 linkTemplate 为:

    function defaultLinkTemplate({ slug, permalink, alias }) {
      return {
        hName: "a",
        hProperties: { href: permalink == null ? slug : permalink },
        hChildren: [{ type: "text", value: alias == null ? slug : alias }],
      };
    }
    

toMarkdown

  • options.aliasDivider string:作为别名分词的字符串. 见下文关于 异形页面默认为 "|"。 。 。 .

异形页面

异名页面以下列标记下语法支持:

[[Real Page|Page Alias]]

并在渲染时生成此 HTML :

<a href="Real Page">Page Alias</a>

版本与发布记录

@braindb/mdast-util-wiki-link 共发布 1 个版本,首次发布于 2024/05/14;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.2.0latest2024/05/142 年前

关于 @braindb/mdast-util-wiki-link 的常见问题

@braindb/mdast-util-wiki-link 是什么?

解析和渲染wiki风格链接

如何安装 @braindb/mdast-util-wiki-link?

在项目目录运行 npm install @braindb/mdast-util-wiki-link,或使用 pnpm add / yarn add / bun add。

@braindb/mdast-util-wiki-link 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@braindb/mdast-util-wiki-link 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@braindb/mdast-util-wiki-link 可以商用吗?

@braindb/mdast-util-wiki-link 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@braindb/mdast-util-wiki-link 的下载量有多少?

根据 npm 官方下载统计,@braindb/mdast-util-wiki-link 在 2026/10/09 – 2026/11/07 这 30 天内被下载 10,799 次,日均约 360 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@braindb/mdast-util-wiki-link 还在维护吗?

最新版本 0.2.0 发布于 2024/05/14(2 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/05/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。