From 23ba4de450e4b9cb47f3fe472936379c0d3f0c66 Mon Sep 17 00:00:00 2001 From: radishzzz Date: Fri, 25 Apr 2025 20:31:41 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20admonition=20function?= =?UTF-8?q?ality=20and=20markdown-extended-features=20article,=20improve?= =?UTF-8?q?=20blockquote=20styling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astro.config.ts | 4 + package.json | 2 +- pnpm-lock.yaml | 269 +++++++++--------- .../guides/Markdown Extended Features-zh.md | 73 +++++ .../posts/guides/Markdown Style Guide-en.md | 4 +- .../posts/guides/Markdown Style Guide-es.md | 4 +- .../posts/guides/Markdown Style Guide-ja.md | 4 +- .../posts/guides/Markdown Style Guide-ru.md | 4 +- .../guides/Markdown Style Guide-zh-tw.md | 4 +- .../posts/guides/Markdown Style Guide-zh.md | 4 +- src/plugins/remark-admonitions.mjs | 66 +++++ src/styles/heti.css | 66 ++++- uno.config.ts | 18 +- 13 files changed, 360 insertions(+), 162 deletions(-) create mode 100644 src/content/posts/guides/Markdown Extended Features-zh.md create mode 100644 src/plugins/remark-admonitions.mjs diff --git a/astro.config.ts b/astro.config.ts index a6986c1..0b7b7b2 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -7,11 +7,13 @@ import { defineConfig } from 'astro/config' import rehypeExternalLinks from 'rehype-external-links' import rehypeKatex from 'rehype-katex' import rehypeSlug from 'rehype-slug' +import remarkDirective from 'remark-directive' import remarkMath from 'remark-math' import UnoCSS from 'unocss/astro' import { themeConfig } from './src/config' import { langMap } from './src/i18n/config' import { rehypeImgToFigure } from './src/plugins/rehype-img-to-figure.mjs' +import { remarkAdmonitions } from './src/plugins/remark-admonitions.mjs' import { remarkReadingTime } from './src/plugins/remark-reading-time.mjs' const url = themeConfig.site.url @@ -61,8 +63,10 @@ export default defineConfig({ ], markdown: { remarkPlugins: [ + remarkDirective, remarkMath, remarkReadingTime, + remarkAdmonitions, ], rehypePlugins: [ rehypeSlug, diff --git a/package.json b/package.json index 38c7fbe..a7e9935 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@antfu/eslint-config": "^4.12.0", "@astrojs/check": "^0.9.4", "@types/markdown-it": "^14.1.2", - "@types/node": "^22.14.1", + "@types/node": "^22.15.2", "@types/sanitize-html": "^2.15.0", "@unocss/eslint-plugin": "66.1.0-beta.12", "@unocss/preset-attributify": "66.1.0-beta.12", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8749c5..38c18c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: '@astrojs/mdx': specifier: ^4.2.5 - version: 4.2.5(astro@5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) + version: 4.2.5(astro@5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) '@astrojs/partytown': specifier: ^2.1.4 version: 2.1.4 @@ -25,13 +25,13 @@ importers: version: 3.5.6(typescript@5.8.3) astro: specifier: ^5.7.5 - version: 5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) + version: 5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) astro-compress: specifier: ^2.3.8 - version: 2.3.8(@types/node@22.14.1)(jiti@2.4.2)(rollup@4.40.0)(typescript@5.8.3)(yaml@2.7.1) + version: 2.3.8(@types/node@22.15.2)(jiti@2.4.2)(rollup@4.40.0)(typescript@5.8.3)(yaml@2.7.1) astro-og-canvas: specifier: ^0.7.0 - version: 0.7.0(astro@5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) + version: 0.7.0(astro@5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)) astro-robots-txt: specifier: ^1.0.0 version: 1.0.0 @@ -83,7 +83,7 @@ importers: devDependencies: '@antfu/eslint-config': specifier: ^4.12.0 - version: 4.12.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.0-beta.12(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) + version: 4.12.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.0-beta.12(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) '@astrojs/check': specifier: ^0.9.4 version: 0.9.4(typescript@5.8.3) @@ -91,8 +91,8 @@ importers: specifier: ^14.1.2 version: 14.1.2 '@types/node': - specifier: ^22.14.1 - version: 22.14.1 + specifier: ^22.15.2 + version: 22.15.2 '@types/sanitize-html': specifier: ^2.15.0 version: 2.15.0 @@ -125,7 +125,7 @@ importers: version: 5.8.3 unocss: specifier: 66.1.0-beta.12 - version: 66.1.0-beta.12(postcss@8.5.3)(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + version: 66.1.0-beta.12(postcss@8.5.3)(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) unocss-preset-theme: specifier: ^0.14.1 version: 0.14.1(@unocss/core@66.1.0-beta.12) @@ -984,9 +984,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/doctrine@0.0.9': - resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} @@ -1035,8 +1032,8 @@ packages: '@types/node@22.13.14': resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} - '@types/node@22.14.1': - resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} + '@types/node@22.15.2': + resolution: {integrity: sha512-uKXqKN9beGoMdBfcaTY1ecwz6ctxuJAcUlwE55938g0ZJ8lRxwAZqRz2AJ4pzpt5dHdTPMB863UZ0ESiFUcP7A==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1333,25 +1330,25 @@ packages: '@vitest/utils@3.1.1': resolution: {integrity: sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==} - '@volar/kit@2.4.12': - resolution: {integrity: sha512-f9JE8oy9C2rBcCWxUYKUF23hOXz4mwgVXFjk7nHhxzplaoVjEOsKpBm8NI2nBH7Cwu8DRxDwBsbIxMl/8wlLxw==} + '@volar/kit@2.4.13': + resolution: {integrity: sha512-x5b2JwVT+0YQcIR4uX0NaW9Ocf3ShQRvoA18OK9ZYoFyqIYnK/niuLc8uI7hcVaey2S3EPBe3QvLGD69DJ/t6Q==} peerDependencies: typescript: '*' - '@volar/language-core@2.4.12': - resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} + '@volar/language-core@2.4.13': + resolution: {integrity: sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==} - '@volar/language-server@2.4.12': - resolution: {integrity: sha512-KC0YqTXCZMaImMWyAKC+dLB2BXjfz80kqesJkV6oXxJsGEQPfmdqug299idwtrT6FVSmZ7q5UrPfvgKwA0S3JA==} + '@volar/language-server@2.4.13': + resolution: {integrity: sha512-g8ucG5+FJgQT2r+Te1Pk+ppoPHCwzJ54gq/oN1utjtA3+iE9hp5E+M60Ks+hhGrexUPC/E3EABDQlCagmEal+Q==} - '@volar/language-service@2.4.12': - resolution: {integrity: sha512-nifOPGYYPnCmxja6/ML/Gl2EgFkUdw4gLbYqbh8FjqX3gSpXSZl/0ebqORjKo1KW56YWHWRZd1jFutEtCiRYhA==} + '@volar/language-service@2.4.13': + resolution: {integrity: sha512-yngNLIxt1w3S60YLTRAa7MSE1IRmXcxGA9ttLjndY0Jc3owCFjeAWSPeXBILZBJOtdT8rP07JY1ozwUls/gvRg==} - '@volar/source-map@2.4.12': - resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} + '@volar/source-map@2.4.13': + resolution: {integrity: sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==} - '@volar/typescript@2.4.12': - resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} + '@volar/typescript@2.4.13': + resolution: {integrity: sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==} '@vscode/emmet-helper@2.11.0': resolution: {integrity: sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==} @@ -1850,10 +1847,6 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} @@ -2000,14 +1993,14 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.10.6: - resolution: {integrity: sha512-sWIaoezWK7kuPA7u29ULsO8WzlYYC8uivaipsazyHiZDykjNsuPtwRsYZIK2luqc5wppwXOop8iFdW7xffo/Xw==} + eslint-plugin-import-x@4.11.0: + resolution: {integrity: sha512-NAaYY49342gj09QGvwnFFl5KcD5aLzjAz97Lo+upnN8MzjEGSIlmL5sxCYGqtIeMjw8fSRDFZIp2xjRLT+yl4Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-jsdoc@50.6.10: - resolution: {integrity: sha512-HJRMrRIXjWtDyU6yar8xvdKMc1waSAfE6vRjEWBpws6pYeoVyCFtQQneEBnQkHXOV60idH5ymo/bh1XNBOTQmA==} + eslint-plugin-jsdoc@50.6.11: + resolution: {integrity: sha512-k4+MnBCGR8cuIB5MZ++FGd4gbXxjob2rX1Nq0q3nWFF4xSGZENTgTLZSjb+u9B8SAnP6lpGV2FJrBjllV3pVSg==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -2698,8 +2691,8 @@ packages: peerDependencies: marked: '>=4 <16' - marked@15.0.10: - resolution: {integrity: sha512-BXzsfFiR2UqXFKRwpugWuCYi9mWd1aX/Yns/X52xWfvfen9lnGEDbJw9ZEjjvLZVqntqT2gX45eYvqb2dIokDw==} + marked@15.0.11: + resolution: {integrity: sha512-1BEXAU2euRCG3xwgLVT1y0xbJEld1XOrmRJpUwRCcy7rxhSCwMrmEu9LXoPhHSCJG41V7YcQ2mjKRr5BA3ITIA==} engines: {node: '>= 18'} hasBin: true @@ -3013,8 +3006,8 @@ packages: oniguruma-parser@0.12.0: resolution: {integrity: sha512-fD9o5ebCmEAA9dLysajdQvuKzLL7cj+w7DQjuO3Cb6IwafENfx6iL+RGkmyW82pVRsvgzixsWinHvgxTMJvdIA==} - oniguruma-to-es@4.3.0: - resolution: {integrity: sha512-5wzs2Ht53nljfaGiUOFvNgBUni2xf9xOzQkRyNxiMfCmMvXLGEnOpG3CgRe+eLx4bOw7govN5h8NzZA828F4Jw==} + oniguruma-to-es@4.3.1: + resolution: {integrity: sha512-VtX1kepWO+7HG7IWV5v72JhiqofK7XsiHmtgnvurnNOTdIvE5mrdWYtsOrQyrXCv1L2Ckm08hywp+MFO7rC4Ug==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -3966,11 +3959,11 @@ packages: '@volar/language-service': optional: true - vscode-css-languageservice@6.3.4: - resolution: {integrity: sha512-qutdhFg4hnlf6IsOynwtfsN8W0Xc7g3SZd+KK9F2moUEjHtkcZoj5p8uH7BSwHx9hSEXjwKgSRRyHTXThfwAkQ==} + vscode-css-languageservice@6.3.5: + resolution: {integrity: sha512-ehEIMXYPYEz/5Svi2raL9OKLpBt5dSAdoCFoLpo0TVFKrVpDemyuQwS3c3D552z/qQCg3pMp8oOLMObY6M3ajQ==} - vscode-html-languageservice@5.3.3: - resolution: {integrity: sha512-AK/jJM0VIWRrlfqkDBMZxNMnxYT5I2uoMVRoNJ5ePSplnSaT9mbYjqJlxxeLvUrOW7MEH0vVIDzU48u44QZE0w==} + vscode-html-languageservice@5.4.0: + resolution: {integrity: sha512-9/cbc90BSYCghmHI7/VbWettHZdC7WYpz2g5gBK6UDUI1MkZbM773Q12uAYJx9jzAiNHPpyo6KzcwmcnugncAQ==} vscode-json-languageservice@4.1.8: resolution: {integrity: sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==} @@ -4147,7 +4140,7 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 - '@antfu/eslint-config@4.12.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.0-beta.12(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': + '@antfu/eslint-config@4.12.0(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@unocss/eslint-plugin@66.1.0-beta.12(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(astro-eslint-parser@1.2.2)(eslint-plugin-astro@1.3.1(eslint@9.25.1(jiti@2.4.2)))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': dependencies: '@antfu/install-pkg': 1.0.0 '@clack/prompts': 0.10.1 @@ -4156,7 +4149,7 @@ snapshots: '@stylistic/eslint-plugin': 4.2.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@typescript-eslint/parser': 8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - '@vitest/eslint-plugin': 1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) + '@vitest/eslint-plugin': 1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) ansis: 3.17.0 cac: 6.7.14 eslint: 9.25.1(jiti@2.4.2) @@ -4165,8 +4158,8 @@ snapshots: eslint-merge-processors: 2.0.0(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-antfu: 3.1.1(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-command: 3.2.0(eslint@9.25.1(jiti@2.4.2)) - eslint-plugin-import-x: 4.10.6(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) - eslint-plugin-jsdoc: 50.6.10(eslint@9.25.1(jiti@2.4.2)) + eslint-plugin-import-x: 4.11.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) + eslint-plugin-jsdoc: 50.6.11(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-jsonc: 2.20.0(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-n: 17.17.0(eslint@9.25.1(jiti@2.4.2)) eslint-plugin-no-only-tests: 3.3.0 @@ -4225,20 +4218,20 @@ snapshots: '@astrojs/compiler': 2.11.0 '@astrojs/yaml2ts': 0.2.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@volar/kit': 2.4.12(typescript@5.8.3) - '@volar/language-core': 2.4.12 - '@volar/language-server': 2.4.12 - '@volar/language-service': 2.4.12 + '@volar/kit': 2.4.13(typescript@5.8.3) + '@volar/language-core': 2.4.13 + '@volar/language-server': 2.4.13 + '@volar/language-service': 2.4.13 fast-glob: 3.3.3 muggle-string: 0.4.1 - volar-service-css: 0.0.62(@volar/language-service@2.4.12) - volar-service-emmet: 0.0.62(@volar/language-service@2.4.12) - volar-service-html: 0.0.62(@volar/language-service@2.4.12) - volar-service-prettier: 0.0.62(@volar/language-service@2.4.12) - volar-service-typescript: 0.0.62(@volar/language-service@2.4.12) - volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.12) - volar-service-yaml: 0.0.62(@volar/language-service@2.4.12) - vscode-html-languageservice: 5.3.3 + volar-service-css: 0.0.62(@volar/language-service@2.4.13) + volar-service-emmet: 0.0.62(@volar/language-service@2.4.13) + volar-service-html: 0.0.62(@volar/language-service@2.4.13) + volar-service-prettier: 0.0.62(@volar/language-service@2.4.13) + volar-service-typescript: 0.0.62(@volar/language-service@2.4.13) + volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.13) + volar-service-yaml: 0.0.62(@volar/language-service@2.4.13) + vscode-html-languageservice: 5.4.0 vscode-uri: 3.1.0 transitivePeerDependencies: - typescript @@ -4269,12 +4262,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.2.5(astro@5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1))': + '@astrojs/mdx@4.2.5(astro@5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1))': dependencies: '@astrojs/markdown-remark': 6.3.1 '@mdx-js/mdx': 3.1.0(acorn@8.14.1) acorn: 8.14.1 - astro: 5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) + astro: 5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) es-module-lexer: 1.7.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.5 @@ -4914,7 +4907,7 @@ snapshots: dependencies: '@shikijs/types': 3.3.0 '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 4.3.0 + oniguruma-to-es: 4.3.1 '@shikijs/engine-oniguruma@3.3.0': dependencies: @@ -4969,8 +4962,6 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/doctrine@0.0.9': {} - '@types/eslint@9.6.1': dependencies: '@types/estree': 1.0.7 @@ -5019,7 +5010,7 @@ snapshots: dependencies: undici-types: 6.20.0 - '@types/node@22.14.1': + '@types/node@22.15.2': dependencies: undici-types: 6.21.0 @@ -5031,7 +5022,7 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.2 '@types/unist@2.0.11': {} @@ -5118,13 +5109,13 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@unocss/astro@66.1.0-beta.12(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@unocss/astro@66.1.0-beta.12(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: '@unocss/core': 66.1.0-beta.12 '@unocss/reset': 66.1.0-beta.12 - '@unocss/vite': 66.1.0-beta.12(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@unocss/vite': 66.1.0-beta.12(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) optionalDependencies: - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - vue @@ -5275,7 +5266,7 @@ snapshots: dependencies: '@unocss/core': 66.1.0-beta.12 - '@unocss/vite@66.1.0-beta.12(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@unocss/vite@66.1.0-beta.12(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: '@ampproject/remapping': 2.3.0 '@unocss/config': 66.1.0-beta.12 @@ -5286,7 +5277,7 @@ snapshots: pathe: 2.0.3 tinyglobby: 0.2.13 unplugin-utils: 0.2.4 - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - vue @@ -5343,13 +5334,13 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.7.0': optional: true - '@vitest/eslint-plugin@1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': + '@vitest/eslint-plugin@1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3))(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': dependencies: '@typescript-eslint/utils': 8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) eslint: 9.25.1(jiti@2.4.2) optionalDependencies: typescript: 5.8.3 - vitest: 3.1.1(@types/debug@4.1.12)(@types/node@22.14.1)(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.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) '@vitest/expect@3.1.1': dependencies: @@ -5359,13 +5350,13 @@ snapshots: tinyrainbow: 2.0.0 optional: true - '@vitest/mocker@3.1.1(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': + '@vitest/mocker@3.1.1(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))': dependencies: '@vitest/spy': 3.1.1 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) optional: true '@vitest/pretty-format@3.1.1': @@ -5403,24 +5394,24 @@ snapshots: tinyrainbow: 2.0.0 optional: true - '@volar/kit@2.4.12(typescript@5.8.3)': + '@volar/kit@2.4.13(typescript@5.8.3)': dependencies: - '@volar/language-service': 2.4.12 - '@volar/typescript': 2.4.12 + '@volar/language-service': 2.4.13 + '@volar/typescript': 2.4.13 typesafe-path: 0.2.2 typescript: 5.8.3 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/language-core@2.4.12': + '@volar/language-core@2.4.13': dependencies: - '@volar/source-map': 2.4.12 + '@volar/source-map': 2.4.13 - '@volar/language-server@2.4.12': + '@volar/language-server@2.4.13': dependencies: - '@volar/language-core': 2.4.12 - '@volar/language-service': 2.4.12 - '@volar/typescript': 2.4.12 + '@volar/language-core': 2.4.13 + '@volar/language-service': 2.4.13 + '@volar/typescript': 2.4.13 path-browserify: 1.0.1 request-light: 0.7.0 vscode-languageserver: 9.0.1 @@ -5428,18 +5419,18 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/language-service@2.4.12': + '@volar/language-service@2.4.13': dependencies: - '@volar/language-core': 2.4.12 + '@volar/language-core': 2.4.13 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 - '@volar/source-map@2.4.12': {} + '@volar/source-map@2.4.13': {} - '@volar/typescript@2.4.12': + '@volar/typescript@2.4.13': dependencies: - '@volar/language-core': 2.4.12 + '@volar/language-core': 2.4.13 path-browserify: 1.0.1 vscode-uri: 3.1.0 @@ -5527,8 +5518,8 @@ snapshots: '@vueuse/core': 13.1.0(vue@3.5.13(typescript@5.8.3)) '@waline/api': 1.0.0 autosize: 6.0.1 - marked: 15.0.10 - marked-highlight: 2.2.1(marked@15.0.10) + marked: 15.0.11 + marked-highlight: 2.2.1(marked@15.0.11) recaptcha-v3: 1.11.3 vue: 3.5.13(typescript@5.8.3) transitivePeerDependencies: @@ -5596,12 +5587,12 @@ snapshots: astring@1.9.0: {} - astro-compress@2.3.8(@types/node@22.14.1)(jiti@2.4.2)(rollup@4.40.0)(typescript@5.8.3)(yaml@2.7.1): + astro-compress@2.3.8(@types/node@22.15.2)(jiti@2.4.2)(rollup@4.40.0)(typescript@5.8.3)(yaml@2.7.1): dependencies: '@playform/pipe': 0.1.3 '@types/csso': 5.0.4 '@types/html-minifier-terser': 7.0.2 - astro: 5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) + astro: 5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) commander: 13.1.0 csso: 5.0.5 deepmerge-ts: 7.1.5 @@ -5662,9 +5653,9 @@ snapshots: transitivePeerDependencies: - supports-color - astro-og-canvas@0.7.0(astro@5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)): + astro-og-canvas@0.7.0(astro@5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1)): dependencies: - astro: 5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) + astro: 5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1) canvaskit-wasm: 0.39.1 deterministic-object-hash: 2.0.2 entities: 4.5.0 @@ -5674,7 +5665,7 @@ snapshots: valid-filename: 4.0.0 zod: 3.24.3 - astro@5.7.5(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1): + astro@5.7.5(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(rollup@4.40.0)(terser@5.39.0)(typescript@5.8.3)(yaml@2.7.1): dependencies: '@astrojs/compiler': 2.11.0 '@astrojs/internal-helpers': 0.6.1 @@ -5727,8 +5718,8 @@ snapshots: unist-util-visit: 5.0.0 unstorage: 1.15.0 vfile: 6.0.3 - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) - vitefu: 1.0.6(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vitefu: 1.0.6(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 yocto-spinner: 0.2.2 @@ -6077,10 +6068,6 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 @@ -6251,13 +6238,11 @@ snapshots: eslint: 9.25.1(jiti@2.4.2) eslint-compat-utils: 0.5.1(eslint@9.25.1(jiti@2.4.2)) - eslint-plugin-import-x@4.10.6(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3): + eslint-plugin-import-x@4.11.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3): dependencies: - '@pkgr/core': 0.2.4 - '@types/doctrine': 0.0.9 '@typescript-eslint/utils': 8.31.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) + comment-parser: 1.4.1 debug: 4.4.0 - doctrine: 3.0.0 eslint: 9.25.1(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.10.0 @@ -6271,7 +6256,7 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.6.10(eslint@9.25.1(jiti@2.4.2)): + eslint-plugin-jsdoc@50.6.11(eslint@9.25.1(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 @@ -7111,11 +7096,11 @@ snapshots: markdown-table@3.0.4: {} - marked-highlight@2.2.1(marked@15.0.10): + marked-highlight@2.2.1(marked@15.0.11): dependencies: - marked: 15.0.10 + marked: 15.0.11 - marked@15.0.10: {} + marked@15.0.11: {} mdast-util-definitions@6.0.0: dependencies: @@ -7725,7 +7710,7 @@ snapshots: oniguruma-parser@0.12.0: {} - oniguruma-to-es@4.3.0: + oniguruma-to-es@4.3.1: dependencies: oniguruma-parser: 0.12.0 regex: 6.0.1 @@ -8610,9 +8595,9 @@ snapshots: '@unocss/core': 66.1.0-beta.12 '@unocss/rule-utils': 0.63.6 - unocss@66.1.0-beta.12(postcss@8.5.3)(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)): + unocss@66.1.0-beta.12(postcss@8.5.3)(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)): dependencies: - '@unocss/astro': 66.1.0-beta.12(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@unocss/astro': 66.1.0-beta.12(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) '@unocss/cli': 66.1.0-beta.12 '@unocss/core': 66.1.0-beta.12 '@unocss/postcss': 66.1.0-beta.12(postcss@8.5.3) @@ -8630,9 +8615,9 @@ snapshots: '@unocss/transformer-compile-class': 66.1.0-beta.12 '@unocss/transformer-directives': 66.1.0-beta.12 '@unocss/transformer-variant-group': 66.1.0-beta.12 - '@unocss/vite': 66.1.0-beta.12(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@unocss/vite': 66.1.0-beta.12(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) optionalDependencies: - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - postcss - supports-color @@ -8712,13 +8697,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.1.1(@types/node@22.14.1)(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.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - '@types/node' - jiti @@ -8734,7 +8719,7 @@ snapshots: - yaml optional: true - vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): + vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): dependencies: esbuild: 0.25.3 fdir: 6.4.4(picomatch@4.0.2) @@ -8743,21 +8728,21 @@ snapshots: rollup: 4.40.0 tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 22.14.1 + '@types/node': 22.15.2 fsevents: 2.3.3 jiti: 2.4.2 lightningcss: 1.29.3 terser: 5.39.0 yaml: 2.7.1 - vitefu@1.0.6(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)): + vitefu@1.0.6(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)): optionalDependencies: - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(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.14.1)(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.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1): dependencies: '@vitest/expect': 3.1.1 - '@vitest/mocker': 3.1.1(vite@6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) + '@vitest/mocker': 3.1.1(vite@6.3.3(@types/node@22.15.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1)) '@vitest/pretty-format': 3.1.2 '@vitest/runner': 3.1.1 '@vitest/snapshot': 3.1.1 @@ -8773,12 +8758,12 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.3.3(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) - vite-node: 3.1.1(@types/node@22.14.1)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.2)(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.2)(jiti@2.4.2)(lightningcss@1.29.3)(terser@5.39.0)(yaml@2.7.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.14.1 + '@types/node': 22.15.2 transitivePeerDependencies: - jiti - less @@ -8794,44 +8779,44 @@ snapshots: - yaml optional: true - volar-service-css@0.0.62(@volar/language-service@2.4.12): + volar-service-css@0.0.62(@volar/language-service@2.4.13): dependencies: - vscode-css-languageservice: 6.3.4 + vscode-css-languageservice: 6.3.5 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-emmet@0.0.62(@volar/language-service@2.4.12): + volar-service-emmet@0.0.62(@volar/language-service@2.4.13): dependencies: '@emmetio/css-parser': 0.4.0 '@emmetio/html-matcher': 1.3.0 '@vscode/emmet-helper': 2.11.0 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-html@0.0.62(@volar/language-service@2.4.12): + volar-service-html@0.0.62(@volar/language-service@2.4.13): dependencies: - vscode-html-languageservice: 5.3.3 + vscode-html-languageservice: 5.4.0 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-prettier@0.0.62(@volar/language-service@2.4.12): + volar-service-prettier@0.0.62(@volar/language-service@2.4.13): dependencies: vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.12): + volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.13): dependencies: vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-typescript@0.0.62(@volar/language-service@2.4.12): + volar-service-typescript@0.0.62(@volar/language-service@2.4.13): dependencies: path-browserify: 1.0.1 semver: 7.7.1 @@ -8840,23 +8825,23 @@ snapshots: vscode-nls: 5.2.0 vscode-uri: 3.1.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - volar-service-yaml@0.0.62(@volar/language-service@2.4.12): + volar-service-yaml@0.0.62(@volar/language-service@2.4.13): dependencies: vscode-uri: 3.1.0 yaml-language-server: 1.15.0 optionalDependencies: - '@volar/language-service': 2.4.12 + '@volar/language-service': 2.4.13 - vscode-css-languageservice@6.3.4: + vscode-css-languageservice@6.3.5: dependencies: '@vscode/l10n': 0.0.18 vscode-languageserver-textdocument: 1.0.12 vscode-languageserver-types: 3.17.5 vscode-uri: 3.1.0 - vscode-html-languageservice@5.3.3: + vscode-html-languageservice@5.4.0: dependencies: '@vscode/l10n': 0.0.18 vscode-languageserver-textdocument: 1.0.12 diff --git a/src/content/posts/guides/Markdown Extended Features-zh.md b/src/content/posts/guides/Markdown Extended Features-zh.md new file mode 100644 index 0000000..2f3b99f --- /dev/null +++ b/src/content/posts/guides/Markdown Extended Features-zh.md @@ -0,0 +1,73 @@ +--- +title: Markdown 扩展功能 +published: 2025-04-25 +tags: + - 指南 +toc: false +lang: zh +abbrlink: markdown-extended-features +--- + +以下是 Retypeset 主题的 Markdown 扩展功能,包括语法示例与样式效果。 + +## 提示块 + +使用容器指令 `:::type` 或 GitHub 语法 `> [!TYPE]`,即可创建提示块。支持以下五种类型:`note`、`tip`、`important`、`warning` 和 `caution`。 + +### 语法 + +``` +:::note +Useful information that users should know, even when skimming content. +::: + +> [!NOTE] +> Useful information that users should know, even when skimming content. + +:::note{title="YOUR CUSTOM TITLE"} +This is a note with a custom title. +::: +``` + +### 效果 + +> [!NOTE] +> Useful information that users should know, even when skimming content. + +> [!TIP] +> Helpful advice for doing things better or more easily. + +> [!IMPORTANT] +> Key information users need to know to achieve their goal. + +:::warning +Urgent info that needs immediate user attention to avoid problems. +::: + +:::caution +Advises about risks or negative outcomes of certain actions. +::: + +:::note{title="YOUR CUSTOM TITLE"} +This is a note with a custom title. +::: + +## 图注 + +使用 Markdown 图像语法 `![alt](src)`,**且上下均为空行**,即可自动生成图注。在 `alt` 前添加下划线 `_` 或留空 alt,即可隐藏图注。 + +### 显示图注 + +``` + +![图片描述](./full/or/relative/path/of/image) + +``` + +### 隐藏图注 + +``` +![_图片描述](./full/or/relative/path/of/image) + +![](./full/or/relative/path/of/image) +``` \ No newline at end of file diff --git a/src/content/posts/guides/Markdown Style Guide-en.md b/src/content/posts/guides/Markdown Style Guide-en.md index 004800a..11c0ca4 100644 --- a/src/content/posts/guides/Markdown Style Guide-en.md +++ b/src/content/posts/guides/Markdown Style Guide-en.md @@ -60,7 +60,7 @@ To add an image, add an exclamation mark `!`, followed by alt text in brackets ` ### Syntax -```markdown +``` ![Image Description](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ Including `` superscript, `` subscript, `` abbreviation, `` ### Syntax -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/content/posts/guides/Markdown Style Guide-es.md b/src/content/posts/guides/Markdown Style Guide-es.md index 1305acc..73a93e1 100644 --- a/src/content/posts/guides/Markdown Style Guide-es.md +++ b/src/content/posts/guides/Markdown Style Guide-es.md @@ -60,7 +60,7 @@ Para agregar una imagen, añada un signo de exclamación `!`, seguido de texto a ### Sintaxis -```markdown +``` ![Descripción de la Imagen](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ Incluyendo superíndice ``, subíndice ``, abreviatura ``, tacha ### Sintaxis -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/content/posts/guides/Markdown Style Guide-ja.md b/src/content/posts/guides/Markdown Style Guide-ja.md index 82abda0..392bd9e 100644 --- a/src/content/posts/guides/Markdown Style Guide-ja.md +++ b/src/content/posts/guides/Markdown Style Guide-ja.md @@ -60,7 +60,7 @@ abbrlink: markdown-style-guide ### 構文 -```markdown +``` ![画像の説明](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ abbrlink: markdown-style-guide ### 構文 -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/content/posts/guides/Markdown Style Guide-ru.md b/src/content/posts/guides/Markdown Style Guide-ru.md index f477452..1cd76a0 100644 --- a/src/content/posts/guides/Markdown Style Guide-ru.md +++ b/src/content/posts/guides/Markdown Style Guide-ru.md @@ -60,7 +60,7 @@ Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sap ### Синтаксис -```markdown +``` ![Описание изображения](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sap ### Синтаксис -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/content/posts/guides/Markdown Style Guide-zh-tw.md b/src/content/posts/guides/Markdown Style Guide-zh-tw.md index 765d2ee..fc18a7f 100644 --- a/src/content/posts/guides/Markdown Style Guide-zh-tw.md +++ b/src/content/posts/guides/Markdown Style Guide-zh-tw.md @@ -60,7 +60,7 @@ abbrlink: markdown-style-guide ### 語法 -```markdown +``` ![圖片描述](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ abbrlink: markdown-style-guide ### 語法 -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/content/posts/guides/Markdown Style Guide-zh.md b/src/content/posts/guides/Markdown Style Guide-zh.md index 93f779f..06f80fc 100644 --- a/src/content/posts/guides/Markdown Style Guide-zh.md +++ b/src/content/posts/guides/Markdown Style Guide-zh.md @@ -60,7 +60,7 @@ abbrlink: markdown-style-guide ### 语法 -```markdown +``` ![图片描述](./full/or/relative/path/of/image) ``` @@ -228,7 +228,7 @@ abbrlink: markdown-style-guide ### 语法 -```markdown +```html H2O Xn + Yn = Zn diff --git a/src/plugins/remark-admonitions.mjs b/src/plugins/remark-admonitions.mjs new file mode 100644 index 0000000..5032e1c --- /dev/null +++ b/src/plugins/remark-admonitions.mjs @@ -0,0 +1,66 @@ +import { visit } from 'unist-util-visit' + +const ADMONITION_TYPES = { + note: 'NOTE', + tip: 'TIP', + important: 'IMPORTANT', + warning: 'WARNING', + caution: 'CAUTION', +} + +const GITHUB_ADMONITION_REGEX = new RegExp( + `^\\s*\\[!(${Object.values(ADMONITION_TYPES).join('|')})\\]\\s*`, + 'i', +) + +export function remarkAdmonitions() { + return (tree) => { + // Create an admonition blockquote + function createAdmonition(node, type, title) { + const titleSpan = `${title}` + + node.data = node.data || {} + node.data.hName = 'blockquote' + node.data.hProperties = { + className: `admonition-${type}`, + } + + node.children.unshift({ + type: 'html', + value: titleSpan, + }) + } + + // Handle :::type syntax + visit(tree, 'containerDirective', (node) => { + const type = node.name + if (!ADMONITION_TYPES[type]) + return + + const title = node.attributes?.title || ADMONITION_TYPES[type] + createAdmonition(node, type, title) + }) + + // Handle > [!TYPE] syntax + visit(tree, 'blockquote', (node) => { + if (!node.children?.length || node.children[0].type !== 'paragraph') + return + + const paragraph = node.children[0] + if (!paragraph.children?.length || paragraph.children[0].type !== 'text') + return + + const textNode = paragraph.children[0] + const match = textNode.value.match(GITHUB_ADMONITION_REGEX) + if (!match) + return + + const type = match[1].toLowerCase() + const title = ADMONITION_TYPES[type] + + textNode.value = textNode.value.substring(match[0].length) + + createAdmonition(node, type, title) + }) + } +} diff --git a/src/styles/heti.css b/src/styles/heti.css index 99770b0..cf64156 100644 --- a/src/styles/heti.css +++ b/src/styles/heti.css @@ -115,7 +115,19 @@ html.dark .heti pre :where(span) { /* Blockquotes */ .heti :where(blockquote) { - --at-apply: 'mt-3 mb-6 px-4 c-secondary/80 border-l-4 border-solid border-secondary/15'; + --at-apply: 'mt-3 mb-6 px-4 py-0.5 c-secondary/80 border-l-4 border-solid border-secondary/25'; +} +.heti blockquote blockquote { + --at-apply: 'py-0'; +} +.heti blockquote p { + --at-apply: 'mb-3'; +} +.heti blockquote > :first-child { + --at-apply: 'mt-0'; +} +.heti blockquote > :last-child { + --at-apply: 'mb-0'; } /* Tables */ @@ -216,7 +228,7 @@ html.dark .heti sup:target, html.dark .heti sup a:target { --at-apply: 'text-background'; } -.heti :where(.data-footnote-backref) { +.heti .data-footnote-backref { --at-apply: 'no-underline font-serif'; } @@ -246,14 +258,58 @@ html.dark .heti sup a:target { } /* KaTeX Mathematical */ -.heti :where(.katex-display) { +.heti .katex-display { --at-apply: 'block max-w-full overflow-x-auto overflow-y-hidden scrollbar-hidden'; } -.heti :where(.katex-display)::-webkit-scrollbar { +.heti .katex-display::-webkit-scrollbar { display: none; } -/* Markdown Extensions Style >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */ +/* Markdown Extended Features >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> */ +.heti .admonition-title { + --at-apply: 'font-semibold'; +} + +/* Note */ +.heti .admonition-note { + --at-apply: 'border-note'; +} +.heti .admonition-note .admonition-title { + --at-apply: 'c-note'; +} + +/* Tip */ +.heti .admonition-tip { + --at-apply: 'border-tip'; +} +.heti .admonition-tip .admonition-title { + --at-apply: 'c-tip'; +} + +/* Important */ +.heti .admonition-important { + --at-apply: 'border-important'; +} +.heti .admonition-important .admonition-title { + --at-apply: 'c-important'; +} + +/* Warning */ +.heti .admonition-warning { + --at-apply: 'border-warning'; +} +.heti .admonition-warning .admonition-title { + --at-apply: 'c-warning'; +} + +/* Caution */ +.heti .admonition-caution { + --at-apply: 'border-caution'; +} +.heti .admonition-caution .admonition-title { + --at-apply: 'c-caution'; +} + /* .heti :where(details) { --at-apply: 'my-4 px-4 py-3 border border-solid border-secondary/25 rounded cursor-pointer'; } diff --git a/uno.config.ts b/uno.config.ts index 3810e5d..9f412fc 100644 --- a/uno.config.ts +++ b/uno.config.ts @@ -18,13 +18,27 @@ export default defineConfig({ presetTheme({ theme: { dark: { - colors: dark, + colors: { + ...dark, + note: 'oklch(70.7% 0.165 254.624 / 0.8)', // blue-400 + tip: 'oklch(76.5% 0.177 163.223 / 0.8)', // emerald-400 + important: 'oklch(71.4% 0.203 305.504 / 0.8)', // purple-400 + warning: 'oklch(82.8% 0.189 84.429 / 0.8)', // amber-400 + caution: 'oklch(70.4% 0.191 22.216 / 0.8)', // red-400 + }, }, }, }) as Preset, ], theme: { - colors: light, + colors: { + ...light, + note: 'oklch(48.8% 0.243 264.376 / 0.8)', // blue-700 + tip: 'oklch(50.8% 0.118 165.612 / 0.8)', // emerald-700 + important: 'oklch(49.6% 0.265 301.924 / 0.8)', // purple-700 + warning: 'oklch(55.5% 0.163 48.998 / 0.8)', // amber-700 + caution: 'oklch(50.5% 0.213 27.518 / 0.8)', // red-700 + }, fontFamily: { title: ['Snell-Black', 'EarlySummer-Subset', 'EarlySummer', 'ui-serif', 'Georgia', 'Cambria', 'Times New Roman', 'Times', 'serif'], navbar: ['STIX-Italic', 'EarlySummer-Subset', 'EarlySummer', 'ui-serif', 'Georgia', 'Cambria', 'Times New Roman', 'Times', 'serif'],