@braindb/micromark-extension-wiki-link

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

Parse and render wiki-style links

原始使用文档
文档目录3 节
  1. Usage
  2. Configuration options
  3. Aliasing pages

@braindb/micromark-extension-wiki-link

fork of https://github.com/landakram/micromark-extension-wiki-link


Old readme

This micromark extension parses and renders [[Wiki Links]].

  • Parse wiki-style links and render them as anchors
  • Differentiate between "new" and "existing" wiki links by giving the parser a list of existing permalinks
  • Parse aliased wiki links i.e [[Real Page:Page Alias]]

Using remark? You might want to use remark-wiki-link instead of using this package directly.

Usage

import { syntax, html } from "@braindb/micromark-extension-wiki-link";

let serialized = micromark("[[Wiki Link]]", {
  extensions: [syntax()],
  htmlExtensions: [html()],
});

console.log(serialized);
// <p><a href="#/page/wiki_link" class="internal">Wiki Link</a></p>

Configuration options

Both the syntax extension and html extension can be configured by passing an object.

For example, one may configure the syntax extension like so:

let serialized = micromark("[[Wiki Link]]", {
  extensions: [syntax({ aliasDivider: ":" })],
  htmlExtensions: [html()],
});

syntax

  • options.aliasDivider [String]: a string to be used as the divider for aliases. See the section below on Aliasing pages. Defaults to "|".

html

  • options.permalinks [String]: An array of permalinks that should be considered existing pages. If a wiki link is parsed and its permalink matches one of these permalinks, node.data.exists will be true.

  • options.pageResolver (pageName: String) -> [String]: A function that maps a page name to an array of possible permalinks. These possible permalinks are cross-referenced with options.permalinks to determine whether a page exists. If a page doesn't exist, the first element of the array is considered the permalink.

    The default pageResolver is:

    (name) => [name.replace(/ /g, "_").toLowerCase()];
    
  • options.hrefTemplate (permalink: String) -> String: A function that maps a permalink to some path. This path is used as the href for the rendered a.

    The default hrefTemplate is:

    (permalink) => `#/page/${permalink}`;
    
  • options.wikiLinkClassName [String]: a class name that is attached to any rendered wiki links. Defaults to "internal".

  • options.newClassName [String]: a class name that is attached to any rendered wiki links that do not exist. Defaults to "new".

Aliasing pages

Aliased pages are supported with the following markdown syntax:

[[Real Page|Page Alias]]

And will produce this HTML when rendered:

<a class="internal new" href="#/page/real_page">Page Alias</a>

版本与发布记录

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

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

关于 @braindb/micromark-extension-wiki-link 的常见问题

@braindb/micromark-extension-wiki-link 是什么?

Parse and render wiki-style links

如何安装 @braindb/micromark-extension-wiki-link?

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

@braindb/micromark-extension-wiki-link 支持 TypeScript 吗?

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

@braindb/micromark-extension-wiki-link 支持 ESM 还是 CommonJS?

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

@braindb/micromark-extension-wiki-link 可以商用吗?

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

@braindb/micromark-extension-wiki-link 的下载量有多少?

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

@braindb/micromark-extension-wiki-link 还在维护吗?

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