Commit a47ef74
Changed files (4)
src/layouts/GlobalLayout.astro
@@ -50,6 +50,7 @@ const {
title="Atom Feed"
href={url("/feed.atom")}
/>
+ <link rel="sitemap" href={url("/sitemap-index.xml")} />
<link
rel="stylesheet"
astro.config.ts
@@ -1,3 +1,4 @@
+import sitemap from "@astrojs/sitemap";
import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "astro/config";
import { typst } from "astro-typst";
@@ -24,6 +25,7 @@ export default defineConfig({
extractImage({
dir: SITE_CONFIG.assetDir,
}),
+ sitemap(),
],
markdown: {
rehypePlugins: [rehypeCleanEndnotes, rehypeExternalLinks],
package.json
@@ -10,6 +10,7 @@
},
"dependencies": {
"@astrojs/markdown-remark": "^6.3.11",
+ "@astrojs/sitemap": "^3.7.1",
"@myriaddreamin/typst-ts-node-compiler": "0.7.0-rc2",
"@myriaddreamin/typst-ts-renderer": "0.7.0-rc2",
"@myriaddreamin/typst.ts": "0.7.0-rc2",
pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
'@astrojs/markdown-remark':
specifier: ^6.3.11
version: 6.3.11
+ '@astrojs/sitemap':
+ specifier: ^3.7.1
+ version: 3.7.1
'@myriaddreamin/typst-ts-node-compiler':
specifier: 0.7.0-rc2
version: 0.7.0-rc2
@@ -86,6 +89,9 @@ packages:
resolution: {integrity: sha512-NndtNPpxaGinRpRytljGBvYHpTOwHycSZ/c+lQi5cHvkqqrHKWdkPEhImlODBNmbuB+vyQUNUDXyjzt66CihJg==}
engines: {node: ^20.19.1 || >=22.12.0}
+ '@astrojs/sitemap@3.7.1':
+ resolution: {integrity: sha512-IzQqdTeskaMX+QDZCzMuJIp8A8C1vgzMBp/NmHNnadepHYNHcxQdGLQZYfkbd2EbRXUfOS+UDIKx8sKg0oWVdw==}
+
'@astrojs/telemetry@3.3.0':
resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
@@ -878,12 +884,18 @@ packages:
'@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
+ '@types/node@24.12.0':
+ resolution: {integrity: sha512-GYDxsZi3ChgmckRT9HPU0WEhKLP08ev/Yfcq2AstjrDASOYCSXeyjDsHg4v5t4jOj7cyDX3vmprafKlWIG9MXQ==}
+
'@types/node@25.4.0':
resolution: {integrity: sha512-9wLpoeWuBlcbBpOY3XmzSTG3oscB6xjBEEtn+pYXTfhyXhIxC5FsBer2KTopBlvKEiW9l13po9fq+SJY/5lkhw==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
+ '@types/sax@1.2.7':
+ resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
+
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
@@ -907,6 +919,9 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
@@ -1784,6 +1799,11 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+ sitemap@9.0.1:
+ resolution: {integrity: sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==}
+ engines: {node: '>=20.19.5', npm: '>=10.8.2'}
+ hasBin: true
+
smol-toml@1.6.0:
resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==}
engines: {node: '>= 18'}
@@ -1799,6 +1819,9 @@ packages:
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+ stream-replace-string@2.0.0:
+ resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==}
+
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
@@ -1875,6 +1898,9 @@ packages:
uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+ undici-types@7.16.0:
+ resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
@@ -2143,6 +2169,12 @@ snapshots:
dependencies:
prismjs: 1.30.0
+ '@astrojs/sitemap@3.7.1':
+ dependencies:
+ sitemap: 9.0.1
+ stream-replace-string: 2.0.0
+ zod: 4.3.6
+
'@astrojs/telemetry@3.3.0':
dependencies:
ci-info: 4.4.0
@@ -2732,12 +2764,20 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
+ '@types/node@24.12.0':
+ dependencies:
+ undici-types: 7.16.0
+
'@types/node@25.4.0':
dependencies:
undici-types: 7.18.2
'@types/resolve@1.20.2': {}
+ '@types/sax@1.2.7':
+ dependencies:
+ '@types/node': 25.4.0
+
'@types/unist@2.0.11': {}
'@types/unist@3.0.3': {}
@@ -2755,6 +2795,8 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
+ arg@5.0.2: {}
+
argparse@2.0.1: {}
aria-query@5.3.2: {}
@@ -4207,6 +4249,13 @@ snapshots:
sisteransi@1.0.5: {}
+ sitemap@9.0.1:
+ dependencies:
+ '@types/node': 24.12.0
+ '@types/sax': 1.2.7
+ arg: 5.0.2
+ sax: 1.5.0
+
smol-toml@1.6.0: {}
source-map-js@1.2.1: {}
@@ -4215,6 +4264,8 @@ snapshots:
space-separated-tokens@2.0.2: {}
+ stream-replace-string@2.0.0: {}
+
stringify-entities@4.0.4:
dependencies:
character-entities-html4: 2.1.0
@@ -4306,6 +4357,8 @@ snapshots:
uncrypto@0.1.3: {}
+ undici-types@7.16.0: {}
+
undici-types@7.18.2: {}
undici@7.22.0: {}