mirror of
https://github.com/mmahdium/portfolio.git
synced 2025-12-20 09:23:54 +01:00
- Modify content file parsing hook to handle both English and Persian blog routes - Remove English locale prefix for default language routes - Preserve Persian locale prefix for localized routes - Add type assertions to resolve TypeScript hook typing issues - Improve logging for prerendered blog routes
29 lines
881 B
TypeScript
29 lines
881 B
TypeScript
export default defineNitroPlugin(async (nitroApp) => {
|
|
if (!import.meta.prerender) {
|
|
return
|
|
}
|
|
|
|
const routes: string[] = []
|
|
|
|
nitroApp.hooks.hook('content:file:afterParse' as any, (file: any) => {
|
|
// Collect blog post routes for prerendering
|
|
if (file._path && !file.draft) {
|
|
// English routes: /en/blog/post -> /blog/post (no prefix for default locale)
|
|
if (file._path.startsWith('/en/blog/')) {
|
|
const routeWithoutPrefix = file._path.replace('/en', '')
|
|
routes.push(routeWithoutPrefix)
|
|
}
|
|
// Persian routes: /fa/blog/post -> /fa/blog/post (keep prefix)
|
|
else if (file._path.startsWith('/fa/blog/')) {
|
|
routes.push(file._path)
|
|
}
|
|
}
|
|
})
|
|
|
|
nitroApp.hooks.hook('prerender:generate' as any, async () => {
|
|
for (const route of routes) {
|
|
console.log(`Prerendering blog route: ${route}`)
|
|
}
|
|
})
|
|
})
|