jalil.arfaoui.net/astro.config.mjs

46 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-08-18 19:06:50 +02:00
import { defineConfig } from "astro/config";
import sitemap from "@astrojs/sitemap";
2024-08-18 19:06:50 +02:00
import tailwind from "@astrojs/tailwind";
import { getAlternateUrls } from "./src/utils/page-translations.ts";
2024-08-18 19:06:50 +02:00
// https://astro.build/config
export default defineConfig({
site: "https://jalil.arfaoui.net",
devToolbar: { enabled: false },
integrations: [
tailwind(),
sitemap({
serialize(item) {
const url = new URL(item.url);
const pathname = decodeURIComponent(url.pathname).replace(/\/$/, "") || "/";
const alternates = getAlternateUrls(pathname);
if (alternates) {
const fullUrl = (path) =>
path === "/" ? `${url.origin}/` : `${url.origin}${path}/`;
item.links = [
{ lang: "fr", url: fullUrl(alternates.fr) },
{ lang: "en", url: fullUrl(alternates.en) },
{ lang: "ar", url: fullUrl(alternates.ar) },
{ lang: "x-default", url: fullUrl(alternates.fr) },
];
}
return item;
},
}),
],
redirects: {
"/photos": {
status: 301,
destination: "https://photos.jalil.arfaoui.net"
}
},
i18n: {
defaultLocale: "fr",
locales: ["fr", "en", "ar"],
routing: {
prefixDefaultLocale: false
}
}
2024-08-18 19:06:50 +02:00
});