diff --git a/mdsvex.config.ts b/mdsvex.config.ts index a319feec..92957099 100644 --- a/mdsvex.config.ts +++ b/mdsvex.config.ts @@ -21,23 +21,18 @@ import { lex, parse as parseFence } from 'fenceparser' import { renderCodeToHTML, runTwoSlash, createShikiHighlighter } from 'shiki-twoslash' type VALUE = { [key in string | number]: VALUE } | Array | string | boolean | number -// lightbox -import { Lightbox } from 'svelte-lightbox' - const remarkUraraFm = () => (tree: Node, { data, filename }: { data: { fm?: Record }; filename?: string }) => { const filepath = (filename as string).split('/src/routes')[1] - let { dir, name } = parse(filepath) + const { dir, name } = parse(filepath) if (!data.fm) data.fm = {} // Generate slug & path data.fm.slug = filepath data.fm.path = join(dir, `/${name}`.replace('/index', '').replace('.svelte', '')) - // Auto-set layout as article - if (!data.fm.layout) data.fm.layout = 'article' // Generate ToC if (data.fm.toc !== false) { - let [slugs, toc]: [slugs: Slugger, toc: { depth: number; title: string; slug: string }[]] = [new Slugger(), []] + const [slugs, toc]: [slugs: Slugger, toc: { depth: number; title: string; slug: string }[]] = [new Slugger(), []] visit(tree, 'heading', (node: { depth: number }) => { toc.push({ depth: node.depth, @@ -47,11 +42,6 @@ const remarkUraraFm = }) data.fm.toc = toc } - // Rename - if (data.fm.date) data.fm.created = data.fm.date - if (data.fm.lastmod) data.fm.updated = data.fm.lastmod - if (data.fm.cover) data.fm.photo = data.fm.cover - if (data.fm.descr) data.fm.summary = data.fm.descr // Auto-read created & updated if (!data.fm.created || !data.fm.updated) { const { ctime, mtime } = statSync(new URL(`./urara${filepath}`, import.meta.url)) @@ -81,11 +71,7 @@ export default defineConfig({ dashes: 'oldschool' }, layout: { - article: './src/lib/components/layouts/article.svelte', - note: './src/lib/components/layouts/note.svelte', - photo: './src/lib/components/layouts/photo.svelte', - reply: './src/lib/components/layouts/reply.svelte', - _: './src/lib/components/layouts/article.svelte' + _: './src/lib/components/post_layout.svelte' }, highlight: { highlighter: async (code, lang, meta) => { diff --git a/package.json b/package.json index 230f7f70..4871e51d 100644 --- a/package.json +++ b/package.json @@ -39,19 +39,20 @@ "@sveltejs/adapter-static": "1.0.0-next.38", "@sveltejs/kit": "1.0.0-next.392", "@tailwindcss/typography": "^0.5.4", - "@types/node": "^18.0.6", + "@types/node": "^18.6.3", "@types/unist": "^2.0.6", - "@typescript-eslint/eslint-plugin": "^5.30.7", - "@typescript-eslint/parser": "^5.30.7", + "@typescript-eslint/eslint-plugin": "^5.32.0", + "@typescript-eslint/parser": "^5.32.0", "autoprefixer": "^10.4.7", "chalk": "^5.0.1", "chokidar": "^3.5.3", "cssnano": "^5.1.12", "daisyui": "^2.20.0", - "eslint": "^8.20.0", + "eslint": "^8.21.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte3": "^4.0.0", "fenceparser": "^2.0.0", + "fff-flavored-frontmatter": "~0.2.1", "github-slugger": "^1.4.0", "mdast-util-to-string": "^3.1.0", "mdsvex": "^0.10.6", @@ -71,13 +72,13 @@ "svelte-lightbox": "^0.6.6", "svelte-preprocess": "^4.10.7", "svelte-typeahead": "^4.2.4", - "tailwindcss": "^3.1.6", + "tailwindcss": "^3.1.7", "tslib": "^2.4.0", "typescript": "^4.7.4", "unist-util-visit": "^4.1.0", - "unocss": "^0.44.7", - "vite": "^3.0.2", + "unocss": "^0.45.1", + "vite": "^3.0.4", "vite-plugin-pwa": "^0.12.3", - "workbox-window": "^6.5.3" + "workbox-window": "^6.5.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 837f721e..1f5f0cc9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,19 +11,20 @@ specifiers: '@sveltejs/adapter-static': 1.0.0-next.38 '@sveltejs/kit': 1.0.0-next.392 '@tailwindcss/typography': ^0.5.4 - '@types/node': ^18.0.6 + '@types/node': ^18.6.3 '@types/unist': ^2.0.6 - '@typescript-eslint/eslint-plugin': ^5.30.7 - '@typescript-eslint/parser': ^5.30.7 + '@typescript-eslint/eslint-plugin': ^5.32.0 + '@typescript-eslint/parser': ^5.32.0 autoprefixer: ^10.4.7 chalk: ^5.0.1 chokidar: ^3.5.3 cssnano: ^5.1.12 daisyui: ^2.20.0 - eslint: ^8.20.0 + eslint: ^8.21.0 eslint-config-prettier: ^8.5.0 eslint-plugin-svelte3: ^4.0.0 fenceparser: ^2.0.0 + fff-flavored-frontmatter: ~0.2.1 github-slugger: ^1.4.0 mdast-util-to-string: ^3.1.0 mdsvex: ^0.10.6 @@ -43,14 +44,14 @@ specifiers: svelte-lightbox: ^0.6.6 svelte-preprocess: ^4.10.7 svelte-typeahead: ^4.2.4 - tailwindcss: ^3.1.6 + tailwindcss: ^3.1.7 tslib: ^2.4.0 typescript: ^4.7.4 unist-util-visit: ^4.1.0 - unocss: ^0.44.7 - vite: ^3.0.2 + unocss: ^0.45.1 + vite: ^3.0.4 vite-plugin-pwa: ^0.12.3 - workbox-window: ^6.5.3 + workbox-window: ^6.5.4 devDependencies: '@iconify-json/heroicons-outline': 1.1.2 @@ -61,21 +62,22 @@ devDependencies: '@sveltejs/adapter-auto': 1.0.0-next.63 '@sveltejs/adapter-node': 1.0.0-next.83 '@sveltejs/adapter-static': 1.0.0-next.38 - '@sveltejs/kit': 1.0.0-next.392_svelte@3.49.0+vite@3.0.2 - '@tailwindcss/typography': 0.5.4_tailwindcss@3.1.6 - '@types/node': 18.0.6 + '@sveltejs/kit': 1.0.0-next.392_svelte@3.49.0+vite@3.0.4 + '@tailwindcss/typography': 0.5.4_tailwindcss@3.1.8 + '@types/node': 18.6.4 '@types/unist': 2.0.6 - '@typescript-eslint/eslint-plugin': 5.30.7_6wltbjakwuqm7awqswigmiuhd4 - '@typescript-eslint/parser': 5.30.7_he2ccbldppg44uulnyq4rwocfa + '@typescript-eslint/eslint-plugin': 5.32.0_iosr3hrei2tubxveewluhu5lhy + '@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq autoprefixer: 10.4.7_postcss@8.4.14 chalk: 5.0.1 chokidar: 3.5.3 cssnano: 5.1.12_postcss@8.4.14 daisyui: 2.20.0_ugi4xkrfysqkt4c4y6hkyfj344 - eslint: 8.20.0 - eslint-config-prettier: 8.5.0_eslint@8.20.0 - eslint-plugin-svelte3: 4.0.0_piwa6j2njmnknm35bh3wz5v52y + eslint: 8.21.0 + eslint-config-prettier: 8.5.0_eslint@8.21.0 + eslint-plugin-svelte3: 4.0.0_a7wk4ghvg4hia4trwaglu7p6cq fenceparser: 2.0.0 + fff-flavored-frontmatter: 0.2.1 github-slugger: 1.4.0 mdast-util-to-string: 3.1.0 mdsvex: 0.10.6_svelte@3.49.0 @@ -95,14 +97,14 @@ devDependencies: svelte-lightbox: 0.6.6_svelte@3.49.0 svelte-preprocess: 4.10.7_bgntxiihuqhg5mwaa7nczjwpga svelte-typeahead: 4.2.4 - tailwindcss: 3.1.6 + tailwindcss: 3.1.8 tslib: 2.4.0 typescript: 4.7.4 unist-util-visit: 4.1.0 - unocss: 0.44.7_vite@3.0.2 - vite: 3.0.2 - vite-plugin-pwa: 0.12.3_vite@3.0.2 - workbox-window: 6.5.3 + unocss: 0.45.5_vite@3.0.4 + vite: 3.0.4 + vite-plugin-pwa: 0.12.3_vite@3.0.4 + workbox-window: 6.5.4 packages: @@ -1280,7 +1282,7 @@ packages: dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.3.2 + espree: 9.3.3 globals: 13.17.0 ignore: 5.2.0 import-fresh: 3.3.0 @@ -1291,8 +1293,8 @@ packages: - supports-color dev: true - /@humanwhocodes/config-array/0.9.5: - resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} + /@humanwhocodes/config-array/0.10.4: + resolution: {integrity: sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -1302,6 +1304,10 @@ packages: - supports-color dev: true + /@humanwhocodes/gitignore-to-minimatch/1.0.2: + resolution: {integrity: sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==} + dev: true + /@humanwhocodes/object-schema/1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true @@ -1566,7 +1572,7 @@ packages: - supports-color dev: true - /@sveltejs/kit/1.0.0-next.392_svelte@3.49.0+vite@3.0.2: + /@sveltejs/kit/1.0.0-next.392_svelte@3.49.0+vite@3.0.4: resolution: {integrity: sha512-od4rDJ/Soq0I7mda7sTbAnNKERHSDEGNa7QBpLA859xgBkwC1JnEIymYOh9dm+hMyHhB0bUoRoaur0qxKLqOOw==} engines: {node: '>=16.9'} hasBin: true @@ -1574,17 +1580,17 @@ packages: svelte: ^3.44.0 vite: ^3.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 1.0.1_svelte@3.49.0+vite@3.0.2 + '@sveltejs/vite-plugin-svelte': 1.0.1_svelte@3.49.0+vite@3.0.4 chokidar: 3.5.3 sade: 1.8.1 svelte: 3.49.0 - vite: 3.0.2 + vite: 3.0.4 transitivePeerDependencies: - diff-match-patch - supports-color dev: true - /@sveltejs/vite-plugin-svelte/1.0.1_svelte@3.49.0+vite@3.0.2: + /@sveltejs/vite-plugin-svelte/1.0.1_svelte@3.49.0+vite@3.0.4: resolution: {integrity: sha512-PorCgUounn0VXcpeJu+hOweZODKmGuLHsLomwqSj+p26IwjjGffmYQfVHtiTWq+NqaUuuHWWG7vPge6UFw4Aeg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -1602,12 +1608,12 @@ packages: magic-string: 0.26.2 svelte: 3.49.0 svelte-hmr: 0.14.12_svelte@3.49.0 - vite: 3.0.2 + vite: 3.0.4 transitivePeerDependencies: - supports-color dev: true - /@tailwindcss/typography/0.5.4_tailwindcss@3.1.6: + /@tailwindcss/typography/0.5.4_tailwindcss@3.1.8: resolution: {integrity: sha512-QEdg40EmGvE7kKoDei8zr5sf4D1pIayHj4R31bH3lX8x2BtTiR+jNejYPOkhbmy3DXgkMF9jC8xqNiGFAuL9Sg==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' @@ -1615,7 +1621,7 @@ packages: lodash.castarray: 4.4.0 lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 - tailwindcss: 3.1.6 + tailwindcss: 3.1.8 dev: true /@trysound/sax/0.2.0: @@ -1653,8 +1659,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node/18.0.6: - resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==} + /@types/node/18.6.4: + resolution: {integrity: sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==} dev: true /@types/pug/2.0.6: @@ -1664,13 +1670,13 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.0.6 + '@types/node': 18.6.4 dev: true /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.0.6 + '@types/node': 18.6.4 dev: true /@types/trusted-types/2.0.2: @@ -1681,8 +1687,8 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@typescript-eslint/eslint-plugin/5.30.7_6wltbjakwuqm7awqswigmiuhd4: - resolution: {integrity: sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw==} + /@typescript-eslint/eslint-plugin/5.32.0_iosr3hrei2tubxveewluhu5lhy: + resolution: {integrity: sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1692,12 +1698,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.30.7_he2ccbldppg44uulnyq4rwocfa - '@typescript-eslint/scope-manager': 5.30.7 - '@typescript-eslint/type-utils': 5.30.7_he2ccbldppg44uulnyq4rwocfa - '@typescript-eslint/utils': 5.30.7_he2ccbldppg44uulnyq4rwocfa + '@typescript-eslint/parser': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq + '@typescript-eslint/scope-manager': 5.32.0 + '@typescript-eslint/type-utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq + '@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq debug: 4.3.4 - eslint: 8.20.0 + eslint: 8.21.0 functional-red-black-tree: 1.0.1 ignore: 5.2.0 regexpp: 3.2.0 @@ -1708,8 +1714,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.30.7_he2ccbldppg44uulnyq4rwocfa: - resolution: {integrity: sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A==} + /@typescript-eslint/parser/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq: + resolution: {integrity: sha512-IxRtsehdGV9GFQ35IGm5oKKR2OGcazUoiNBxhRV160iF9FoyuXxjY+rIqs1gfnd+4eL98OjeGnMpE7RF/NBb3A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1718,26 +1724,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.30.7 - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/typescript-estree': 5.30.7_typescript@4.7.4 + '@typescript-eslint/scope-manager': 5.32.0 + '@typescript-eslint/types': 5.32.0 + '@typescript-eslint/typescript-estree': 5.32.0_typescript@4.7.4 debug: 4.3.4 - eslint: 8.20.0 + eslint: 8.21.0 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager/5.30.7: - resolution: {integrity: sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw==} + /@typescript-eslint/scope-manager/5.32.0: + resolution: {integrity: sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/visitor-keys': 5.30.7 + '@typescript-eslint/types': 5.32.0 + '@typescript-eslint/visitor-keys': 5.32.0 dev: true - /@typescript-eslint/type-utils/5.30.7_he2ccbldppg44uulnyq4rwocfa: - resolution: {integrity: sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw==} + /@typescript-eslint/type-utils/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq: + resolution: {integrity: sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1746,22 +1752,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/utils': 5.30.7_he2ccbldppg44uulnyq4rwocfa + '@typescript-eslint/utils': 5.32.0_qugx7qdu5zevzvxaiqyxfiwquq debug: 4.3.4 - eslint: 8.20.0 + eslint: 8.21.0 tsutils: 3.21.0_typescript@4.7.4 typescript: 4.7.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.30.7: - resolution: {integrity: sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg==} + /@typescript-eslint/types/5.32.0: + resolution: {integrity: sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.30.7_typescript@4.7.4: - resolution: {integrity: sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA==} + /@typescript-eslint/typescript-estree/5.32.0_typescript@4.7.4: + resolution: {integrity: sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1769,8 +1775,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/visitor-keys': 5.30.7 + '@typescript-eslint/types': 5.32.0 + '@typescript-eslint/visitor-keys': 5.32.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1781,29 +1787,29 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.30.7_he2ccbldppg44uulnyq4rwocfa: - resolution: {integrity: sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ==} + /@typescript-eslint/utils/5.32.0_qugx7qdu5zevzvxaiqyxfiwquq: + resolution: {integrity: sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.30.7 - '@typescript-eslint/types': 5.30.7 - '@typescript-eslint/typescript-estree': 5.30.7_typescript@4.7.4 - eslint: 8.20.0 + '@typescript-eslint/scope-manager': 5.32.0 + '@typescript-eslint/types': 5.32.0 + '@typescript-eslint/typescript-estree': 5.32.0_typescript@4.7.4 + eslint: 8.21.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.20.0 + eslint-utils: 3.0.0_eslint@8.21.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.30.7: - resolution: {integrity: sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw==} + /@typescript-eslint/visitor-keys/5.32.0: + resolution: {integrity: sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.30.7 + '@typescript-eslint/types': 5.32.0 eslint-visitor-keys: 3.3.0 dev: true @@ -1833,139 +1839,145 @@ packages: - supports-color dev: true - /@unocss/cli/0.44.7: - resolution: {integrity: sha512-/FthkzWK3DT4u06rUnl5i7+fDPpp0sNH9oEz1EssrobmRIVWF7e7uGOUs8bc522uFMy8vOvxiQUn69v4RSGdGQ==} + /@unocss/cli/0.45.5: + resolution: {integrity: sha512-gB/XZ6ksS/le1r33JhLam7UtJhd2fvtbgYV2rU76DOoqIa+qCZFbrMDFyF+PJz6yCW0goYF9ybtZXND42aygZQ==} engines: {node: '>=14'} hasBin: true dependencies: - '@unocss/config': 0.44.7 - '@unocss/core': 0.44.7 - '@unocss/preset-uno': 0.44.7 + '@unocss/config': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/preset-uno': 0.45.5 cac: 6.7.12 chokidar: 3.5.3 colorette: 2.0.19 consola: 2.15.3 fast-glob: 3.2.11 - pathe: 0.3.2 + pathe: 0.3.3 perfect-debounce: 0.1.3 dev: true - /@unocss/config/0.44.7: - resolution: {integrity: sha512-KSboUqIMkSLBQtVaQ2oTWSqdIBvj8Ged38h9un7Qe047jrYFHzgpCYVfmr7ZgZ2hqDYCdNc1357WgqNZO4AwiQ==} + /@unocss/config/0.45.5: + resolution: {integrity: sha512-wae2RmItmaSsXcMPb9dOzrfQlG6SDgbuUmyuXydJi7VZmj/5a/a1cRTny/J2/eP1kS5aUNgCm/FzpletH59mfw==} engines: {node: '>=14'} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 unconfig: 0.3.5 dev: true - /@unocss/core/0.44.7: - resolution: {integrity: sha512-EPs3IxvPdzxEkEynAyCqyJX25IPp5RtFK3mFdgmXGvigwpgq9sxJBzQRXmYNtDeZriSyiwjYmc9yclLEJH3IiA==} + /@unocss/core/0.45.5: + resolution: {integrity: sha512-6boP8sGTRb+nE87pdjii7otO/tguIlDkFh90E6mglA0XdjHWiLCCNlgJoxgjCGCPNYUm/Nojx0bUbcokuqBZDw==} dev: true - /@unocss/inspector/0.44.7: - resolution: {integrity: sha512-uH0dla42tiKEfCpgCcDLC0FwKzrNRLqsN7R3az0B/eHSkeOuXrg7jdA9RWaNNmjnl6/ZOqevtyE5+g7JZf7E6A==} + /@unocss/inspector/0.45.5: + resolution: {integrity: sha512-OM1bmmt8Qbsdt4AvokI/HAYVrHWOYwsNyisEhgGRQiOuc6JuFx1+B1T8hyELBRZfunvfm4J6qDJ3qGqPZWFU9g==} dependencies: gzip-size: 6.0.0 sirv: 2.0.2 dev: true - /@unocss/preset-attributify/0.44.7: - resolution: {integrity: sha512-aXW06aBcrHFzf0eKLpDpNmaQ7LPz6RibCHTNhSF/IkyDPAp7HDltIGoWY2+D/C1LUO3gXahnH4Mj4dlvv7fZtg==} + /@unocss/preset-attributify/0.45.5: + resolution: {integrity: sha512-xgjsuYDB5EYqXaCa73B9Tk19y6U8482S/trf6kcbSSGLaEcXhOQMdo8xtUJPyacwoCG0ralCgWIgWeb/VQ0noQ==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/preset-icons/0.44.7: - resolution: {integrity: sha512-3PC8a1yjm/rV0Sq192OB+yWokccjNZlh8dsmt3NPdz7OTIRTreNvUaFlV5CHk1JSk2/CNus1VWLG1VeDHqdotg==} + /@unocss/preset-icons/0.45.5: + resolution: {integrity: sha512-msrhKKEWh5HMyQXnseKjMTe8dZZZl/URaxCtDkIhzGJHzDvTAiU7kDr6pAr3Uxw2DgDEviq159W22679JyaBHg==} dependencies: '@iconify/utils': 1.0.33 - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 ohmyfetch: 0.4.18 transitivePeerDependencies: - supports-color dev: true - /@unocss/preset-mini/0.44.7: - resolution: {integrity: sha512-EPRogHZstaRGh4244FUixaQUgfQW1lfKnbyh8ZewtL+iCN0YdDEyWuITtqA1yv9sMlJdn9nAEowA3is9ZkWtBQ==} + /@unocss/preset-mini/0.45.5: + resolution: {integrity: sha512-R8FDinKThZBTIqwuYokI8GHOTxt8x11W/dY4wyXOFXXiGW2kmL7fjhB3KNN3sfyhyp+k2g5CW40XJ13rOunODw==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/preset-tagify/0.44.7: - resolution: {integrity: sha512-+9K3qX1bAIU7BINXi5qTFBr828WXrXGhq3Nzys8rHgrZShPpwwlfJl26oN3cteWEDxSOlM6DZ3xSqoIMtWcQXA==} + /@unocss/preset-tagify/0.45.5: + resolution: {integrity: sha512-fRUEh8EuJUjXHvJNzbPquC6Ih51mIygFmNaBXr9W9SNQYgYF9Z9Xy/2rFD3ADaI6L52JUIEV0OZgt1E/QJpAng==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/preset-typography/0.44.7: - resolution: {integrity: sha512-2YAkIuClWIgi0F95VFMz0cY8wPmngpxlKE8wRNF29hZ5Qvz+MfFDe6ECypApKUDMP2+dfhAHwXu9MlN/Vgnr5A==} + /@unocss/preset-typography/0.45.5: + resolution: {integrity: sha512-4F2hRDsuE8BCA0MZIaRjClXIVQkePQsQyz+s3qw89Fndeatj+Yd5VrKEPBBz3g9062A6dUGfgWUyy4o+SAOCvA==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/preset-uno/0.44.7: - resolution: {integrity: sha512-JN1/hCy51RdQmDjCkVZWzFZv0XREyFIxSv/Wy3XfI3rzD42vdcTei/OraFfEhkh9/SdF9uUlIh9QQwOFZUWpyg==} + /@unocss/preset-uno/0.45.5: + resolution: {integrity: sha512-eo0do6sS1xMRaeOvxkxEjFXZoh0Pm5g1c8bb3WpNMogcp9l8t22JCkSLo5dq+dnC+nQduOzt/GJoA+XksQeEsw==} dependencies: - '@unocss/core': 0.44.7 - '@unocss/preset-mini': 0.44.7 - '@unocss/preset-wind': 0.44.7 + '@unocss/core': 0.45.5 + '@unocss/preset-mini': 0.45.5 + '@unocss/preset-wind': 0.45.5 dev: true - /@unocss/preset-web-fonts/0.44.7: - resolution: {integrity: sha512-1dI3B9LnSt9yLnvsVsiI454SMhlraRdyNU1xrBQ8Z0YBF41/it0yk4+xf2uD8o87brBgfTib4gzPdVxgqQsiqQ==} + /@unocss/preset-web-fonts/0.45.5: + resolution: {integrity: sha512-wusZRdGXpAVWbdyNP7Cd7D1hWuAEG1jch4kXzRNyjZ4Uo7ImGY42yEysjXpuNizA29i0Xe9FtT99kCqOcQwHRQ==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 ohmyfetch: 0.4.18 dev: true - /@unocss/preset-wind/0.44.7: - resolution: {integrity: sha512-mjzNwY18A/WT8cSGuxf52rYR/gy1jjDXg1xF38/Jn1Nln4jOBkKzrQTyk4c/3GJWNrHav8hE3VanD8+l7Q6W6A==} + /@unocss/preset-wind/0.45.5: + resolution: {integrity: sha512-N4kr5SG4WjqJ4hI+4Fp8QlB5u7pTtAGY1WDVPeKwh3lX2iE01BnQhL6W6ds7BjXSdGm/yUQwBCedpnAfzWqutQ==} dependencies: - '@unocss/core': 0.44.7 - '@unocss/preset-mini': 0.44.7 + '@unocss/core': 0.45.5 + '@unocss/preset-mini': 0.45.5 dev: true - /@unocss/reset/0.44.7: - resolution: {integrity: sha512-izmqZafDMClT1vQEGpPzfKWvyft8xkA33xC0r0iOWEiDd94+wlC+7ohSnsafyl0iwEuwPp/ONzDft5ouHrOWLA==} + /@unocss/reset/0.45.5: + resolution: {integrity: sha512-JDFRoc1H0Tk1knRGI+LljOKrKkWrF1txJ50DG3oa+azTdQaX0wDQ4isyDM6PbodydhEqYCsZcJEL/2pEiPRg8A==} dev: true - /@unocss/scope/0.44.7: - resolution: {integrity: sha512-E6kqHWfJpm3TXHj9KWs23oVEzknVAUfqbDpGYxh9JYG+hIvbYQdrBpIXNspodxQllNeQtGrtkQ8/PrHDo/3hpw==} + /@unocss/scope/0.45.5: + resolution: {integrity: sha512-+7PPbxxVp/k27YyBVSM/euKnB65KtaXA4iYHiDWRja235RnnsZ7XcSZ78o5hDuOA3dnqZU+d4rV5rt1tGy6XJA==} dev: true - /@unocss/transformer-compile-class/0.44.7: - resolution: {integrity: sha512-LwyjtdHIrgX6AREKiPmXSXjXclSUSnY/cHXSlwTqfs3Q0bkp6voFNG2CzhJF5xMoMa27ZszpvACbZG5CIZYOuA==} + /@unocss/transformer-attributify-jsx/0.45.5: + resolution: {integrity: sha512-e4l5G7ZLhSeIkHM6mo6KfXZbQDi6XFcTNQRJStXF6t2UjqABAtR/jLCUzkyK7khaLE4QxduRhCHCfR/VyYvCyg==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/transformer-directives/0.44.7: - resolution: {integrity: sha512-tDjFHfjpoaru/e468Nhhz+5ofdJY46mYgamF1n98RDLtH1hnKxS+PvD4mm0AxsY5NJ20hLUihzFbN0Mnuos4Ew==} + /@unocss/transformer-compile-class/0.45.5: + resolution: {integrity: sha512-R08rLO3XZyk5g1BQ01GT+0AuztVpj+g6e+B+4NeoMF3LhShA4Zg+yqn7awa2d5/1tXwpMYO4kwyBFZzQf0WzBw==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 + dev: true + + /@unocss/transformer-directives/0.45.5: + resolution: {integrity: sha512-k+QZetHGcSmxXMlE2UfkfnzFJ865FBxnT5EZCU/dlL1B2momDi19n2q0Hc9DnX/GjbLtrzurQFrq+Xy4gQ7HcA==} + dependencies: + '@unocss/core': 0.45.5 css-tree: 2.1.0 dev: true - /@unocss/transformer-variant-group/0.44.7: - resolution: {integrity: sha512-f5tJZ8rfpix245JgcezqjtvWC9wkc9Sdg0R/2yb3fyPBLGNonYGqAp2GViqmVo8UsFerullpKeUCmCSk8gCyFg==} + /@unocss/transformer-variant-group/0.45.5: + resolution: {integrity: sha512-Qp0g+9U//cXV7u6dojXw3tafs1saRW+nViMdfCjEKWz3TStFssI9IAhwg5wIZoYYLSSCVMfBTc96OkDvO1m9rA==} dependencies: - '@unocss/core': 0.44.7 + '@unocss/core': 0.45.5 dev: true - /@unocss/vite/0.44.7_vite@3.0.2: - resolution: {integrity: sha512-RjOB+Yv2bg/p5NOzwXDYap0fl7m+1VmIfej8Afceisy0mDL1NniGISiA0pQjOhUewPdSaBDpRXxlpoDGnYaPjw==} + /@unocss/vite/0.45.5_vite@3.0.4: + resolution: {integrity: sha512-QVNj9xDBJ46RC1D+rSFiGWywazq6z7MVszrpifCACtA8qKdWbrWuI8beEpfo3pBpf7uYFIb+Df6CU9gCD809Og==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 dependencies: '@ampproject/remapping': 2.2.0 '@rollup/pluginutils': 4.2.1 - '@unocss/config': 0.44.7 - '@unocss/core': 0.44.7 - '@unocss/inspector': 0.44.7 - '@unocss/scope': 0.44.7 - '@unocss/transformer-directives': 0.44.7 + '@unocss/config': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/inspector': 0.45.5 + '@unocss/scope': 0.45.5 + '@unocss/transformer-directives': 0.45.5 magic-string: 0.26.2 - vite: 3.0.2 + vite: 3.0.4 dev: true /@vercel/nft/0.20.1: @@ -2561,7 +2573,7 @@ packages: css-selector-tokenizer: 0.8.0 postcss: 8.4.14 postcss-js: 4.0.0_postcss@8.4.14 - tailwindcss: 3.1.6 + tailwindcss: 3.1.8 transitivePeerDependencies: - ts-node dev: true @@ -2991,22 +3003,22 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.5.0_eslint@8.20.0: + /eslint-config-prettier/8.5.0_eslint@8.21.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.20.0 + eslint: 8.21.0 dev: true - /eslint-plugin-svelte3/4.0.0_piwa6j2njmnknm35bh3wz5v52y: + /eslint-plugin-svelte3/4.0.0_a7wk4ghvg4hia4trwaglu7p6cq: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.20.0 + eslint: 8.21.0 svelte: 3.49.0 dev: true @@ -3026,13 +3038,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.20.0: + /eslint-utils/3.0.0_eslint@8.21.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.20.0 + eslint: 8.21.0 eslint-visitor-keys: 2.1.0 dev: true @@ -3046,13 +3058,14 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.20.0: - resolution: {integrity: sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA==} + /eslint/8.21.0: + resolution: {integrity: sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@eslint/eslintrc': 1.3.0 - '@humanwhocodes/config-array': 0.9.5 + '@humanwhocodes/config-array': 0.10.4 + '@humanwhocodes/gitignore-to-minimatch': 1.0.2 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -3060,16 +3073,19 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.20.0 + eslint-utils: 3.0.0_eslint@8.21.0 eslint-visitor-keys: 3.3.0 - espree: 9.3.2 + espree: 9.3.3 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 + find-up: 5.0.0 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 globals: 13.17.0 + globby: 11.1.0 + grapheme-splitter: 1.0.4 ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 @@ -3090,8 +3106,8 @@ packages: - supports-color dev: true - /espree/9.3.2: - resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} + /espree/9.3.3: + resolution: {integrity: sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.8.0 @@ -3196,6 +3212,10 @@ packages: resolution: {integrity: sha512-E9VwROet683ky1b3RuuLbfSaUD5lFlr5oT3dZr7eObA08zzhh+FFwacGPqsvPhW0nm175bkmpNHWwDDkFMNXMg==} dev: true + /fff-flavored-frontmatter/0.2.1: + resolution: {integrity: sha512-e67ykDJbD00kqsBYvEZWMykcKDat1UtF0Vxi5CKhBad2V+FK3JGpqg8eUEtK7jao/UkPS0iyfKvSpZ67VXWQlQ==} + dev: true + /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3410,6 +3430,10 @@ packages: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /gzip-size/6.0.0: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} @@ -3712,7 +3736,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.0.6 + '@types/node': 18.6.4 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -4463,8 +4487,8 @@ packages: engines: {node: '>=8'} dev: true - /pathe/0.3.2: - resolution: {integrity: sha512-qhnmX0TOqlCvdWWTkoM83wh5J8fZ2yhbDEc9MlsnAEtEc+JCwxUKEwmd6pkY9hRe6JR1Uecbc14VcAKX2yFSTA==} + /pathe/0.3.3: + resolution: {integrity: sha512-x3nrPvG0HDSDzUiJ0WqtzhN4MD+h5B+dFJ3/qyxVuARlr4Y3aJv8gri2cZzp9Z8sGs2a+aG9gNbKngh3gme57A==} dev: true /perfect-debounce/0.1.3: @@ -5611,8 +5635,8 @@ packages: stable: 0.1.8 dev: true - /tailwindcss/3.1.6: - resolution: {integrity: sha512-7skAOY56erZAFQssT1xkpk+kWt2NrO45kORlxFPXUt3CiGsVPhH1smuH5XoDH6sGPXLyBv+zgCKA2HWBsgCytg==} + /tailwindcss/3.1.8: + resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} engines: {node: '>=12.13.0'} hasBin: true dependencies: @@ -5867,30 +5891,31 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss/0.44.7_vite@3.0.2: - resolution: {integrity: sha512-4XQZAZ7F5gFi30Dn4e7PdxYc2BVTBtrkXA5QzHgmBy/RqNoM5kEuQwsooEVEMl6Cp3Q+vHuQCueVffOBHUl9rQ==} + /unocss/0.45.5_vite@3.0.4: + resolution: {integrity: sha512-dHmyAnTnkoffgXHjWpJIK2iwCDK9HEWkdHrz+Wh114G/ZcX3vQWlpnvboo36oW0V37UaqbId5ajwHRHE6SNo4g==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.44.7 + '@unocss/webpack': 0.45.5 peerDependenciesMeta: '@unocss/webpack': optional: true dependencies: - '@unocss/cli': 0.44.7 - '@unocss/core': 0.44.7 - '@unocss/preset-attributify': 0.44.7 - '@unocss/preset-icons': 0.44.7 - '@unocss/preset-mini': 0.44.7 - '@unocss/preset-tagify': 0.44.7 - '@unocss/preset-typography': 0.44.7 - '@unocss/preset-uno': 0.44.7 - '@unocss/preset-web-fonts': 0.44.7 - '@unocss/preset-wind': 0.44.7 - '@unocss/reset': 0.44.7 - '@unocss/transformer-compile-class': 0.44.7 - '@unocss/transformer-directives': 0.44.7 - '@unocss/transformer-variant-group': 0.44.7 - '@unocss/vite': 0.44.7_vite@3.0.2 + '@unocss/cli': 0.45.5 + '@unocss/core': 0.45.5 + '@unocss/preset-attributify': 0.45.5 + '@unocss/preset-icons': 0.45.5 + '@unocss/preset-mini': 0.45.5 + '@unocss/preset-tagify': 0.45.5 + '@unocss/preset-typography': 0.45.5 + '@unocss/preset-uno': 0.45.5 + '@unocss/preset-web-fonts': 0.45.5 + '@unocss/preset-wind': 0.45.5 + '@unocss/reset': 0.45.5 + '@unocss/transformer-attributify-jsx': 0.45.5 + '@unocss/transformer-compile-class': 0.45.5 + '@unocss/transformer-directives': 0.45.5 + '@unocss/transformer-variant-group': 0.45.5 + '@unocss/vite': 0.45.5_vite@3.0.4 transitivePeerDependencies: - supports-color - vite @@ -5967,7 +5992,7 @@ packages: vfile-message: 3.1.2 dev: true - /vite-plugin-pwa/0.12.3_vite@3.0.2: + /vite-plugin-pwa/0.12.3_vite@3.0.4: resolution: {integrity: sha512-gmYdIVXpmBuNjzbJFPZFzxWYrX4lHqwMAlOtjmXBbxApiHjx9QPXKQPJjSpeTeosLKvVbNcKSAAhfxMda0QVNQ==} peerDependencies: vite: ^2.0.0 || ^3.0.0-0 @@ -5976,16 +6001,16 @@ packages: fast-glob: 3.2.11 pretty-bytes: 6.0.0 rollup: 2.77.0 - vite: 3.0.2 + vite: 3.0.4 workbox-build: 6.5.3 - workbox-window: 6.5.3 + workbox-window: 6.5.4 transitivePeerDependencies: - '@types/babel__core' - supports-color dev: true - /vite/3.0.2: - resolution: {integrity: sha512-TAqydxW/w0U5AoL5AsD9DApTvGb2iNbGs3sN4u2VdT1GFkQVUfgUldt+t08TZgi23uIauh1TUOQJALduo9GXqw==} + /vite/3.0.4: + resolution: {integrity: sha512-NU304nqnBeOx2MkQnskBQxVsa0pRAH5FphokTGmyy8M3oxbvw7qAXts2GORxs+h/2vKsD+osMhZ7An6yK6F1dA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -6147,6 +6172,10 @@ packages: resolution: {integrity: sha512-Bb9ey5n/M9x+l3fBTlLpHt9ASTzgSGj6vxni7pY72ilB/Pb3XtN+cZ9yueboVhD5+9cNQrC9n/E1fSrqWsUz7Q==} dev: true + /workbox-core/6.5.4: + resolution: {integrity: sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==} + dev: true + /workbox-expiration/6.5.3: resolution: {integrity: sha512-jzYopYR1zD04ZMdlbn/R2Ik6ixiXbi15c9iX5H8CTi6RPDz7uhvMLZPKEndZTpfgmUk8mdmT9Vx/AhbuCl5Sqw==} dependencies: @@ -6224,6 +6253,13 @@ packages: workbox-core: 6.5.3 dev: true + /workbox-window/6.5.4: + resolution: {integrity: sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==} + dependencies: + '@types/trusted-types': 2.0.2 + workbox-core: 6.5.4 + dev: true + /worktop/0.8.0-next.14: resolution: {integrity: sha512-RZgqHu1w/JcUdWOE/BUEAzarrUUHh39eWkLdX8XpA6MfgLJF6X5Vl26CV7/wcm4O/UpZvHMGJUtB9eYTqDjc9g==} engines: {node: '>=12'} diff --git a/src/app.d.ts b/src/app.d.ts index 9f0754ad..9602f9ae 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,91 +1,88 @@ /// +import { FFFBase, FFFExtra } from 'fff-flavored-frontmatter' + interface ImportMetaEnv extends Readonly> { readonly URARA_SITE_DOMAIN?: string } interface ImportMeta { - globEager(pattern: string): Record + glob(pattern: string): Record readonly env: ImportMetaEnv } declare global { namespace Urara { namespace Post { - interface Article { - layout: 'article' - /** post photo */ - photo?: string - /** post photo alternative */ - alt?: string - /** table of content - auto generated or set `false` to disable */ - toc?: false | Article.Toc[] - } - namespace Article { - interface Toc { - depth?: number - title?: string - slug?: string - children?: Toc[] + type Frontmatter = Omit & + Pick & { + /** + * post type. + * @remarks auto-generated + */ + type: 'article' | 'note' | 'photo' | 'reply' | 'audio' | 'video' | 'like' | 'repost' | 'bookmark' + /** + * post layout. + */ + layout?: 'article' | 'note' | 'photo' | 'reply' + /** + * post path. + * @remarks auto-generated + */ + path: string + /** + * post slug. + * @remarks auto-generated + */ + slug: string + /** + * table of contents. + * @remarks auto-generated, article-only, set to `false` to disable + */ + toc?: false | Toc[] + /** + * the created date of the post. + * @remarks auto-generated or set manually + */ + created: string + /** + * the updated date of the post. + * @remarks auto-generated or set manually + */ + updated: string + /** + * the featured image for article, or image for "photo" / "multi-photo" posts. + * @remarks currently only supports string + */ + image?: string + /** enable some advanced features. + * @property hidden - deprecated, transfer to `unlisted` + * @property unlisted - hide this post from the homepage and feed. + * @property bridgy-fed - add a link to Bridgy Fed in the post. https://fed.brid.gy/ + * @property bridgy-{target} - add a link to Bridgy in the post. https://brid.gy/publish/{target} + */ + flags?: string[] } - } - interface Note { - layout: 'note' - } - interface Photo { - layout: 'photo' - /** post photo */ - photo?: string - /** post photo alternative */ - alt?: string - } - interface Reply { - layout: 'reply' - /** u-in-reply-to */ - inReplyTo?: string | string[] - } - interface Common { - /** @deprecated - do not use */ - priority?: never - /** @deprecated - transfer to `created` */ - date?: string - /** @deprecated - transfer to `updated` */ - lastmod?: string - /** @deprecated - transfer to `summary` */ - descr?: never - /** @deprecated - transfer to `photo` */ - cover?: never - /** post path - auto generated */ - path?: string - /** post slug - auto generated */ - slug?: string - /** created time - auto generated or set manually */ - created?: string - /** updated time - auto generated or set manually */ - updated?: string - /** published time */ - published?: string - /** post title */ + type Toc = { + depth: number title?: string - /** post summary */ - summary?: string - /** post tags */ - tags?: string[] - /** enable some advanced features. - * @property hidden - deprecated, transfer to `unlisted` - * @property unlisted - hide this post from the homepage and feed. - * @property bridgy-fed - add a link to Bridgy Fed in the post. https://fed.brid.gy/ - * @property bridgy-{target} - add a link to Bridgy in the post. https://brid.gy/publish/{target} - */ - flags?: string[] + slug?: string + children?: Toc[] } - type Metadata = Common & (Article | Note | Photo | Reply) interface Module { - default: { render: () => { html: string; head: string; css: { code: string } } } - metadata: Metadata + default: { + render: () => { + html: string + head: string + css: { + code: string + } + } + } + metadata: Frontmatter } } - type Post = Post.Metadata & { html?: string } + type Post = Post.Frontmatter & { html?: string } type Page = { title?: string; path: string } } } diff --git a/src/lib/components/comments/giscus.svelte b/src/lib/components/comments/giscus.svelte index 9de02766..23f2eab5 100644 --- a/src/lib/components/comments/giscus.svelte +++ b/src/lib/components/comments/giscus.svelte @@ -23,13 +23,13 @@ }).forEach(([key, value]) => giscus.setAttribute(key, value)) setTimeout(() => { const observer = new MutationObserver(() => { - document.getElementById('giscus-loading').remove() + document.getElementById('giscus-loading')!.remove() observer.disconnect() }) - observer.observe(document.getElementById('giscus'), { + observer.observe(document.getElementById('giscus')!, { childList: true }) - document.getElementById('giscus-container').appendChild(giscus) + document.getElementById('giscus-container')!.appendChild(giscus) }, 1000) }) @@ -37,4 +37,4 @@
\ No newline at end of file diff --git a/src/lib/components/comments/utterances.svelte b/src/lib/components/comments/utterances.svelte index 8d9bd7f0..c4784aee 100644 --- a/src/lib/components/comments/utterances.svelte +++ b/src/lib/components/comments/utterances.svelte @@ -16,13 +16,13 @@ }).forEach(([key, value]) => utterances.setAttribute(key, value)) setTimeout(() => { const observer = new MutationObserver(() => { - document.getElementById('utterances-loading').remove() + document.getElementById('utterances-loading')!.remove() observer.disconnect() }) - observer.observe(document.getElementById('utterances'), { + observer.observe(document.getElementById('utterances')!, { childList: true }) - document.getElementById('utterances-container').appendChild(utterances) + document.getElementById('utterances-container')!.appendChild(utterances) }, 1000) }) @@ -30,4 +30,4 @@
\ No newline at end of file diff --git a/src/lib/components/comments/webmention.svelte b/src/lib/components/comments/webmention.svelte index 942ae359..c570802f 100644 --- a/src/lib/components/comments/webmention.svelte +++ b/src/lib/components/comments/webmention.svelte @@ -20,9 +20,11 @@ } content?: { html?: string + text?: string } rsvp?: string published?: string + 'wm-received': string 'wm-source': string 'wm-target': string 'wm-id': number @@ -30,7 +32,7 @@ 'wm-private': boolean } - let [page, loaded, end, mentions, sortDirUp] = [0, false, false, [], config?.sortDir === 'up' ? true : false] + let [page, loaded, end, mentions, sortDirUp]: [number, boolean, boolean, WebmentionEntry[], boolean] = [0, false, false, [], config?.sortDir === 'up' ? true : false] const load = async () => await fetch( @@ -47,7 +49,7 @@ ...feed, children: feed.children.filter( (entry: WebmentionEntry) => - !(config?.blockList?.length > 0 && config.blockList.includes(new URL(entry['wm-source']).origin)) + !config.blockList?.includes(new URL(entry['wm-source']).origin) ) } if (feed.children.length > 0) mentions = [...mentions, ...feed.children] @@ -95,7 +97,7 @@ 'mention-of': ['💬 mentioned', 'border-base-300/50', 'text-base-content', 'tooltip-base-content'], rsvp: [ `📅 RSVPed ${ - { + mention.rsvp && { yes: '✅', no: '❌', interested: '💡', @@ -194,4 +196,4 @@ {/if} - + \ No newline at end of file diff --git a/src/lib/components/extra/alert.svelte b/src/lib/components/extra/alert.svelte index 0d853275..6de23822 100644 --- a/src/lib/components/extra/alert.svelte +++ b/src/lib/components/extra/alert.svelte @@ -1,7 +1,7 @@
{/if} - + \ No newline at end of file diff --git a/src/lib/components/extra/profile.svelte b/src/lib/components/extra/profile.svelte index f56dcb2e..12166973 100644 --- a/src/lib/components/extra/profile.svelte +++ b/src/lib/components/extra/profile.svelte @@ -19,7 +19,7 @@
{name diff --git a/src/lib/components/footer.svelte b/src/lib/components/footer.svelte index 34598d2e..6b36f791 100644 --- a/src/lib/components/footer.svelte +++ b/src/lib/components/footer.svelte @@ -1,7 +1,7 @@ {#if post} - {#if post.layout === 'article'} - {post.title ?? post.path.slice(1)} | {site.title} - {:else if post.layout === 'note'} - {post.path.slice(1)} | {site.title} + {#if post.type === 'article'} + {post.title} | {site.title} + {:else if post.type === 'note'} + {post.summary ?? post.path.slice(1)} | {site.title} {/if} {#if post.tags}{/if} {#if post.summary}{/if} @@ -36,4 +36,4 @@ {/if} - + \ No newline at end of file diff --git a/src/lib/components/head_opengraph.svelte b/src/lib/components/head_opengraph.svelte index 4ed2986a..64c8f814 100644 --- a/src/lib/components/head_opengraph.svelte +++ b/src/lib/components/head_opengraph.svelte @@ -1,8 +1,8 @@ @@ -20,8 +20,8 @@ {#if post.summary} {/if} - {#if post.photo} - + {#if post.image} + {:else} @@ -47,4 +47,4 @@ {/if} {/if} - + \ No newline at end of file diff --git a/src/lib/components/header.svelte b/src/lib/components/header.svelte index 37b4c5ba..125b75fe 100644 --- a/src/lib/components/header.svelte +++ b/src/lib/components/header.svelte @@ -53,8 +53,8 @@
{/key} - + \ No newline at end of file diff --git a/urara/2022-06-15-jellyfin/index.md b/urara/2022-06-15-jellyfin/index.md index 43f685dc..3bb59c05 100644 --- a/urara/2022-06-15-jellyfin/index.md +++ b/urara/2022-06-15-jellyfin/index.md @@ -2,7 +2,7 @@ title: VPS · Jellyfin结合Cloudreve开启线上影院 created: 2022-06-15 summary: 基于 Docker 和 Nginx 的信心搭建过程 -photo: /2022-06-15-jellyfin/1.jpg +image: /2022-06-15-jellyfin/1.jpg tags: - Nginx - VPS diff --git a/urara/2022-07-15-reading-6/index.md b/urara/2022-07-15-reading-6/index.md index 96e096cc..59db73b0 100644 --- a/urara/2022-07-15-reading-6/index.md +++ b/urara/2022-07-15-reading-6/index.md @@ -4,7 +4,7 @@ created: 2022-07-15 summary: Vue / 网页性能优化 / npm …… tags: - 我在看什么 -photo: /2022-07-15-reading-6/june.png +image: /2022-07-15-reading-6/june.png --- ## 编程相关 diff --git a/urara/2022-07-16-reading-5/index.md b/urara/2022-07-16-reading-5/index.md index 8ffd0333..0205fd72 100644 --- a/urara/2022-07-16-reading-5/index.md +++ b/urara/2022-07-16-reading-5/index.md @@ -4,7 +4,7 @@ created: 2022-07-16 summary: Anki / JSDoc / 蘑菇 / Music-Map …… tags: - 我在看什么 -photo: /2022-07-16-reading-5/May (1).jpg +image: /2022-07-16-reading-5/May (1).jpg --- ## Productivity diff --git a/urara/2022-07-31-reading-7/index.md b/urara/2022-07-31-reading-7/index.md index c69be5dc..4b5c8be7 100644 --- a/urara/2022-07-31-reading-7/index.md +++ b/urara/2022-07-31-reading-7/index.md @@ -4,7 +4,7 @@ created: 2022-07-31 summary: eval / CSP&XSS / Commonplace Book …… tags: - 我在看什么 -photo: /2022-07-31-reading-7/july.webp +image: /2022-07-31-reading-7/july.webp --- ## 前端