🚀 perf: use native scrollbar instead of overlayscrollbars, switch waline to cdn import

- remove preload comment configuration
- remove preload meta tags in head
- update 404 page
This commit is contained in:
radishzzz 2025-05-15 20:23:32 +01:00
parent d0e699d8cb
commit 43295bc7b9
25 changed files with 199 additions and 209 deletions

View file

@ -25,4 +25,4 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.
### Additional context补充信息 ### Additional context补充信息
Add any other context about the problem here. Add any other context about the problem here.

View file

@ -10,13 +10,13 @@
"preview": "astro preview", "preview": "astro preview",
"astro": "astro", "astro": "astro",
"lint": "eslint .", "lint": "eslint .",
"lint:fix": "eslint . --fix" "lint:fix": "eslint . --fix",
"waline": "curl -L https://unpkg.com/@waline/client@v3/dist/waline.css -o public/assets/waline/waline.css && curl -L https://unpkg.com/@waline/client@v3/dist/waline.js -o public/assets/waline/waline.js"
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.2.6", "@astrojs/mdx": "^4.2.6",
"@astrojs/partytown": "^2.1.4", "@astrojs/partytown": "^2.1.4",
"@astrojs/sitemap": "^3.4.0", "@astrojs/sitemap": "^3.4.0",
"@waline/client": "^3.5.7",
"astro": "^5.7.13", "astro": "^5.7.13",
"astro-og-canvas": "^0.7.0", "astro-og-canvas": "^0.7.0",
"astro-robots-txt": "^1.0.0", "astro-robots-txt": "^1.0.0",

188
pnpm-lock.yaml generated
View file

@ -10,22 +10,19 @@ importers:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.2.6 specifier: ^4.2.6
version: 4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) version: 4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0))
'@astrojs/partytown': '@astrojs/partytown':
specifier: ^2.1.4 specifier: ^2.1.4
version: 2.1.4 version: 2.1.4
'@astrojs/sitemap': '@astrojs/sitemap':
specifier: ^3.4.0 specifier: ^3.4.0
version: 3.4.0 version: 3.4.0
'@waline/client':
specifier: ^3.5.7
version: 3.5.7(typescript@5.8.3)
astro: astro:
specifier: ^5.7.13 specifier: ^5.7.13
version: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) version: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
astro-og-canvas: astro-og-canvas:
specifier: ^0.7.0 specifier: ^0.7.0
version: 0.7.0(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) version: 0.7.0(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0))
astro-robots-txt: astro-robots-txt:
specifier: ^1.0.0 specifier: ^1.0.0
version: 1.0.0 version: 1.0.0
@ -83,7 +80,7 @@ importers:
devDependencies: devDependencies:
'@antfu/eslint-config': '@antfu/eslint-config':
specifier: ^4.13.0 specifier: ^4.13.0
version: 4.13.0(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.14)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) version: 4.13.0(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.14)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))
'@astrojs/check': '@astrojs/check':
specifier: ^0.9.4 specifier: ^0.9.4
version: 0.9.4(typescript@5.8.3) version: 0.9.4(typescript@5.8.3)
@ -125,7 +122,7 @@ importers:
version: 5.8.3 version: 5.8.3
unocss: unocss:
specifier: 66.1.2 specifier: 66.1.2
version: 66.1.2(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3)) version: 66.1.2(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))
unocss-preset-theme: unocss-preset-theme:
specifier: ^0.14.1 specifier: ^0.14.1
version: 0.14.1(@unocss/core@66.1.2) version: 0.14.1(@unocss/core@66.1.2)
@ -777,8 +774,8 @@ packages:
'@mdx-js/mdx@3.1.0': '@mdx-js/mdx@3.1.0':
resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
'@modelcontextprotocol/sdk@1.11.2': '@modelcontextprotocol/sdk@1.11.3':
resolution: {integrity: sha512-H9vwztj5OAqHg9GockCQC06k1natgcxWQSRpQcPJf6i5+MWBzfKkRtxGbjQf0X2ihii0ffLZCRGbYV2f2bjNCQ==} resolution: {integrity: sha512-rmOWVRUbUJD7iSvJugjUbFZshTAuJ48MXoZ80Osx1GM0K/H1w7rSEvmw8m6vdWxNASgtaHIhAgre4H/E9GJiYQ==}
engines: {node: '>=18'} engines: {node: '>=18'}
'@napi-rs/wasm-runtime@0.2.9': '@napi-rs/wasm-runtime@0.2.9':
@ -1024,9 +1021,6 @@ packages:
'@types/unist@3.0.3': '@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
'@types/web-bluetooth@0.0.21':
resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==}
'@typescript-eslint/eslint-plugin@8.32.1': '@typescript-eslint/eslint-plugin@8.32.1':
resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==} resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@ -1359,27 +1353,6 @@ packages:
'@vue/shared@3.5.14': '@vue/shared@3.5.14':
resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==} resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==}
'@vueuse/core@13.2.0':
resolution: {integrity: sha512-n5TZoIAxbWAQ3PqdVPDzLgIRQOujFfMlatdI+f7ditSmoEeNpPBvp7h2zamzikCmrhFIePAwdEQB6ENccHr7Rg==}
peerDependencies:
vue: ^3.5.0
'@vueuse/metadata@13.2.0':
resolution: {integrity: sha512-kPpzuQCU0+D8DZCzK0iPpIcXI+6ufWSgwnjJ6//GNpEn+SHViaCtR+XurzORChSgvpHO9YC8gGM97Y1kB+UabA==}
'@vueuse/shared@13.2.0':
resolution: {integrity: sha512-vx9ZPDF5HcU9up3Jgt3G62dMUfZEdk6tLyBAHYAG4F4n73vpaA7J5hdncDI/lS9Vm7GA/FPlbOmh9TrDZROTpg==}
peerDependencies:
vue: ^3.5.0
'@waline/api@1.0.0':
resolution: {integrity: sha512-o0lWjt+/oZH1/4q3DJxTf5kdkgNbSmoLRXIiGznW225A6hq9/9IkOO1DiAijIsxGYJS6psFC+58+IzkD1EerBA==}
engines: {node: '>=18'}
'@waline/client@3.5.7':
resolution: {integrity: sha512-9DMlO9fiOgnBQRCIlyasfe0mbpIe4fgecsbOLhai1TbAa9XONFfZYvHoqppedfiyT8Wi156PUFgGNkXFIJowEg==}
engines: {node: '>=18'}
'@webgpu/types@0.1.21': '@webgpu/types@0.1.21':
resolution: {integrity: sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==} resolution: {integrity: sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==}
@ -1483,9 +1456,6 @@ packages:
peerDependencies: peerDependencies:
'@astrojs/compiler': '>=0.27.0' '@astrojs/compiler': '>=0.27.0'
autosize@6.0.1:
resolution: {integrity: sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==}
axobject-query@4.1.0: axobject-query@4.1.0:
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -1862,8 +1832,8 @@ packages:
ee-first@1.1.1: ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
electron-to-chromium@1.5.154: electron-to-chromium@1.5.155:
resolution: {integrity: sha512-G4VCFAyKbp1QJ+sWdXYIRYsPGvlV5sDACfCmoMFog3rjm1syLhI41WXm/swZypwCIWIm4IFLWzHY14joWMQ5Fw==} resolution: {integrity: sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==}
emmet@2.4.11: emmet@2.4.11:
resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==} resolution: {integrity: sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==}
@ -2737,16 +2707,6 @@ packages:
markdown-table@3.0.4: markdown-table@3.0.4:
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
marked-highlight@2.2.1:
resolution: {integrity: sha512-SiCIeEiQbs9TxGwle9/OwbOejHCZsohQRaNTY2u8euEXYt2rYUFoiImUirThU3Gd/o6Q1gHGtH9qloHlbJpNIA==}
peerDependencies:
marked: '>=4 <16'
marked@15.0.11:
resolution: {integrity: sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==}
engines: {node: '>= 18'}
hasBin: true
math-intrinsics@1.1.0: math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -3282,9 +3242,6 @@ packages:
reading-time@1.5.0: reading-time@1.5.0:
resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==}
recaptcha-v3@1.11.3:
resolution: {integrity: sha512-sEE6J0RzUkS+sKEBpgCD/AqCU0ffrAVOADGjvAx9vcttN+VLK42SWMkj/J/I6vHu3Kew+xcfbBqDVb65N0QGDw==}
recma-build-jsx@1.0.0: recma-build-jsx@1.0.0:
resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
@ -4194,9 +4151,9 @@ packages:
resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
yaml@2.7.1: yaml@2.8.0:
resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==}
engines: {node: '>= 14'} engines: {node: '>= 14.6'}
hasBin: true hasBin: true
yargs-parser@21.1.1: yargs-parser@21.1.1:
@ -4247,7 +4204,7 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.8 '@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
'@antfu/eslint-config@4.13.0(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.14)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': '@antfu/eslint-config@4.13.0(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.2(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.14)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))':
dependencies: dependencies:
'@antfu/install-pkg': 1.1.0 '@antfu/install-pkg': 1.1.0
'@clack/prompts': 0.10.1 '@clack/prompts': 0.10.1
@ -4256,7 +4213,7 @@ snapshots:
'@stylistic/eslint-plugin': 4.2.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) '@stylistic/eslint-plugin': 4.2.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': 8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@vitest/eslint-plugin': 1.1.44(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) '@vitest/eslint-plugin': 1.1.44(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))
ansis: 3.17.0 ansis: 3.17.0
cac: 6.7.14 cac: 6.7.14
eslint: 9.26.0(jiti@2.4.2) eslint: 9.26.0(jiti@2.4.2)
@ -4369,12 +4326,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/mdx@4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1))': '@astrojs/mdx@4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0))':
dependencies: dependencies:
'@astrojs/markdown-remark': 6.3.1 '@astrojs/markdown-remark': 6.3.1
'@mdx-js/mdx': 3.1.0(acorn@8.14.1) '@mdx-js/mdx': 3.1.0(acorn@8.14.1)
acorn: 8.14.1 acorn: 8.14.1
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
es-module-lexer: 1.7.0 es-module-lexer: 1.7.0
estree-util-visit: 2.0.0 estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5 hast-util-to-html: 9.0.5
@ -4417,7 +4374,7 @@ snapshots:
'@astrojs/yaml2ts@0.2.2': '@astrojs/yaml2ts@0.2.2':
dependencies: dependencies:
yaml: 2.7.1 yaml: 2.8.0
'@babel/helper-string-parser@7.27.1': {} '@babel/helper-string-parser@7.27.1': {}
@ -4878,7 +4835,7 @@ snapshots:
- acorn - acorn
- supports-color - supports-color
'@modelcontextprotocol/sdk@1.11.2': '@modelcontextprotocol/sdk@1.11.3':
dependencies: dependencies:
content-type: 1.0.5 content-type: 1.0.5
cors: 2.8.5 cors: 2.8.5
@ -5116,8 +5073,6 @@ snapshots:
'@types/unist@3.0.3': {} '@types/unist@3.0.3': {}
'@types/web-bluetooth@0.0.21': {}
'@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies: dependencies:
'@eslint-community/regexpp': 4.12.1 '@eslint-community/regexpp': 4.12.1
@ -5197,13 +5152,13 @@ snapshots:
'@ungap/structured-clone@1.3.0': {} '@ungap/structured-clone@1.3.0': {}
'@unocss/astro@66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3))': '@unocss/astro@66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))':
dependencies: dependencies:
'@unocss/core': 66.1.2 '@unocss/core': 66.1.2
'@unocss/reset': 66.1.2 '@unocss/reset': 66.1.2
'@unocss/vite': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3)) '@unocss/vite': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue
@ -5354,7 +5309,7 @@ snapshots:
dependencies: dependencies:
'@unocss/core': 66.1.2 '@unocss/core': 66.1.2
'@unocss/vite@66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3))': '@unocss/vite@66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@unocss/config': 66.1.2 '@unocss/config': 66.1.2
@ -5365,7 +5320,7 @@ snapshots:
pathe: 2.0.3 pathe: 2.0.3
tinyglobby: 0.2.13 tinyglobby: 0.2.13
unplugin-utils: 0.2.4 unplugin-utils: 0.2.4
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue
@ -5422,13 +5377,13 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.7.2': '@unrs/resolver-binding-win32-x64-msvc@1.7.2':
optional: true optional: true
'@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))':
dependencies: dependencies:
'@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/utils': 8.32.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.26.0(jiti@2.4.2) eslint: 9.26.0(jiti@2.4.2)
optionalDependencies: optionalDependencies:
typescript: 5.8.3 typescript: 5.8.3
vitest: 3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vitest: 3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
'@vitest/expect@3.1.1': '@vitest/expect@3.1.1':
dependencies: dependencies:
@ -5438,13 +5393,13 @@ snapshots:
tinyrainbow: 2.0.0 tinyrainbow: 2.0.0
optional: true optional: true
'@vitest/mocker@3.1.1(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': '@vitest/mocker@3.1.1(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))':
dependencies: dependencies:
'@vitest/spy': 3.1.1 '@vitest/spy': 3.1.1
estree-walker: 3.0.3 estree-walker: 3.0.3
magic-string: 0.30.17 magic-string: 0.30.17
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
optional: true optional: true
'@vitest/pretty-format@3.1.1': '@vitest/pretty-format@3.1.1':
@ -5586,33 +5541,6 @@ snapshots:
'@vue/shared@3.5.14': {} '@vue/shared@3.5.14': {}
'@vueuse/core@13.2.0(vue@3.5.14(typescript@5.8.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 13.2.0
'@vueuse/shared': 13.2.0(vue@3.5.14(typescript@5.8.3))
vue: 3.5.14(typescript@5.8.3)
'@vueuse/metadata@13.2.0': {}
'@vueuse/shared@13.2.0(vue@3.5.14(typescript@5.8.3))':
dependencies:
vue: 3.5.14(typescript@5.8.3)
'@waline/api@1.0.0': {}
'@waline/client@3.5.7(typescript@5.8.3)':
dependencies:
'@vueuse/core': 13.2.0(vue@3.5.14(typescript@5.8.3))
'@waline/api': 1.0.0
autosize: 6.0.1
marked: 15.0.11
marked-highlight: 2.2.1(marked@15.0.11)
recaptcha-v3: 1.11.3
vue: 3.5.14(typescript@5.8.3)
transitivePeerDependencies:
- typescript
'@webgpu/types@0.1.21': {} '@webgpu/types@0.1.21': {}
accepts@2.0.0: accepts@2.0.0:
@ -5697,9 +5625,9 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
astro-og-canvas@0.7.0(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)): astro-og-canvas@0.7.0(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)):
dependencies: dependencies:
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0)
canvaskit-wasm: 0.39.1 canvaskit-wasm: 0.39.1
deterministic-object-hash: 2.0.2 deterministic-object-hash: 2.0.2
entities: 4.5.0 entities: 4.5.0
@ -5709,7 +5637,7 @@ snapshots:
valid-filename: 4.0.0 valid-filename: 4.0.0
zod: 3.24.4 zod: 3.24.4
astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1): astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.2)(terser@5.39.0)(typescript@5.8.3)(yaml@2.8.0):
dependencies: dependencies:
'@astrojs/compiler': 2.12.0 '@astrojs/compiler': 2.12.0
'@astrojs/internal-helpers': 0.6.1 '@astrojs/internal-helpers': 0.6.1
@ -5763,8 +5691,8 @@ snapshots:
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
unstorage: 1.16.0 unstorage: 1.16.0
vfile: 6.0.3 vfile: 6.0.3
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) vitefu: 1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))
xxhash-wasm: 1.1.0 xxhash-wasm: 1.1.0
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yocto-spinner: 0.2.2 yocto-spinner: 0.2.2
@ -5813,8 +5741,6 @@ snapshots:
'@astrojs/compiler': 2.12.0 '@astrojs/compiler': 2.12.0
synckit: 0.11.5 synckit: 0.11.5
autosize@6.0.1: {}
axobject-query@4.1.0: {} axobject-query@4.1.0: {}
bail@2.0.2: {} bail@2.0.2: {}
@ -5876,7 +5802,7 @@ snapshots:
browserslist@4.24.5: browserslist@4.24.5:
dependencies: dependencies:
caniuse-lite: 1.0.30001718 caniuse-lite: 1.0.30001718
electron-to-chromium: 1.5.154 electron-to-chromium: 1.5.155
node-releases: 2.0.19 node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.5) update-browserslist-db: 1.1.3(browserslist@4.24.5)
@ -6161,7 +6087,7 @@ snapshots:
ee-first@1.1.1: {} ee-first@1.1.1: {}
electron-to-chromium@1.5.154: {} electron-to-chromium@1.5.155: {}
emmet@2.4.11: emmet@2.4.11:
dependencies: dependencies:
@ -6493,7 +6419,7 @@ snapshots:
'@humanfs/node': 0.16.6 '@humanfs/node': 0.16.6
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3 '@humanwhocodes/retry': 0.4.3
'@modelcontextprotocol/sdk': 1.11.2 '@modelcontextprotocol/sdk': 1.11.3
'@types/estree': 1.0.7 '@types/estree': 1.0.7
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
ajv: 6.12.6 ajv: 6.12.6
@ -7178,7 +7104,7 @@ snapshots:
nano-spawn: 1.0.1 nano-spawn: 1.0.1
pidtree: 0.6.0 pidtree: 0.6.0
string-argv: 0.3.2 string-argv: 0.3.2
yaml: 2.7.1 yaml: 2.8.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -7243,12 +7169,6 @@ snapshots:
markdown-table@3.0.4: {} markdown-table@3.0.4: {}
marked-highlight@2.2.1(marked@15.0.11):
dependencies:
marked: 15.0.11
marked@15.0.11: {}
math-intrinsics@1.1.0: {} math-intrinsics@1.1.0: {}
mdast-util-definitions@6.0.0: mdast-util-definitions@6.0.0:
@ -7985,7 +7905,7 @@ snapshots:
pnpm-workspace-yaml@0.3.1: pnpm-workspace-yaml@0.3.1:
dependencies: dependencies:
yaml: 2.7.1 yaml: 2.8.0
postcss-selector-parser@6.1.2: postcss-selector-parser@6.1.2:
dependencies: dependencies:
@ -8055,8 +7975,6 @@ snapshots:
reading-time@1.5.0: {} reading-time@1.5.0: {}
recaptcha-v3@1.11.3: {}
recma-build-jsx@1.0.0: recma-build-jsx@1.0.0:
dependencies: dependencies:
'@types/estree': 1.0.7 '@types/estree': 1.0.7
@ -8798,9 +8716,9 @@ snapshots:
'@unocss/core': 66.1.2 '@unocss/core': 66.1.2
'@unocss/rule-utils': 0.63.6 '@unocss/rule-utils': 0.63.6
unocss@66.1.2(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3)): unocss@66.1.2(postcss@8.5.3)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3)):
dependencies: dependencies:
'@unocss/astro': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3)) '@unocss/astro': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))
'@unocss/cli': 66.1.2 '@unocss/cli': 66.1.2
'@unocss/core': 66.1.2 '@unocss/core': 66.1.2
'@unocss/postcss': 66.1.2(postcss@8.5.3) '@unocss/postcss': 66.1.2(postcss@8.5.3)
@ -8818,9 +8736,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.1.2 '@unocss/transformer-compile-class': 66.1.2
'@unocss/transformer-directives': 66.1.2 '@unocss/transformer-directives': 66.1.2
'@unocss/transformer-variant-group': 66.1.2 '@unocss/transformer-variant-group': 66.1.2
'@unocss/vite': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.14(typescript@5.8.3)) '@unocss/vite': 66.1.2(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))(vue@3.5.14(typescript@5.8.3))
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- postcss - postcss
- supports-color - supports-color
@ -8899,13 +8817,13 @@ snapshots:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
vfile-message: 4.0.2 vfile-message: 4.0.2
vite-node@3.1.1(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): vite-node@3.1.1(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0):
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
debug: 4.4.1 debug: 4.4.1
es-module-lexer: 1.7.0 es-module-lexer: 1.7.0
pathe: 2.0.3 pathe: 2.0.3
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/node' - '@types/node'
- jiti - jiti
@ -8921,7 +8839,7 @@ snapshots:
- yaml - yaml
optional: true optional: true
vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0):
dependencies: dependencies:
esbuild: 0.25.4 esbuild: 0.25.4
fdir: 6.4.4(picomatch@4.0.2) fdir: 6.4.4(picomatch@4.0.2)
@ -8935,16 +8853,16 @@ snapshots:
jiti: 2.4.2 jiti: 2.4.2
lightningcss: 1.29.3 lightningcss: 1.29.3
terser: 5.39.0 terser: 5.39.0
yaml: 2.7.1 yaml: 2.8.0
vitefu@1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)): vitefu@1.0.6(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)):
optionalDependencies: optionalDependencies:
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0):
dependencies: dependencies:
'@vitest/expect': 3.1.1 '@vitest/expect': 3.1.1
'@vitest/mocker': 3.1.1(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) '@vitest/mocker': 3.1.1(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0))
'@vitest/pretty-format': 3.1.3 '@vitest/pretty-format': 3.1.3
'@vitest/runner': 3.1.1 '@vitest/runner': 3.1.1
'@vitest/snapshot': 3.1.1 '@vitest/snapshot': 3.1.1
@ -8960,8 +8878,8 @@ snapshots:
tinyexec: 0.3.2 tinyexec: 0.3.2
tinypool: 1.0.2 tinypool: 1.0.2
tinyrainbow: 2.0.0 tinyrainbow: 2.0.0
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
vite-node: 3.1.1(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) vite-node: 3.1.1(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.8.0)
why-is-node-running: 2.3.0 why-is-node-running: 2.3.0
optionalDependencies: optionalDependencies:
'@types/debug': 4.1.12 '@types/debug': 4.1.12
@ -9171,7 +9089,7 @@ snapshots:
yaml-eslint-parser@1.3.0: yaml-eslint-parser@1.3.0:
dependencies: dependencies:
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3
yaml: 2.7.1 yaml: 2.8.0
yaml-language-server@1.15.0: yaml-language-server@1.15.0:
dependencies: dependencies:
@ -9190,7 +9108,7 @@ snapshots:
yaml@2.2.2: {} yaml@2.2.2: {}
yaml@2.7.1: {} yaml@2.8.0: {}
yargs-parser@21.1.1: {} yargs-parser@21.1.1: {}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,13 +2,6 @@
import { defaultLocale, themeConfig } from '@/config' import { defaultLocale, themeConfig } from '@/config'
import { walineLocaleMap } from '@/i18n/config' import { walineLocaleMap } from '@/i18n/config'
const {
serverURL = '',
emoji = [],
search = false,
imageUploader = false,
} = themeConfig.comment?.waline ?? {}
// Get the language code of Waline // Get the language code of Waline
function getWalineLang(currentPath: string, defaultLocale: string): string { function getWalineLang(currentPath: string, defaultLocale: string): string {
// Extract language code from path // Extract language code from path
@ -20,43 +13,45 @@ function getWalineLang(currentPath: string, defaultLocale: string): string {
return walineLocaleMap[lang as keyof typeof walineLocaleMap] return walineLocaleMap[lang as keyof typeof walineLocaleMap]
} }
// Get Waline language and generate configuration json
const walineLang = getWalineLang(Astro.url.pathname, defaultLocale) const walineLang = getWalineLang(Astro.url.pathname, defaultLocale)
const walineConfigJson = JSON.stringify({ const { waline: { serverURL = '', emoji = [], search = false, imageUploader = false } = {} } = themeConfig.comment ?? {}
serverURL,
lang: walineLang,
emoji,
search,
imageUploader,
})
--- ---
<div <div
id="waline" id="waline"
class="mt-16" class="mt-16"
data-config={walineConfigJson} ></div>
>
</div>
<!-- Not use is:inline or define:vars >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> --> <!-- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
<script>
import { init } from '@waline/client' <script
import '@waline/client/style' is:inline
define:vars={{
walineLang,
serverURL,
emoji,
search,
imageUploader,
}}
type="module"
>
import { init } from '/assets/waline/waline.js'
function initWaline() { function initWaline() {
const walineEl = document.getElementById('waline')
const walineConfig = JSON.parse(walineEl?.dataset.config || '{}')
init({ init({
el: '#waline', el: '#waline',
serverURL,
path: window.location.pathname.replace(/^\/([a-z]{2}(-[a-z]{2})?)\//, '/'), path: window.location.pathname.replace(/^\/([a-z]{2}(-[a-z]{2})?)\//, '/'),
lang: walineLang,
emoji,
dark: 'html.dark', dark: 'html.dark',
requiredMeta: ['nick', 'mail'], requiredMeta: ['nick', 'mail'],
highlighter: false, highlighter: false,
texRenderer: false, texRenderer: false,
imageUploader,
search,
noCopyright: true, noCopyright: true,
reaction: [], reaction: [],
...walineConfig,
}) })
} }
@ -79,7 +74,7 @@ document.addEventListener('astro:page-load', initWaline)
--at-apply: 'leading-3.6 mt-1.4'; --at-apply: 'leading-3.6 mt-1.4';
} }
#waline .wl-panel { #waline .wl-panel {
--at-apply: 'm-0 rounded border-secondary/25' --at-apply: 'm-0 rounded-lg border-secondary/25'
} }
#waline .wl-header { #waline .wl-header {
--at-apply: 'p-0'; --at-apply: 'p-0';
@ -109,9 +104,6 @@ document.addEventListener('astro:page-load', initWaline)
#waline .wl-footer { #waline .wl-footer {
--at-apply: 'm-2'; --at-apply: 'm-2';
} }
#waline .wl-info .wl-btn {
--at-apply: 'rounded';
}
#waline .wl-text-number, #waline .wl-text-number,
#waline .wl-action[title="Markdown Guide"], #waline .wl-action[title="Markdown Guide"],
#waline .wl-sort, #waline .wl-sort,
@ -119,11 +111,10 @@ document.addEventListener('astro:page-load', initWaline)
--at-apply: 'hidden'; --at-apply: 'hidden';
} }
#waline .wl-emoji-popup { #waline .wl-emoji-popup {
--at-apply: 'start-0 rounded border-secondary/25'; --at-apply: 'start-0 border-secondary/25 max-w-532px';
} }
#waline { #waline .wl-emoji-popup .wl-tab-wrapper {
scrollbar-width: thin; scrollbar-width: thin;
scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0.25) transparent;
} }
#waline .wl-gif-popup { #waline .wl-gif-popup {
--at-apply: 'border-secondary/25'; --at-apply: 'border-secondary/25';
@ -162,7 +153,6 @@ document.addEventListener('astro:page-load', initWaline)
</style> </style>
<!-- Official CSS Variables >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> --> <!-- Official CSS Variables >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->
<!-- https://waline.js.org/reference/client/style.html -->
<style> <style>
#waline { #waline {
/* Regular Colors */ /* Regular Colors */

View file

@ -157,8 +157,6 @@ export const themeConfig: ThemeConfig = {
// link prefetch // link prefetch
// docs: https://docs.astro.build/en/guides/prefetch/#prefetch-strategies // docs: https://docs.astro.build/en/guides/prefetch/#prefetch-strategies
linkPrefetch: 'viewport', // hover, tap, viewport, load linkPrefetch: 'viewport', // hover, tap, viewport, load
// comment server url
commentURL: 'https://retypeset-comment.radishzz.cc',
// image hosting url // image hosting url
imageHostURL: 'https://image.radishzz.cc', imageHostURL: 'https://image.radishzz.cc',
// custom google analytics js // custom google analytics js

View file

@ -1,6 +1,6 @@
import { allLocales } from '@/config'
import { glob } from 'astro/loaders' import { glob } from 'astro/loaders'
import { defineCollection, z } from 'astro:content' import { defineCollection, z } from 'astro:content'
import { allLocales } from '@/config'
const posts = defineCollection({ const posts = defineCollection({
loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/posts' }), loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/posts' }),

View file

@ -2,7 +2,7 @@
title: Guía de Estilo Markdown title: Guía de Estilo Markdown
published: 2025-03-08 published: 2025-03-08
updated: 2025-03-23 updated: 2025-03-23
tags: tags:
- Guía - Guía
pin: 98 pin: 98
toc: false toc: false

View file

@ -2,7 +2,7 @@
title: Markdown スタイルガイド title: Markdown スタイルガイド
published: 2025-03-08 published: 2025-03-08
updated: 2025-03-23 updated: 2025-03-23
tags: tags:
- ガイド - ガイド
pin: 98 pin: 98
toc: false toc: false

View file

@ -2,7 +2,7 @@
title: Руководство по стилю Markdown title: Руководство по стилю Markdown
published: 2025-03-08 published: 2025-03-08
updated: 2025-03-23 updated: 2025-03-23
tags: tags:
- Руководство - Руководство
pin: 98 pin: 98
toc: false toc: false

View file

@ -2,7 +2,7 @@
title: Markdown 樣式指南 title: Markdown 樣式指南
published: 2025-03-08 published: 2025-03-08
updated: 2025-03-23 updated: 2025-03-23
tags: tags:
- 指南 - 指南
pin: 98 pin: 98
toc: false toc: false

View file

@ -258,4 +258,4 @@ X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
按下 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Delete</kbd> 以结束会话。 按下 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Delete</kbd> 以结束会话。
大多数<mark>蝾螈</mark>昼伏夜出,以昆虫、蠕虫等小生物为食。 大多数<mark>蝾螈</mark>昼伏夜出,以昆虫、蠕虫等小生物为食。

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// link prefetch strategies // link prefetch strategies
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// comment server url
commentURL: 'https://retypeset-comment.radishzz.cc'
// image hosting url // image hosting url
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// custom google analytics js // custom google analytics js

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// estrategias de precarga de enlaces // estrategias de precarga de enlaces
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// URL del servidor de comentarios
commentURL: 'https://retypeset-comment.radishzz.cc'
// URL de alojamiento de imágenes // URL de alojamiento de imágenes
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// js personalizado de google analytics // js personalizado de google analytics

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// リンクプリフェッチ戦略 // リンクプリフェッチ戦略
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// コメントサーバー URL
commentURL: 'https://retypeset-comment.radishzz.cc'
// 画像ホスティング URL // 画像ホスティング URL
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// カスタム Google Analytics JS // カスタム Google Analytics JS

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// стратегии предзагрузки ссылок // стратегии предзагрузки ссылок
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// URL сервера комментариев
commentURL: 'https://retypeset-comment.radishzz.cc'
// URL хостинга изображений // URL хостинга изображений
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// пользовательский скрипт Google Analytics // пользовательский скрипт Google Analytics

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// 鏈接預加載策略 // 鏈接預加載策略
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// 評論服務器地址
commentURL: 'https://retypeset-comment.radishzz.cc'
// 圖床地址 // 圖床地址
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// 定制 google analytics js // 定制 google analytics js

View file

@ -182,8 +182,6 @@ footer: {
preload: { preload: {
// 链接预加载策略 // 链接预加载策略
linkPrefetch: 'viewport' // hover, tap, viewport, load linkPrefetch: 'viewport' // hover, tap, viewport, load
// 评论服务器地址
commentURL: 'https://retypeset-comment.radishzz.cc'
// 图床地址 // 图床地址
imageHostURL: 'https://image.radishzz.cc' imageHostURL: 'https://image.radishzz.cc'
// 定制 google analytics js // 定制 google analytics js

View file

@ -18,10 +18,11 @@ const langCode = currentLang === defaultLocale ? '' : `${currentLang}/`
const { title, subtitle, description, author, url, favicon, i18nTitle } = themeConfig.site const { title, subtitle, description, author, url, favicon, i18nTitle } = themeConfig.site
const { mode, light: { background: lightMode }, dark: { background: darkMode } } = themeConfig.color const { mode, light: { background: lightMode }, dark: { background: darkMode } } = themeConfig.color
const { katex } = themeConfig.global const { katex: katexEnabled } = themeConfig.global
const { enabled: commentEnabled = false, waline: { serverURL: walineServerURL = '' } = {} } = themeConfig.comment ?? {}
const { verification = {}, twitterID = '', googleAnalyticsID = '', umamiAnalyticsID = '', apiflashKey = '' } = themeConfig.seo ?? {} const { verification = {}, twitterID = '', googleAnalyticsID = '', umamiAnalyticsID = '', apiflashKey = '' } = themeConfig.seo ?? {}
const { google = '', bing = '', yandex = '', baidu = '' } = verification const { google = '', bing = '', yandex = '', baidu = '' } = verification
const { commentURL = '', customGoogleAnalyticsJS = '', customUmamiAnalyticsJS = '' } = themeConfig.preload const { customGoogleAnalyticsJS = '', customUmamiAnalyticsJS = '' } = themeConfig.preload
const initMetaTheme = mode === 'dark' ? darkMode : lightMode const initMetaTheme = mode === 'dark' ? darkMode : lightMode
const siteTitle = i18nTitle ? currentUI.title : title const siteTitle = i18nTitle ? currentUI.title : title
@ -54,9 +55,8 @@ const pageImage = postSlug
<link rel="preload" href="/fonts/EarlySummer-Subset.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/fonts/EarlySummer-Subset.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/fonts/Snell-Black.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/fonts/Snell-Black.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/fonts/Snell-Bold.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/fonts/Snell-Bold.woff2" as="font" type="font/woff2" crossorigin />
{katex && <link rel="stylesheet" href={katexCSS} />} {commentEnabled && walineServerURL && <link rel="stylesheet" href="/assets/waline/waline.css" />}
{commentURL && <link rel="preconnect" href={commentURL} crossorigin />} {katexEnabled && <link rel="stylesheet" href={katexCSS} />}
{commentURL && <link rel="dns-prefetch" href={commentURL} />}
<link rel="alternate" href="/rss.xml" type="application/rss+xml" title="RSS Feed" /> <link rel="alternate" href="/rss.xml" type="application/rss+xml" title="RSS Feed" />
<link rel="alternate" href="/atom.xml" type="application/atom+xml" title="Atom Feed" /> <link rel="alternate" href="/atom.xml" type="application/atom+xml" title="Atom Feed" />
<link rel="sitemap" href="/sitemap-index.xml" /> <link rel="sitemap" href="/sitemap-index.xml" />

View file

@ -4,7 +4,7 @@ import Footer from '@/components/Footer.astro'
import Header from '@/components/Header.astro' import Header from '@/components/Header.astro'
import Navbar from '@/components/Navbar.astro' import Navbar from '@/components/Navbar.astro'
import GithubCard from '@/components/Widgets/GithubCard.astro' import GithubCard from '@/components/Widgets/GithubCard.astro'
import PhotoSwipe from '@/components/Widgets/PhotoSwipe.astro' // import PhotoSwipe from '@/components/Widgets/PhotoSwipe.astro'
import themeConfig from '@/config' import themeConfig from '@/config'
import Head from '@/layouts/Head.astro' import Head from '@/layouts/Head.astro'
import { getPageInfo } from '@/utils/page' import { getPageInfo } from '@/utils/page'
@ -48,6 +48,6 @@ const MarginBottom = isPost && themeConfig.comment?.enabled
</div> </div>
<Button supportedLangs={supportedLangs} /> <Button supportedLangs={supportedLangs} />
<GithubCard /> <GithubCard />
<PhotoSwipe /> <!-- <PhotoSwipe /> -->
</body> </body>
</html> </html>

View file

@ -6,8 +6,15 @@ import Layout from '@/layouts/Layout.astro'
<!-- Decorative Line --> <!-- Decorative Line -->
<div class="uno-decorative-line"></div> <div class="uno-decorative-line"></div>
<!-- Page Not Found --> <!-- Page Not Found -->
<h3 class="mt--1.3 text-8 text-primary font-bold leading-1.2em font-navbar lg:text-9">PAGE<br>NOT<br>FOUND</h3> <h3 class="mt--1.3 flex flex-col text-8 text-primary font-bold leading-1.2em font-navbar lg:text-9">
<p class="mt-3.6 text-3.6 leading-1.4em font-navbar lg:(mt-4 text-4)">It looks like the page you're looking for<br>does not exist or has been moved.</p> <span>PAGE</span>
<span>NOT</span>
<span>FOUND</span>
</h3>
<p class="mt-3.6 flex flex-col text-3.6 leading-1.4em font-navbar lg:(mt-4 text-4)">
<span>It looks like the page you're looking for</span>
<span>does not exist or has been moved.</span>
</p>
<!-- Unused Div --> <!-- Unused Div -->
<div class=""></div> <div class=""></div>
</Layout> </Layout>

View file

@ -1,10 +1,8 @@
/* GitHub Card */ /* GitHub Card */
.gc-container { .gc-container {
--at-apply: 'block mb-4 px-5 py-4 overflow-x-auto uno-round-border bg-secondary/5 scrollbar-hidden'; --at-apply: 'block mb-4 px-5 py-4 overflow-x-auto uno-round-border bg-secondary/5';
--at-apply: 'transition-colors lg:(px-6 py-5) hover:(bg-secondary/10 c-primary)'; --at-apply: 'transition-colors lg:(px-6 py-5) hover:(bg-secondary/10 c-primary)';
} scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0.15) transparent;
.gc-container::-webkit-scrollbar {
display: none;
} }
/* Title Bar */ /* Title Bar */

View file

@ -94,6 +94,10 @@
.heti :where(pre) { .heti :where(pre) {
--at-apply: 'mb-4 overflow-auto uno-round-border px-4 py-3 bg-secondary/5!'; --at-apply: 'mb-4 overflow-auto uno-round-border px-4 py-3 bg-secondary/5!';
scrollbar-width: thin; scrollbar-width: thin;
scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0) transparent;
transition: scrollbar-color 0.3s ease-out;
}
.heti :where(pre:hover) {
scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0.15) transparent; scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0.15) transparent;
} }
.heti pre :where(code) { .heti pre :where(code) {
@ -137,10 +141,13 @@ html.dark .heti pre :where(span) {
/* Tables */ /* Tables */
.heti :where(table) { .heti :where(table) {
--at-apply: 'mb-4 box-border block max-w-full table-fixed overflow-x-auto scrollbar-hidden'; --at-apply: 'mb-4 box-border block max-w-full table-fixed overflow-x-auto';
scrollbar-width: thin;
scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0) transparent;
transition: scrollbar-color 0.3s ease-out;
} }
.heti :where(table)::-webkit-scrollbar { .heti :where(table:hover) {
--at-apply: 'hidden'; scrollbar-color: oklch(var(--un-preset-theme-colors-secondary) / 0.15) transparent;
} }
.heti :where(th), .heti :where(th),
.heti :where(td) { .heti :where(td) {

View file

@ -73,7 +73,6 @@ export interface ThemeConfig {
preload: { preload: {
linkPrefetch: 'hover' | 'tap' | 'viewport' | 'load' linkPrefetch: 'hover' | 'tap' | 'viewport' | 'load'
commentURL?: string
imageHostURL?: string imageHostURL?: string
customGoogleAnalyticsJS?: string customGoogleAnalyticsJS?: string
customUmamiAnalyticsJS?: string customUmamiAnalyticsJS?: string