https://github.com/thomd/remark-wiki-link
remark plugin to translate [[url|name]] to [name](url)
https://github.com/thomd/remark-wiki-link
markdown remark remark-plugin
Last synced: 4 months ago
JSON representation
remark plugin to translate [[url|name]] to [name](url)
- Host: GitHub
- URL: https://github.com/thomd/remark-wiki-link
- Owner: thomd
- License: mit
- Created: 2024-07-24T14:19:10.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-14T22:23:26.000Z (over 1 year ago)
- Last Synced: 2025-08-27T13:10:43.674Z (10 months ago)
- Topics: markdown, remark, remark-plugin
- Language: JavaScript
- Homepage:
- Size: 58.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# remark-wiki-link

`remark-wiki-link` is a [remark](https://github.com/remarkjs/remark) plugin which translates
[[page]]
[[page#headline]]
[[page|name]]
to
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.
## Usage
Given the following file `example.md`:
```markdown
# Headline
paragraph with [[my page|name]] link
```
and a module `example.js`:
```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:
```html
Headline
paragraph with name link
```
## API
The default export is `remarkWikiLink`.
### Options
- `path` (`string`, optional) — path to be preprended to the link url. Default is `''`.
- `slugger` (`Boolean`, optional) — Slug URLs using [github-slugger](https://github.com/Flet/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 is `false`.
- `trailingSlash` (`Boolean`, optional) — Add a trailing slash to URL. Default is `false`.