# @braindb/mdast-util-wiki-link 中文文档

规范地址：https://npmcn.com/package/%40braindb/mdast-util-wiki-link/

版本：0\.2\.0
npm 元数据更新时间：2024-05-13T17:08:05.667Z
中文译文更新时间：2026-11-08T13:42:10.043Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40braindb/mdast-util-wiki-link
原文对照：https://npmcn.com/package/%40braindb/mdast-util-wiki-link/?lang=original
项目主页：https://github.com/stereobooster/braindb#readme
源码仓库：https://github.com/stereobooster/braindb

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：10.1 kB，9 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2024-05-13T17:08:04.948Z
- 最新版本发布：2024-05-13T17:08:05.301Z
- 近 30 天下载量：10799（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

解析和渲染wiki风格链接

## 安装

```sh
npm install @braindb/mdast-util-wiki-link
```

也可以使用：`pnpm add @braindb/mdast-util-wiki-link`、`yarn add @braindb/mdast-util-wiki-link`、`bun add @braindb/mdast-util-wiki-link`

## README

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

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

* * *

延长时间: [`mdast-util-from-markdown`](https://github.com/syntax-tree/mdast-util-from-markdown) 财务报告和审定财务报表 [`mdast-util-to-markdown`](https://github.com/syntax-tree/mdast-util-to-markdown) 支助 `[[Wiki Links]]`。 。 。 .

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

使用 [评论](https://github.com/remarkjs/remark)您也许想要使用 [`@braindb/remark-wiki-link`](https://github.com/stereobooster/braindb/tree/main/packages/remark-wiki-link) 而不是直接使用此软件包.

## 使用量

### 标记到 AST

```javascript
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节点会是这样的:

```javascript
{
    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`](https://github.com/rehypejs/rehype)。 。 。 .

### AST 到 马克下

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

```javascript
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` 像这样:

```javascript
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` 为:
    
    ```javascript
    (name) => name;
    ```
    
-   `options.linkTemplate ({ slug: string, permalink: string, alias: string | null }) -> HAST`: 生成链接"HAST"的函数.
    
    默认 `linkTemplate` 为:
    
    ```js
    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`:作为别名分词的字符串. 见下文关于 [异形页面](https://npmcn.com/package/%40braindb/mdast-util-wiki-link/#readme-aliasing-pages)默认为 `"|"`。 。 。 .

### 异形页面

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

```md
[[Real Page|Page Alias]]
```

并在渲染时生成此 HTML :

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

## 常见问题

### @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 和提交记录判断。

