@braindb/mdast-util-wiki-link
Version:
Parse and render wiki-style links
38 lines (37 loc) • 1.01 kB
JavaScript
export function toMarkdown(opts = {}) {
const aliasDivider = opts.aliasDivider || "|";
const unsafe = [
{
character: "[",
inConstruct: ["phrasing", "label", "reference"],
},
{
character: "]",
inConstruct: ["label", "reference"],
},
];
const wikiLink = (node, _parent, state, _info) => {
// @ts-expect-error
const exit = state.enter("wikiLink");
const nodeValue = state.safe(node.value, { before: "[", after: "]" });
let value;
if (node.data.alias != null) {
const nodeAlias = state.safe(node.data.alias, {
before: "[",
after: "]",
});
value = `[[${nodeValue}${aliasDivider}${nodeAlias}]]`;
}
else {
value = `[[${nodeValue}]]`;
}
exit();
return value;
};
return {
unsafe: unsafe,
handlers: {
wikiLink,
},
};
}