test02/node_modules/@vuepress/theme-default/lib/client/composables/useNavbarConfig.js
罗佳鸿 6aa1ebe342
Some checks are pending
部署文档 / deploy-gh-pages (push) Waiting to run
first commit
2024-08-13 10:11:19 +08:00

26 lines
911 B
JavaScript

import { useThemeLocaleData } from '@theme/useThemeData';
import { computed } from 'vue';
import { isString } from 'vuepress/shared';
import { getAutoLink, isLinkInternal, resolvePrefix } from '../utils/index.js';
const resolveNavbarItem = (item, prefix = '') => {
if (isString(item)) {
return getAutoLink(resolvePrefix(prefix, item));
}
if ('children' in item) {
return {
...item,
children: item.children.map((child) => resolveNavbarItem(child, resolvePrefix(prefix, item.prefix))),
};
}
return {
...item,
link: isLinkInternal(item.link)
? getAutoLink(resolvePrefix(prefix, item.link)).link
: item.link,
};
};
export const useNavbarConfig = () => {
const themeLocale = useThemeLocaleData();
return computed(() => (themeLocale.value.navbar || []).map((item) => resolveNavbarItem(item)));
};