remark-wiki-link
is a remark plugin which translates
[[page]]
[[page#headline]]
[[page|name]]
to
<a href="page">page</a>
<a href="page#headline">headline</a>
<a href="page">name</a>
The [[...]]
syntax is a custom markdown syntax typically used in wiki systems to have links to other wiki pages or to have in-page links.
Given the following file example.md
:
# Headline
paragraph with [[my page|name]] link
and a module example.js
:
import { remark } from 'remark'
import remarkWikiLink from 'remark-wiki-link'
import remarkRehype from 'remark-rehype'
import rehypeStringify from 'rehype-stringify'
import { read } from 'to-vfile'
const file = await remark()
.use(remarkWikiLink, { path: '/pages/', slugger: true })
.use(remarkRehype)
.use(rehypeStringify)
.process(await read('example.md'))
console.log(file.value)
then running node example.js
yields:
<h1>Headline</h1>
<p>paragraph with <a href="/pages/my-page">name</a> link</p>
The default export is remarkWikiLink
.
-
path
(string
, optional) — path to be preprended to the link url. Default is''
. -
slugger
(Boolean
, optional) — Slug URLs using github-slugger. Using the slugger has a minor flaw, if a page has headlines with the same name and you want to have in-page links. Default isfalse
.