Skip to content

Instantly share code, notes, and snippets.

@mym0404
Last active January 17, 2026 04:10
Show Gist options
  • Select an option

  • Save mym0404/221395ab85a7af0cce374b32c13368a9 to your computer and use it in GitHub Desktop.

Select an option

Save mym0404/221395ab85a7af0cce374b32c13368a9 to your computer and use it in GitHub Desktop.
visit<VisitTree, string>(tree, "wikiLink", (node, index, parent) => {
if (!parent || !hasChildren(parent) || typeof index !== "number") {
return;
}
const target = getWikiLinkTarget({ node });
if (getWikiLinkEmbed({ node })) {
if (!target || target.anchor || target.anchorType) {
return;
}
const alias = getWikiLinkAlias({ node });
const resolvedPath = resolveTargetPath({
target,
resolver,
});
const resolvedUrl = resolveEmbedUrl({
target,
contentRoot,
contentRootUrlPrefix,
resolvedPath: resolvedPath ?? undefined,
pathTransform: embedingPathTransform,
});
const rendered = renderEmbedNode({
target,
embedRendering,
contentRoot,
resolvedPath: resolvedPath ?? undefined,
resolvedUrl,
alias,
});
if (rendered) {
replaceNode(index, parent, rendered);
}
return;
}
if (!target) {
return;
}
const resolvedPath = target.page
? resolveTargetPath({
target,
resolver,
})
: null;
const resolvedUrl = resolveWikiLinkUrl({
target,
contentRoot,
contentRootUrlPrefix,
resolvedPath: resolvedPath ?? undefined,
pathTransform: wikiLinkPathTransform,
});
const linkNode = createLinkFromWikiLink({ node, resolvedUrl });
if (linkNode) {
replaceNode(index, parent, linkNode);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment