import { useRuntimeConfig } from '#imports';
import { withTrailingSlash } from 'ufo';
import type { LocaleObject } from '@nuxtjs/i18n';
export default defineNitroPlugin((nitroApp) => {
nitroApp.hooks.hook('render:html', (html, { event }) => {
if (event.path.includes("_nuxt") || event.path.match(/\d{3}\.html/) || event.path.match(/^\/ns/)) {
return;
}
const runtimeConfig = useRuntimeConfig();
const locales = runtimeConfig.public.locales as LocaleObject[];
if (!event.path.match(new RegExp(`^/(${locales.map((l) => l.code).join('|')})/`))) {
const links = locales.map((l) => {
const url = withTrailingSlash(`/${l.code}${event.path.replace(/\.html$/g, '/')}`);
return `${l.name}`;
});
html.htmlAttrs = [];
const remainingList: string[] = [];
html.head.forEach((v: string) => {
remainingList.push(...(v.match(/)/gm) ?? []));
remainingList.push(...(v.match(/]+>/gm) ?? []));
remainingList.push(...(v.match(/]+>/gm) ?? []));
remainingList.push(...(v.match(/\n');
html.body = [
'\n\n',
`\n`,
];
html.bodyAppend = [];
html.bodyPrepend = [];
}
});
});