summaryrefslogtreecommitdiff
path: root/astro.config.mjs
blob: 5208eb1b314ac1f043b19efdb76799235516d663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import sitemap from "@astrojs/sitemap";
import { defineConfig, fontProviders } from "astro/config";

import mdx from "@astrojs/mdx";

import icon from "astro-icon";
import rehypeExternalLinks from "rehype-external-links";

import compressor from "astro-compressor";

export default defineConfig({
  compressHTML: true,
  site: "https://www.costas.dev",
  integrations: [
    sitemap({
      priority: 0.5,
      changefreq: "weekly",
    }),
    mdx(),
    icon(),
    compressor({
      zstd: false,
      fileExtensions: [".html", ".css", ".js", ".json", ".xml"],
    })
  ],
  build: {
    assets: "assets",
    inlineStylesheets: "never",
  },
  scopedStyleStrategy: "where",
  markdown: {
    remarkRehype: {
      footnoteLabel: "Notas"
    },
    rehypePlugins: [
      [
        rehypeExternalLinks,
        {
          "rel": ["nofollow", "noopener"],
          "properties": {
            "className": "external",
          },
        }
      ]
    ]
  },
  security: {
    csp: {
      algorithm: "SHA-384"
    }
  },
  fonts: [
    {
      provider: fontProviders.fontsource(),
      name: "Archivo",
      cssVariable: "--font-archivo"
    },
    {
      provider: fontProviders.fontsource(),
      name: "Inter",
      cssVariable: "--font-inter"
    }
  ],
  experimental: {
    rustCompiler: true,
    chromeDevtoolsWorkspace: true,
    contentIntellisense: true
  }
});