Skip to content

aegatlin/remark-obsidian-link

Repository files navigation

remark-obsidian-link

This lib turns Obsidian-style wiki-links to mdast-links. It uses remark-wiki-link internally to parse wiki-links from markdown, and then visits each wiki-link node in the mdast and transforms it based on toLink.

const toLink = (wikiLink) => ({
  value: wikiLink.value,
  uri: `/${wikiLink.value}`,
})

unified().use(remarkParse).use(remarkObsidianLink, { toLink })

The purpose of this library is to create a simplified abstraction/wrapper around remark-wiki-link for the simple use case of turning the mdast wiki link into either mdast-text or mdast-link. Text is for when that link is not public, and so should be rendered as mere text. Links are for when that linked page is public and then toLink is intended to encapsulate the logic of what that link should be (e.g., your website URL and path).

Options

toLink

toLink is an option that allows you to customize the transformation from wiki link to link.

The input is WikiLink, typed in TypeScript as { value: string, alias?: string }.

The output is either string or Link, typed in TypeScript as { value: string, uri: string, title?: string }. If the return is of type string, then the wiki link will be replaced by that string as mdast-text. If it returns a Link it will be replaced by an mdast-link with the appropriate values from Link.

By default toLink returns a string of wikiLink.alias if available, and wikiLink.value otherwise. This will effectively remove all wiki-links.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published