forked from redsh4de/monero-site-astro
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathastro.config.mjs
More file actions
53 lines (50 loc) · 1.3 KB
/
Copy pathastro.config.mjs
File metadata and controls
53 lines (50 loc) · 1.3 KB
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
// @ts-check
import sitemap from "@astrojs/sitemap";
import { filterSitemapByDefaultLocale, i18n } from "astro-i18n-aut/integration";
import { defineConfig } from "astro/config";
import { defaultLocale, locales } from "./src/i18n/config";
import { moneropediaLinks } from "./src/plugins/remark-moneropedia";
import rehypeExternalLinks from "rehype-external-links";
import { isExternal } from "./src/utils/links";
const SITE_ROOTDOMAIN = "getmonero.org";
// https://astro.build/config
export default defineConfig({
output: "static",
site: `https://${SITE_ROOTDOMAIN}`,
trailingSlash: "always",
markdown: {
remarkPlugins: [moneropediaLinks],
rehypePlugins: [
[
rehypeExternalLinks,
{
target: "_blank",
rel: ["noopener", "noreferrer", "external"],
/** @param {import('hast').Element} node*/
test: (node) => isExternal(node, SITE_ROOTDOMAIN),
},
],
],
},
build: {
format: "directory",
},
image: {
responsiveStyles: true,
layout: "constrained",
},
integrations: [
i18n({
locales,
defaultLocale,
exclude: ["pages/**/*.{js,ts}"],
}),
sitemap({
i18n: {
locales,
defaultLocale,
},
filter: filterSitemapByDefaultLocale({ defaultLocale }),
}),
],
});