UNPKG

@braindb/astro

Version:
46 lines 1.35 kB
// src/remarkWikiLink.ts import "@braindb/core"; import { visit, SKIP } from "unist-util-visit"; var remarkWikiLink = ({ bdb }) => { return (ast, _file) => { visit(ast, "wikiLink", (node) => { const slug = node.value; const alias = node.data.alias; const [slugWithoutAnchor, anchor] = slug.split("#"); if (slugWithoutAnchor) { const doc = bdb.documentsSync({ slug: slugWithoutAnchor })[0]; if (doc) { if (!doc.frontmatter().draft || import.meta.env && import.meta.env.DEV) { node.data = { hName: "a", hProperties: { href: anchor ? `${doc.url()}#${anchor}` : doc.url(), class: doc.frontmatter().draft ? "draft-link" : "" }, hChildren: [ { type: "text", value: alias == null ? doc.frontmatter().title : alias } ] }; } return SKIP; } } node.data = { hName: "span", hProperties: { class: "broken-link", title: `Can't resolve link to ${slug}` }, hChildren: [{ type: "text", value: alias || slug }] }; return SKIP; }); }; }; export { remarkWikiLink }; //# sourceMappingURL=remarkWikiLink.js.map