Add basic tag support

This commit is contained in:
Maciej Jur 2023-04-18 01:01:21 +02:00
parent e1e08eef49
commit 42d9983871
6 changed files with 160 additions and 103 deletions

View file

@ -3,7 +3,7 @@ lockfileVersion: '6.0'
dependencies:
'@astrojs/mdx':
specifier: ^0.19.0
version: 0.19.0(astro@2.3.0)(rollup@3.20.2)
version: 0.19.0(astro@2.3.0)(rollup@3.20.4)
'@astrojs/solid-js':
specifier: ^2.1.0
version: 2.1.0(@babel/core@7.21.4)(solid-js@1.7.3)
@ -138,14 +138,14 @@ packages:
- supports-color
dev: false
/@astrojs/mdx@0.19.0(astro@2.3.0)(rollup@3.20.2):
/@astrojs/mdx@0.19.0(astro@2.3.0)(rollup@3.20.4):
resolution: {integrity: sha512-McFpMV+npinIEKnY5t9hsdzLd76g78GgIRUPxem2OeXPNB8xr2pNS28GeU0+6Pn5STnB+sgcyyeqXLgzauOlMQ==}
engines: {node: '>=16.12.0'}
dependencies:
'@astrojs/markdown-remark': 2.1.4(astro@2.3.0)
'@astrojs/prism': 2.1.1
'@mdx-js/mdx': 2.3.0
'@mdx-js/rollup': 2.3.0(rollup@3.20.2)
'@mdx-js/rollup': 2.3.0(rollup@3.20.4)
acorn: 8.8.2
es-module-lexer: 1.2.1
estree-util-visit: 1.2.1
@ -463,8 +463,8 @@ packages:
resolution: {integrity: sha512-1ESCGgXRgn1r29hRmz8K0G4Ywr5jDWezMgRnICComBCWmg3znLWU8+tmakuM1og1Vn4W/sauvlABl/oq2pve8w==}
dev: false
/@esbuild/android-arm64@0.17.16:
resolution: {integrity: sha512-QX48qmsEZW+gcHgTmAj+x21mwTz8MlYQBnzF6861cNdQGvj2jzzFjqH0EBabrIa/WVZ2CHolwMoqxVryqKt8+Q==}
/@esbuild/android-arm64@0.17.17:
resolution: {integrity: sha512-jaJ5IlmaDLFPNttv0ofcwy/cfeY4bh/n705Tgh+eLObbGtQBK3EPAu+CzL95JVE4nFAliyrnEu0d32Q5foavqg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@ -472,8 +472,8 @@ packages:
dev: false
optional: true
/@esbuild/android-arm@0.17.16:
resolution: {integrity: sha512-baLqRpLe4JnKrUXLJChoTN0iXZH7El/mu58GE3WIA6/H834k0XWvLRmGLG8y8arTRS9hJJibPnF0tiGhmWeZgw==}
/@esbuild/android-arm@0.17.17:
resolution: {integrity: sha512-E6VAZwN7diCa3labs0GYvhEPL2M94WLF8A+czO8hfjREXxba8Ng7nM5VxV+9ihNXIY1iQO1XxUU4P7hbqbICxg==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@ -481,8 +481,8 @@ packages:
dev: false
optional: true
/@esbuild/android-x64@0.17.16:
resolution: {integrity: sha512-G4wfHhrrz99XJgHnzFvB4UwwPxAWZaZBOFXh+JH1Duf1I4vIVfuYY9uVLpx4eiV2D/Jix8LJY+TAdZ3i40tDow==}
/@esbuild/android-x64@0.17.17:
resolution: {integrity: sha512-446zpfJ3nioMC7ASvJB1pszHVskkw4u/9Eu8s5yvvsSDTzYh4p4ZIRj0DznSl3FBF0Z/mZfrKXTtt0QCoFmoHA==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@ -490,8 +490,8 @@ packages:
dev: false
optional: true
/@esbuild/darwin-arm64@0.17.16:
resolution: {integrity: sha512-/Ofw8UXZxuzTLsNFmz1+lmarQI6ztMZ9XktvXedTbt3SNWDn0+ODTwxExLYQ/Hod91EZB4vZPQJLoqLF0jvEzA==}
/@esbuild/darwin-arm64@0.17.17:
resolution: {integrity: sha512-m/gwyiBwH3jqfUabtq3GH31otL/0sE0l34XKpSIqR7NjQ/XHQ3lpmQHLHbG8AHTGCw8Ao059GvV08MS0bhFIJQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@ -499,8 +499,8 @@ packages:
dev: false
optional: true
/@esbuild/darwin-x64@0.17.16:
resolution: {integrity: sha512-SzBQtCV3Pdc9kyizh36Ol+dNVhkDyIrGb/JXZqFq8WL37LIyrXU0gUpADcNV311sCOhvY+f2ivMhb5Tuv8nMOQ==}
/@esbuild/darwin-x64@0.17.17:
resolution: {integrity: sha512-4utIrsX9IykrqYaXR8ob9Ha2hAY2qLc6ohJ8c0CN1DR8yWeMrTgYFjgdeQ9LIoTOfLetXjuCu5TRPHT9yKYJVg==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@ -508,8 +508,8 @@ packages:
dev: false
optional: true
/@esbuild/freebsd-arm64@0.17.16:
resolution: {integrity: sha512-ZqftdfS1UlLiH1DnS2u3It7l4Bc3AskKeu+paJSfk7RNOMrOxmeFDhLTMQqMxycP1C3oj8vgkAT6xfAuq7ZPRA==}
/@esbuild/freebsd-arm64@0.17.17:
resolution: {integrity: sha512-4PxjQII/9ppOrpEwzQ1b0pXCsFLqy77i0GaHodrmzH9zq2/NEhHMAMJkJ635Ns4fyJPFOlHMz4AsklIyRqFZWA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@ -517,8 +517,8 @@ packages:
dev: false
optional: true
/@esbuild/freebsd-x64@0.17.16:
resolution: {integrity: sha512-rHV6zNWW1tjgsu0dKQTX9L0ByiJHHLvQKrWtnz8r0YYJI27FU3Xu48gpK2IBj1uCSYhJ+pEk6Y0Um7U3rIvV8g==}
/@esbuild/freebsd-x64@0.17.17:
resolution: {integrity: sha512-lQRS+4sW5S3P1sv0z2Ym807qMDfkmdhUYX30GRBURtLTrJOPDpoU0kI6pVz1hz3U0+YQ0tXGS9YWveQjUewAJw==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@ -526,8 +526,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-arm64@0.17.16:
resolution: {integrity: sha512-8yoZhGkU6aHu38WpaM4HrRLTFc7/VVD9Q2SvPcmIQIipQt2I/GMTZNdEHXoypbbGao5kggLcxg0iBKjo0SQYKA==}
/@esbuild/linux-arm64@0.17.17:
resolution: {integrity: sha512-2+pwLx0whKY1/Vqt8lyzStyda1v0qjJ5INWIe+d8+1onqQxHLLi3yr5bAa4gvbzhZqBztifYEu8hh1La5+7sUw==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@ -535,8 +535,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-arm@0.17.16:
resolution: {integrity: sha512-n4O8oVxbn7nl4+m+ISb0a68/lcJClIbaGAoXwqeubj/D1/oMMuaAXmJVfFlRjJLu/ZvHkxoiFJnmbfp4n8cdSw==}
/@esbuild/linux-arm@0.17.17:
resolution: {integrity: sha512-biDs7bjGdOdcmIk6xU426VgdRUpGg39Yz6sT9Xp23aq+IEHDb/u5cbmu/pAANpDB4rZpY/2USPhCA+w9t3roQg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@ -544,8 +544,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-ia32@0.17.16:
resolution: {integrity: sha512-9ZBjlkdaVYxPNO8a7OmzDbOH9FMQ1a58j7Xb21UfRU29KcEEU3VTHk+Cvrft/BNv0gpWJMiiZ/f4w0TqSP0gLA==}
/@esbuild/linux-ia32@0.17.17:
resolution: {integrity: sha512-IBTTv8X60dYo6P2t23sSUYym8fGfMAiuv7PzJ+0LcdAndZRzvke+wTVxJeCq4WgjppkOpndL04gMZIFvwoU34Q==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@ -553,8 +553,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-loong64@0.17.16:
resolution: {integrity: sha512-TIZTRojVBBzdgChY3UOG7BlPhqJz08AL7jdgeeu+kiObWMFzGnQD7BgBBkWRwOtKR1i2TNlO7YK6m4zxVjjPRQ==}
/@esbuild/linux-loong64@0.17.17:
resolution: {integrity: sha512-WVMBtcDpATjaGfWfp6u9dANIqmU9r37SY8wgAivuKmgKHE+bWSuv0qXEFt/p3qXQYxJIGXQQv6hHcm7iWhWjiw==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@ -562,8 +562,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-mips64el@0.17.16:
resolution: {integrity: sha512-UPeRuFKCCJYpBbIdczKyHLAIU31GEm0dZl1eMrdYeXDH+SJZh/i+2cAmD3A1Wip9pIc5Sc6Kc5cFUrPXtR0XHA==}
/@esbuild/linux-mips64el@0.17.17:
resolution: {integrity: sha512-2kYCGh8589ZYnY031FgMLy0kmE4VoGdvfJkxLdxP4HJvWNXpyLhjOvxVsYjYZ6awqY4bgLR9tpdYyStgZZhi2A==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@ -571,8 +571,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-ppc64@0.17.16:
resolution: {integrity: sha512-io6yShgIEgVUhExJejJ21xvO5QtrbiSeI7vYUnr7l+v/O9t6IowyhdiYnyivX2X5ysOVHAuyHW+Wyi7DNhdw6Q==}
/@esbuild/linux-ppc64@0.17.17:
resolution: {integrity: sha512-KIdG5jdAEeAKogfyMTcszRxy3OPbZhq0PPsW4iKKcdlbk3YE4miKznxV2YOSmiK/hfOZ+lqHri3v8eecT2ATwQ==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@ -580,8 +580,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-riscv64@0.17.16:
resolution: {integrity: sha512-WhlGeAHNbSdG/I2gqX2RK2gfgSNwyJuCiFHMc8s3GNEMMHUI109+VMBfhVqRb0ZGzEeRiibi8dItR3ws3Lk+cA==}
/@esbuild/linux-riscv64@0.17.17:
resolution: {integrity: sha512-Cj6uWLBR5LWhcD/2Lkfg2NrkVsNb2sFM5aVEfumKB2vYetkA/9Uyc1jVoxLZ0a38sUhFk4JOVKH0aVdPbjZQeA==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@ -589,8 +589,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-s390x@0.17.16:
resolution: {integrity: sha512-gHRReYsJtViir63bXKoFaQ4pgTyah4ruiMRQ6im9YZuv+gp3UFJkNTY4sFA73YDynmXZA6hi45en4BGhNOJUsw==}
/@esbuild/linux-s390x@0.17.17:
resolution: {integrity: sha512-lK+SffWIr0XsFf7E0srBjhpkdFVJf3HEgXCwzkm69kNbRar8MhezFpkIwpk0qo2IOQL4JE4mJPJI8AbRPLbuOQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@ -598,8 +598,8 @@ packages:
dev: false
optional: true
/@esbuild/linux-x64@0.17.16:
resolution: {integrity: sha512-mfiiBkxEbUHvi+v0P+TS7UnA9TeGXR48aK4XHkTj0ZwOijxexgMF01UDFaBX7Q6CQsB0d+MFNv9IiXbIHTNd4g==}
/@esbuild/linux-x64@0.17.17:
resolution: {integrity: sha512-XcSGTQcWFQS2jx3lZtQi7cQmDYLrpLRyz1Ns1DzZCtn898cWfm5Icx/DEWNcTU+T+tyPV89RQtDnI7qL2PObPg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@ -607,8 +607,8 @@ packages:
dev: false
optional: true
/@esbuild/netbsd-x64@0.17.16:
resolution: {integrity: sha512-n8zK1YRDGLRZfVcswcDMDM0j2xKYLNXqei217a4GyBxHIuPMGrrVuJ+Ijfpr0Kufcm7C1k/qaIrGy6eG7wvgmA==}
/@esbuild/netbsd-x64@0.17.17:
resolution: {integrity: sha512-RNLCDmLP5kCWAJR+ItLM3cHxzXRTe4N00TQyQiimq+lyqVqZWGPAvcyfUBM0isE79eEZhIuGN09rAz8EL5KdLA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@ -616,8 +616,8 @@ packages:
dev: false
optional: true
/@esbuild/openbsd-x64@0.17.16:
resolution: {integrity: sha512-lEEfkfsUbo0xC47eSTBqsItXDSzwzwhKUSsVaVjVji07t8+6KA5INp2rN890dHZeueXJAI8q0tEIfbwVRYf6Ew==}
/@esbuild/openbsd-x64@0.17.17:
resolution: {integrity: sha512-PAXswI5+cQq3Pann7FNdcpSUrhrql3wKjj3gVkmuz6OHhqqYxKvi6GgRBoaHjaG22HV/ZZEgF9TlS+9ftHVigA==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@ -625,8 +625,8 @@ packages:
dev: false
optional: true
/@esbuild/sunos-x64@0.17.16:
resolution: {integrity: sha512-jlRjsuvG1fgGwnE8Afs7xYDnGz0dBgTNZfgCK6TlvPH3Z13/P5pi6I57vyLE8qZYLrGVtwcm9UbUx1/mZ8Ukag==}
/@esbuild/sunos-x64@0.17.17:
resolution: {integrity: sha512-V63egsWKnx/4V0FMYkr9NXWrKTB5qFftKGKuZKFIrAkO/7EWLFnbBZNM1CvJ6Sis+XBdPws2YQSHF1Gqf1oj/Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@ -634,8 +634,8 @@ packages:
dev: false
optional: true
/@esbuild/win32-arm64@0.17.16:
resolution: {integrity: sha512-TzoU2qwVe2boOHl/3KNBUv2PNUc38U0TNnzqOAcgPiD/EZxT2s736xfC2dYQbszAwo4MKzzwBV0iHjhfjxMimg==}
/@esbuild/win32-arm64@0.17.17:
resolution: {integrity: sha512-YtUXLdVnd6YBSYlZODjWzH+KzbaubV0YVd6UxSfoFfa5PtNJNaW+1i+Hcmjpg2nEe0YXUCNF5bkKy1NnBv1y7Q==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@ -643,8 +643,8 @@ packages:
dev: false
optional: true
/@esbuild/win32-ia32@0.17.16:
resolution: {integrity: sha512-B8b7W+oo2yb/3xmwk9Vc99hC9bNolvqjaTZYEfMQhzdpBsjTvZBlXQ/teUE55Ww6sg//wlcDjOaqldOKyigWdA==}
/@esbuild/win32-ia32@0.17.17:
resolution: {integrity: sha512-yczSLRbDdReCO74Yfc5tKG0izzm+lPMYyO1fFTcn0QNwnKmc3K+HdxZWLGKg4pZVte7XVgcFku7TIZNbWEJdeQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@ -652,8 +652,8 @@ packages:
dev: false
optional: true
/@esbuild/win32-x64@0.17.16:
resolution: {integrity: sha512-xJ7OH/nanouJO9pf03YsL9NAFQBHd8AqfrQd7Pf5laGyyTt/gToul6QYOA/i5i/q8y9iaM5DQFNTgpi995VkOg==}
/@esbuild/win32-x64@0.17.17:
resolution: {integrity: sha512-FNZw7H3aqhF9OyRQbDDnzUApDXfC1N6fgBhkqEO2jvYCJ+DxMTfZVqg3AX0R1khg1wHTBRD5SdcibSJ+XF6bFg==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@ -723,14 +723,14 @@ packages:
- supports-color
dev: false
/@mdx-js/rollup@2.3.0(rollup@3.20.2):
/@mdx-js/rollup@2.3.0(rollup@3.20.4):
resolution: {integrity: sha512-wLvRfJS/M4UmdqTd+WoaySEE7q4BIejYf1xAHXYvtT1du/1Tl/z2450Gg2+Hu7fh05KwRRiehiTP9Yc/Dtn0fA==}
peerDependencies:
rollup: '>=2'
dependencies:
'@mdx-js/mdx': 2.3.0
'@rollup/pluginutils': 5.0.2(rollup@3.20.2)
rollup: 3.20.2
'@rollup/pluginutils': 5.0.2(rollup@3.20.4)
rollup: 3.20.4
source-map: 0.7.4
vfile: 5.3.7
transitivePeerDependencies:
@ -770,7 +770,7 @@ packages:
tslib: 2.5.0
dev: false
/@rollup/pluginutils@5.0.2(rollup@3.20.2):
/@rollup/pluginutils@5.0.2(rollup@3.20.4):
resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
engines: {node: '>=14.0.0'}
peerDependencies:
@ -782,7 +782,7 @@ packages:
'@types/estree': 1.0.0
estree-walker: 2.0.2
picomatch: 2.3.1
rollup: 3.20.2
rollup: 3.20.4
dev: false
/@types/acorn@4.0.6:
@ -1046,7 +1046,7 @@ packages:
preferred-pm: 3.0.3
prompts: 2.4.2
rehype: 12.0.1
semver: 7.4.0
semver: 7.5.0
server-destroy: 1.0.1
shiki: 0.11.1
slash: 4.0.0
@ -1138,8 +1138,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001478
electron-to-chromium: 1.4.365
caniuse-lite: 1.0.30001480
electron-to-chromium: 1.4.366
node-releases: 2.0.10
update-browserslist-db: 1.0.11(browserslist@4.21.5)
dev: false
@ -1163,8 +1163,8 @@ packages:
engines: {node: '>=10'}
dev: false
/caniuse-lite@1.0.30001478:
resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==}
/caniuse-lite@1.0.30001480:
resolution: {integrity: sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ==}
dev: false
/ccount@2.0.1:
@ -1371,8 +1371,8 @@ packages:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: false
/electron-to-chromium@1.4.365:
resolution: {integrity: sha512-FRHZO+1tUNO4TOPXmlxetkoaIY8uwHzd1kKopK/Gx2SKn1L47wJXWD44wxP5CGRyyP98z/c8e1eBzJrgPeiBOg==}
/electron-to-chromium@1.4.366:
resolution: {integrity: sha512-XjC4pyf1no8kJe24nUfyexpWwiGRbZWXU/KbprSEvXcTXUlr3Zr5vK3lQt2to0ttpMhAc3iENccwPSKbnEW2Fg==}
dev: false
/emmet@2.4.2:
@ -1398,34 +1398,34 @@ packages:
resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==}
dev: false
/esbuild@0.17.16:
resolution: {integrity: sha512-aeSuUKr9aFVY9Dc8ETVELGgkj4urg5isYx8pLf4wlGgB0vTFjxJQdHnNH6Shmx4vYYrOTLCHtRI5i1XZ9l2Zcg==}
/esbuild@0.17.17:
resolution: {integrity: sha512-/jUywtAymR8jR4qsa2RujlAF7Krpt5VWi72Q2yuLD4e/hvtNcFQ0I1j8m/bxq238pf3/0KO5yuXNpuLx8BE1KA==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
'@esbuild/android-arm': 0.17.16
'@esbuild/android-arm64': 0.17.16
'@esbuild/android-x64': 0.17.16
'@esbuild/darwin-arm64': 0.17.16
'@esbuild/darwin-x64': 0.17.16
'@esbuild/freebsd-arm64': 0.17.16
'@esbuild/freebsd-x64': 0.17.16
'@esbuild/linux-arm': 0.17.16
'@esbuild/linux-arm64': 0.17.16
'@esbuild/linux-ia32': 0.17.16
'@esbuild/linux-loong64': 0.17.16
'@esbuild/linux-mips64el': 0.17.16
'@esbuild/linux-ppc64': 0.17.16
'@esbuild/linux-riscv64': 0.17.16
'@esbuild/linux-s390x': 0.17.16
'@esbuild/linux-x64': 0.17.16
'@esbuild/netbsd-x64': 0.17.16
'@esbuild/openbsd-x64': 0.17.16
'@esbuild/sunos-x64': 0.17.16
'@esbuild/win32-arm64': 0.17.16
'@esbuild/win32-ia32': 0.17.16
'@esbuild/win32-x64': 0.17.16
'@esbuild/android-arm': 0.17.17
'@esbuild/android-arm64': 0.17.17
'@esbuild/android-x64': 0.17.17
'@esbuild/darwin-arm64': 0.17.17
'@esbuild/darwin-x64': 0.17.17
'@esbuild/freebsd-arm64': 0.17.17
'@esbuild/freebsd-x64': 0.17.17
'@esbuild/linux-arm': 0.17.17
'@esbuild/linux-arm64': 0.17.17
'@esbuild/linux-ia32': 0.17.17
'@esbuild/linux-loong64': 0.17.17
'@esbuild/linux-mips64el': 0.17.17
'@esbuild/linux-ppc64': 0.17.17
'@esbuild/linux-riscv64': 0.17.17
'@esbuild/linux-s390x': 0.17.17
'@esbuild/linux-x64': 0.17.17
'@esbuild/netbsd-x64': 0.17.17
'@esbuild/openbsd-x64': 0.17.17
'@esbuild/sunos-x64': 0.17.17
'@esbuild/win32-arm64': 0.17.17
'@esbuild/win32-ia32': 0.17.17
'@esbuild/win32-x64': 0.17.17
dev: false
/escalade@3.1.1:
@ -1962,8 +1962,8 @@ packages:
commander: 8.3.0
dev: false
/katex@0.16.4:
resolution: {integrity: sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==}
/katex@0.16.6:
resolution: {integrity: sha512-XVB7X8jEogjJ+OY+a9JdE+VOk9i7znela0HP6WaDbpB4sUh8ghrG0Ccluu2MA2tcJbFAViBC9aVXus2UvkEr8A==}
hasBin: true
dependencies:
commander: 8.3.0
@ -2387,7 +2387,7 @@ packages:
resolution: {integrity: sha512-WH+fJkveMvM3ZN+deb/jT3UW623x8xO9ycfJNDC+UQXX+V72RO6hT9KqxA7c8XFwozAFJ7tufOeG+x/CVSXHUw==}
dependencies:
'@types/katex': 0.16.0
katex: 0.16.4
katex: 0.16.6
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-symbol: 1.0.1
@ -2846,8 +2846,8 @@ packages:
find-up: 4.1.0
dev: false
/postcss@8.4.21:
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
/postcss@8.4.22:
resolution: {integrity: sha512-XseknLAfRHzVWjCEtdviapiBtfLdgyzExD50Rg2ePaucEesyh8Wv4VPdW0nbyDa1ydbrAxV19jvMT4+LFmcNUA==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.6
@ -3039,8 +3039,8 @@ packages:
unist-util-visit: 4.1.2
dev: false
/resolve@1.22.3:
resolution: {integrity: sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==}
/resolve@1.22.2:
resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
hasBin: true
dependencies:
is-core-module: 2.12.0
@ -3101,8 +3101,8 @@ packages:
engines: {node: '>=10.0.0'}
dev: false
/rollup@3.20.2:
resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
/rollup@3.20.4:
resolution: {integrity: sha512-n7J4tuctZXUErM9Uc916httwqmTc63zzCr2+TLCiSCpfO/Xuk3g/marGN1IlRJZi+QF3XMYx75PxXRfZDVgaRw==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@ -3158,8 +3158,8 @@ packages:
hasBin: true
dev: false
/semver@7.4.0:
resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==}
/semver@7.5.0:
resolution: {integrity: sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@ -3386,7 +3386,7 @@ packages:
'@types/json5': 0.0.30
'@types/resolve': 1.20.2
json5: 2.2.3
resolve: 1.22.3
resolve: 1.22.2
strip-bom: 4.0.0
type-fest: 0.13.1
dev: false
@ -3589,10 +3589,10 @@ packages:
terser:
optional: true
dependencies:
esbuild: 0.17.16
postcss: 8.4.21
resolve: 1.22.3
rollup: 3.20.2
esbuild: 0.17.17
postcss: 8.4.22
resolve: 1.22.2
rollup: 3.20.4
sass: 1.62.0
optionalDependencies:
fsevents: 2.3.2

View file

@ -23,9 +23,7 @@ const { title, date, tags = [], github } = Astro.props;
<section class="p_tags">
<img class="p_tags__icon" width="123" height="105" src="/static/svg/tags.svg" alt="">
<ul class="p_tags__list">
{tags.map(tag => (
<li><a href='{{ get_taxonomy_url(kind="tags", name=tag) | safe }}'>{tag}</a></li>
))}
{tags.map(tag => <li><a href={`/tags/${tag}/`}>{tag}</a></li>)}
</ul>
</section>
</div>

View file

@ -15,13 +15,15 @@ export const collections = {
date: z.date(),
day: z.number(),
stars: z.number(),
math: z.boolean().optional()
math: z.boolean().optional(),
tags: z.array(z.string()).optional(),
})
}),
slides: defineCollection({
schema: z.object({
title: z.string(),
date: z.date(),
tags: z.array(z.string()).optional(),
})
})
}

View file

@ -0,0 +1,29 @@
---
import dayjs from "dayjs";
import List from "../../layouts/List.astro";
import { getCollection } from 'astro:content';
import { getAllTags } from "./utils";
export async function getStaticPaths() {
return [...await getAllTags()].map(tag => ({params: {tag}}));
}
const tag = Astro.params.tag!;
const predicate = (entry: any) => entry.data.tags?.includes(tag);
const posts = (await Promise.all([
getCollection('posts', predicate),
getCollection('slides', predicate),
getCollection('aoc', predicate),
]))
.flat()
.sort((a, b) => a.data.date < b.data.date ? 1 : -1)
.map(entry => ({
title: entry.data.title,
slug: `/${entry.collection}/${entry.slug}/`,
date: dayjs(entry.data.date),
}))
---
<List title={tag} pages={posts} />

View file

@ -0,0 +1,13 @@
---
import List from "../../layouts/List.astro";
import { getAllTags } from "./utils";
const pages = [...await getAllTags()]
.map(tag => ({
title: tag,
slug: `/tags/${tag}/`
}));
---
<List title="Tags" pages={pages} />

15
src/pages/tags/utils.ts Normal file
View file

@ -0,0 +1,15 @@
import { getCollection } from "astro:content";
export async function getAllTags() {
return (await Promise.all([
getCollection('posts'),
getCollection('slides'),
getCollection('aoc'),
]))
.flat()
.reduce(
(acc, next) => (next.data.tags?.forEach(tag => acc.add(tag)), acc),
new Set<string>()
);
}