import { defineUserConfig } from 'vitepress-export-pdf' import userConfig from './config.mjs' function extractLinksFromConfig(config: DefaultTheme.Config) { const links: string[] = [] function extractLinks(sidebar: DefaultTheme.SidebarItem[]) { for (const item of sidebar) { if (item.items) extractLinks(item.items) else if (item.link) links.push(`${item.link}.html`) } } for (const key in config.sidebar) extractLinks(config.sidebar[key]) return links } const links = extractLinksFromConfig(userConfig.themeConfig!) export default defineUserConfig({ sorter: (pageA, pageB) => { const routeOrder = [ '/index.html', ...links, ] const aIndex = routeOrder.findIndex(route => route === pageA.path) const bIndex = routeOrder.findIndex(route => route === pageB.path) if (aIndex === -1 && bIndex === -1) { return pageA.path.localeCompare(pageB.path) } if (aIndex === -1) return 1 if (bIndex === -1) return -1 return aIndex - bIndex }, outFile: 'HF-MES-v5.0-使用手册.pdf', outDir: 'docs', routePatterns: ['/**'], pdfOptions: { format: 'A4', margin: { top: '20mm', right: '15mm', bottom: '20mm', left: '15mm' }, printBackground: true, preferCSSPageSize: true, displayHeaderFooter: true, headerTemplate: `