srx.astro.nix/astro.config.mjs

67 lines
1.3 KiB
JavaScript

import path from "path";
import { defineConfig } from "astro/config";
import react from "@astrojs/react";
import vue from "@astrojs/vue";
import mdx from "@astrojs/mdx";
import tailwind from "@astrojs/tailwind";
import astroI18next from "astro-i18next";
import remarkToc from "remark-toc";
import robotsTxt from "astro-robots-txt";
import sitemap from "@astrojs/sitemap";
import { astroImageTools } from "astro-imagetools";
const mkPath = (name) => path.resolve(`./src/${name}`);
const tailwindConfig = {
config: {
applyBaseStyles: false,
},
};
const external = ["svgo"];
const mdxConfig = {};
const alias = {
"@srx-components": mkPath("components"),
"@srx-layouts": mkPath("layouts"),
"@srx-pages": mkPath("pages"),
"@srx-scripts": mkPath("scripts"),
"@srx-styles": mkPath("styles"),
};
// https://astro.build/config
export default defineConfig({
site: "https://srx.dev",
server: {
port: 3001,
},
integrations: [
react(),
vue(),
tailwind(tailwindConfig),
mdx(mdxConfig),
astroI18next(),
sitemap(),
robotsTxt(),
astroImageTools,
],
markdown: {
remarkPlugins: [
[
remarkToc,
{
heading: "contents",
},
],
],
},
// experimental: {
// contentCollections: true,
// },
vite: {
ssr: {
external,
},
resolve: {
alias,
},
},
});