feat: add sitemap integration and configure site URL

- Add @astrojs/sitemap dependency and configure it in astro.config.mjs
- Set site URL and markdown theme in astro config
- Remove unused theme variables from global.css
This commit is contained in:
joyzhao
2025-06-19 21:17:01 +08:00
parent 3b0c8e39df
commit c698d1ae45
4 changed files with 69 additions and 6 deletions

View File

@@ -4,8 +4,16 @@ import tailwindcss from "@tailwindcss/vite";
import react from "@astrojs/react";
import sitemap from "@astrojs/sitemap";
// https://astro.build/config
export default defineConfig({
site: 'https://zhaoguiyang.com',
markdown: {
shikiConfig: {
theme: 'dracula',
},
},
vite: {
plugins: [tailwindcss()],
},
@@ -19,5 +27,13 @@ export default defineConfig({
prefixDefaultLocale: false,
}
},
integrations: [react()]
integrations: [react(), sitemap({
i18n: {
defaultLocale: 'en',
locales: {
en: 'en',
zh: 'zh'
},
},
})]
});

View File

@@ -17,6 +17,7 @@
},
"dependencies": {
"@astrojs/react": "^4.2.1",
"@astrojs/sitemap": "^3.4.1",
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-slot": "^1.1.2",
"@tailwindcss/vite": "^4.0.14",

51
pnpm-lock.yaml generated
View File

@@ -11,6 +11,9 @@ importers:
'@astrojs/react':
specifier: ^4.2.1
version: 4.3.0(@types/node@24.0.1)(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(jiti@2.4.2)(lightningcss@1.30.1)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@astrojs/sitemap':
specifier: ^3.4.1
version: 3.4.1
'@radix-ui/react-scroll-area':
specifier: ^1.2.9
version: 1.2.9(@types/react-dom@19.1.6(@types/react@19.1.8))(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
@@ -95,6 +98,9 @@ packages:
react: ^17.0.2 || ^18.0.0 || ^19.0.0
react-dom: ^17.0.2 || ^18.0.0 || ^19.0.0
'@astrojs/sitemap@3.4.1':
resolution: {integrity: sha512-VjZvr1e4FH6NHyyHXOiQgLiw94LnCVY4v06wN/D0gZKchTMkg71GrAHJz81/huafcmavtLkIv26HnpfDq6/h/Q==}
'@astrojs/telemetry@3.3.0':
resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
@@ -854,6 +860,9 @@ packages:
'@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
'@types/node@17.0.45':
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
'@types/node@24.0.1':
resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==}
@@ -865,6 +874,9 @@ packages:
'@types/react@19.1.8':
resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
'@types/sax@1.2.7':
resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==}
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
@@ -904,6 +916,9 @@ packages:
aos@2.3.4:
resolution: {integrity: sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==}
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==}
@@ -1897,6 +1912,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
scheduler@0.26.0:
resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
@@ -1922,6 +1940,11 @@ packages:
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
sitemap@8.0.0:
resolution: {integrity: sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==}
engines: {node: '>=14.0.0', npm: '>=6.0.0'}
hasBin: true
smol-toml@1.3.4:
resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==}
engines: {node: '>= 18'}
@@ -1933,6 +1956,9 @@ packages:
space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
stream-replace-string@2.0.0:
resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==}
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -2319,6 +2345,12 @@ snapshots:
- tsx
- yaml
'@astrojs/sitemap@3.4.1':
dependencies:
sitemap: 8.0.0
stream-replace-string: 2.0.0
zod: 3.25.63
'@astrojs/telemetry@3.3.0':
dependencies:
ci-info: 4.2.0
@@ -2955,6 +2987,8 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
'@types/node@17.0.45': {}
'@types/node@24.0.1':
dependencies:
undici-types: 7.8.0
@@ -2967,6 +3001,10 @@ snapshots:
dependencies:
csstype: 3.1.3
'@types/sax@1.2.7':
dependencies:
'@types/node': 24.0.1
'@types/unist@3.0.3': {}
'@ungap/structured-clone@1.3.0': {}
@@ -3006,6 +3044,8 @@ snapshots:
lodash.debounce: 4.0.8
lodash.throttle: 4.1.1
arg@5.0.2: {}
argparse@2.0.1: {}
aria-query@5.3.2: {}
@@ -4281,6 +4321,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.43.0
fsevents: 2.3.3
sax@1.4.1: {}
scheduler@0.26.0: {}
semver@6.3.1: {}
@@ -4332,12 +4374,21 @@ snapshots:
sisteransi@1.0.5: {}
sitemap@8.0.0:
dependencies:
'@types/node': 17.0.45
'@types/sax': 1.2.7
arg: 5.0.2
sax: 1.4.1
smol-toml@1.3.4: {}
source-map-js@1.2.1: {}
space-separated-tokens@2.0.2: {}
stream-replace-string@2.0.0: {}
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0

View File

@@ -2,11 +2,6 @@
@import "tw-animate-css";
@plugin "@tailwindcss/typography";
@theme {
--typography-code-before-content: "";
--typography-code-after-content: "";
}
/* Blog List Component Styles */
.line-clamp-3 {
display: -webkit-box;