Fix Token

This commit is contained in:
2024-01-06 21:36:22 +01:00
parent 925db8b356
commit 36c7505c5d
4 changed files with 40 additions and 62 deletions

View File

@ -1,5 +1,5 @@
import type { AstroIntegration } from "astro";
import { mkdir, access, constants, copyFile, rename } from 'node:fs/promises'
import { mkdir, access, constants, copyFile, rename } from "node:fs/promises";
const locales = ["de"];
@ -8,30 +8,30 @@ export default function configureI18n(): AstroIntegration {
name: "astro-i18n-renamer",
hooks: {
"astro:build:done": async ({pages, dir, logger, routes}) => {
for (let page of pages) {
let [locale, ...rest] = page.pathname.split("/");
for (const page of pages) {
const [locale, ...rest] = page.pathname.split("/");
if (locales.includes(locale)) {
let path = rest.join("/");
let oldPath = `${dir.pathname}${page.pathname}`
let newPath = `${dir.pathname}${path}`
const path = rest.join("/");
const oldPath = `${dir.pathname}${page.pathname}`;
const newPath = `${dir.pathname}${path}`;
try {
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK)
await access(cutPrefix(newPath), constants.R_OK | constants.W_OK);
} catch (e) {
await mkdir(cutPrefix(newPath), {recursive: true});
}
await copyFile(`${cutPrefix(oldPath)}index.html`, `${cutPrefix(newPath)}index.html.${locale}`)
logger.info(`Copied ${oldPath}index.html to ${newPath}index.html.${locale}`)
await copyFile(`${cutPrefix(oldPath)}index.html`, `${cutPrefix(newPath)}index.html.${locale}`);
logger.info(`Copied ${oldPath}index.html to ${newPath}index.html.${locale}`);
} else {
let oldPath = cutPrefix(`${dir.pathname}${page.pathname}`)
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`)
const oldPath = cutPrefix(`${dir.pathname}${page.pathname}`);
await rename(`${oldPath}index.html`, `${oldPath}index.html.en`);
}
}
}
}
}
};
}
function cutPrefix(path: string): string {
return process.platform === "win32" ? path.substring(1) : path
return process.platform === "win32" ? path.substring(1) : path;
}