site: refactor doc utils

This commit is contained in:
Glen Huang
2025-10-08 12:33:13 +08:00
committed by Johannes Kirschbauer
parent 4ba722dd36
commit bf46ea1ebb

View File

@@ -75,7 +75,15 @@ export async function normalizeNavLink(
}; };
} }
if (!("items" in navLink)) { if ("items" in navLink) {
return {
...navLink,
collapsed: !!navLink.collapsed,
badge: normalizeBadge(navLink.badge),
items: await Promise.all(navLink.items.map(normalizeNavLink)),
};
}
if ("slug" in navLink) { if ("slug" in navLink) {
const article = articles[navLink.slug]; const article = articles[navLink.slug];
if (!article) { if (!article) {
@@ -88,6 +96,7 @@ export async function normalizeNavLink(
external: false, external: false,
}; };
} }
if ("autogenerate" in navLink) { if ("autogenerate" in navLink) {
const dir = navLink.autogenerate.directory; const dir = navLink.autogenerate.directory;
const articleEntries = Object.entries(articles).filter(([key]) => const articleEntries = Object.entries(articles).filter(([key]) =>
@@ -145,18 +154,11 @@ export async function normalizeNavLink(
badge: normalizeBadge(navLink.badge), badge: normalizeBadge(navLink.badge),
}; };
} }
return {
...navLink,
badge: normalizeBadge(navLink.badge),
external: /^https?:\/\//.test(navLink.link),
};
}
return { return {
...navLink, ...navLink,
collapsed: !!navLink.collapsed,
badge: normalizeBadge(navLink.badge), badge: normalizeBadge(navLink.badge),
items: await Promise.all(navLink.items.map(normalizeNavLink)), external: /^(https?:)?\/\//.test(navLink.link),
}; };
} }