Files
herdr/website/src/docs-path.ts
T

21 lines
752 B
TypeScript

const docsLocales = new Set(['ja', 'zh-cn']);
export function docsChannel(pathname: string) {
return /^\/(?:ja\/|zh-cn\/)?docs\/preview(?:\/|$)/.test(pathname) ? 'preview' : 'stable';
}
export function docsPath({ entry }: { entry: string }) {
const slug = entry.replace(/\.(md|mdx|markdown|mdown|mkdn|mkd|mdwn)$/i, '');
const normalized = slug.replace(/\/index$/, '');
const segments = normalized.split('/');
const localeIndex = segments[0] === 'preview' ? 1 : 0;
const locale = segments[localeIndex];
if (locale && docsLocales.has(locale)) {
segments.splice(localeIndex, 1);
return `${locale}/docs${segments.length > 0 ? `/${segments.join('/')}` : ''}`;
}
return normalized === 'index' ? 'docs' : `docs/${normalized}`;
}