WIP
This commit is contained in:
@ -23,7 +23,6 @@ function setDefaultLayout() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
site: "https://max-richter.dev",
|
site: "https://max-richter.dev",
|
||||||
trailingSlash: "never",
|
trailingSlash: "never",
|
||||||
|
@ -11,10 +11,10 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@astrojs/check": "^0.9.4",
|
"@astrojs/check": "^0.9.4",
|
||||||
"@astrojs/mdx": "^4.2.6",
|
"@astrojs/mdx": "^4.3.0",
|
||||||
"@astrojs/svelte": "^7.0.13",
|
"@astrojs/svelte": "^7.1.0",
|
||||||
"@astrojs/tailwind": "^6.0.2",
|
"@astrojs/tailwind": "^6.0.2",
|
||||||
"astro": "^5.7.13",
|
"astro": "^5.9.1",
|
||||||
"astro-i18n-aut": "^0.7.3",
|
"astro-i18n-aut": "^0.7.3",
|
||||||
"exifreader": "^4.30.1",
|
"exifreader": "^4.30.1",
|
||||||
"svelte": "^5.28.6",
|
"svelte": "^5.28.6",
|
||||||
@ -24,7 +24,7 @@
|
|||||||
"typescript": "^5.8.3"
|
"typescript": "^5.8.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@astrojs/sitemap": "^3.4.0",
|
"@astrojs/sitemap": "^3.4.1",
|
||||||
"@iconify-json/tabler": "^1.2.17",
|
"@iconify-json/tabler": "^1.2.17",
|
||||||
"@types/markdown-it": "^14.1.2",
|
"@types/markdown-it": "^14.1.2",
|
||||||
"@unocss/preset-icons": "^66.1.1",
|
"@unocss/preset-icons": "^66.1.1",
|
||||||
|
110
pnpm-lock.yaml
generated
110
pnpm-lock.yaml
generated
@ -12,20 +12,20 @@ importers:
|
|||||||
specifier: ^0.9.4
|
specifier: ^0.9.4
|
||||||
version: 0.9.4(prettier-plugin-astro@0.14.1)(prettier@3.5.3)(typescript@5.8.3)
|
version: 0.9.4(prettier-plugin-astro@0.14.1)(prettier@3.5.3)(typescript@5.8.3)
|
||||||
'@astrojs/mdx':
|
'@astrojs/mdx':
|
||||||
specifier: ^4.2.6
|
specifier: ^4.3.0
|
||||||
version: 4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))
|
version: 4.3.0(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))
|
||||||
'@astrojs/svelte':
|
'@astrojs/svelte':
|
||||||
specifier: ^7.0.13
|
specifier: ^7.1.0
|
||||||
version: 7.0.13(@types/node@22.15.18)(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(jiti@2.4.2)(svelte@5.28.6)(typescript@5.8.3)(yaml@2.7.1)
|
version: 7.1.0(@types/node@22.15.18)(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(jiti@2.4.2)(svelte@5.28.6)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
'@astrojs/tailwind':
|
'@astrojs/tailwind':
|
||||||
specifier: ^6.0.2
|
specifier: ^6.0.2
|
||||||
version: 6.0.2(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(tailwindcss@4.1.6)
|
version: 6.0.2(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(tailwindcss@4.1.6)
|
||||||
astro:
|
astro:
|
||||||
specifier: ^5.7.13
|
specifier: ^5.9.1
|
||||||
version: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
version: 5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
astro-i18n-aut:
|
astro-i18n-aut:
|
||||||
specifier: ^0.7.3
|
specifier: ^0.7.3
|
||||||
version: 0.7.3(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))
|
version: 0.7.3(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))
|
||||||
exifreader:
|
exifreader:
|
||||||
specifier: ^4.30.1
|
specifier: ^4.30.1
|
||||||
version: 4.30.1
|
version: 4.30.1
|
||||||
@ -46,8 +46,8 @@ importers:
|
|||||||
version: 5.8.3
|
version: 5.8.3
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@astrojs/sitemap':
|
'@astrojs/sitemap':
|
||||||
specifier: ^3.4.0
|
specifier: ^3.4.1
|
||||||
version: 3.4.0
|
version: 3.4.1
|
||||||
'@iconify-json/tabler':
|
'@iconify-json/tabler':
|
||||||
specifier: ^1.2.17
|
specifier: ^1.2.17
|
||||||
version: 1.2.17
|
version: 1.2.17
|
||||||
@ -109,6 +109,9 @@ packages:
|
|||||||
'@astrojs/compiler@2.12.0':
|
'@astrojs/compiler@2.12.0':
|
||||||
resolution: {integrity: sha512-7bCjW6tVDpUurQLeKBUN9tZ5kSv5qYrGmcn0sG0IwacL7isR2ZbyyA3AdZ4uxsuUFOS2SlgReTH7wkxO6zpqWA==}
|
resolution: {integrity: sha512-7bCjW6tVDpUurQLeKBUN9tZ5kSv5qYrGmcn0sG0IwacL7isR2ZbyyA3AdZ4uxsuUFOS2SlgReTH7wkxO6zpqWA==}
|
||||||
|
|
||||||
|
'@astrojs/compiler@2.12.1':
|
||||||
|
resolution: {integrity: sha512-WDSyVIiz7sNcJcCJxJFITu6XjfGhJ50Z0auyaWsrM+xb07IlhBLFtQuDkNy0caVHWNcKTM2LISAaHhgkRqGAVg==}
|
||||||
|
|
||||||
'@astrojs/internal-helpers@0.6.1':
|
'@astrojs/internal-helpers@0.6.1':
|
||||||
resolution: {integrity: sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==}
|
resolution: {integrity: sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==}
|
||||||
|
|
||||||
@ -124,25 +127,25 @@ packages:
|
|||||||
prettier-plugin-astro:
|
prettier-plugin-astro:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@astrojs/markdown-remark@6.3.1':
|
'@astrojs/markdown-remark@6.3.2':
|
||||||
resolution: {integrity: sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg==}
|
resolution: {integrity: sha512-bO35JbWpVvyKRl7cmSJD822e8YA8ThR/YbUsciWNA7yTcqpIAL2hJDToWP5KcZBWxGT6IOdOkHSXARSNZc4l/Q==}
|
||||||
|
|
||||||
'@astrojs/mdx@4.2.6':
|
'@astrojs/mdx@4.3.0':
|
||||||
resolution: {integrity: sha512-0i/GmOm6d0qq1/SCfcUgY/IjDc/bS0i42u7h85TkPFBmlFOcBZfkYhR5iyz6hZLwidvJOEq5yGfzt9B1Azku4w==}
|
resolution: {integrity: sha512-OGX2KvPeBzjSSKhkCqrUoDMyzFcjKt5nTE5SFw3RdoLf0nrhyCXBQcCyclzWy1+P+XpOamn+p+hm1EhpCRyPxw==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
|
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
astro: ^5.0.0
|
astro: ^5.0.0
|
||||||
|
|
||||||
'@astrojs/prism@3.2.0':
|
'@astrojs/prism@3.3.0':
|
||||||
resolution: {integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==}
|
resolution: {integrity: sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
|
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
|
||||||
|
|
||||||
'@astrojs/sitemap@3.4.0':
|
'@astrojs/sitemap@3.4.1':
|
||||||
resolution: {integrity: sha512-C5m/xsKvRSILKM3hy47n5wKtTQtJXn8epoYuUmCCstaE9XBt20yInym3Bz2uNbEiNfv11bokoW0MqeXPIvjFIQ==}
|
resolution: {integrity: sha512-VjZvr1e4FH6NHyyHXOiQgLiw94LnCVY4v06wN/D0gZKchTMkg71GrAHJz81/huafcmavtLkIv26HnpfDq6/h/Q==}
|
||||||
|
|
||||||
'@astrojs/svelte@7.0.13':
|
'@astrojs/svelte@7.1.0':
|
||||||
resolution: {integrity: sha512-wAWZu3Y/shIa83qVWyhr34vqwfl0GOXLsTYp081mMMOzuiyDAqmusFILua2zpbhqsQhQlhH/BYbGLEIQ/zQpRA==}
|
resolution: {integrity: sha512-nNAO7iFgCZXCN31N4xBSS/k7vZAZxeZ/v8V6VWZOKG47gVlxeAJBHzn2GlXMMVkxIamr6dhrkDrhYFKIPzoGpw==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
|
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
astro: ^5.0.0
|
astro: ^5.0.0
|
||||||
svelte: ^5.1.16
|
svelte: ^5.1.16
|
||||||
@ -154,9 +157,9 @@ packages:
|
|||||||
astro: ^3.0.0 || ^4.0.0 || ^5.0.0
|
astro: ^3.0.0 || ^4.0.0 || ^5.0.0
|
||||||
tailwindcss: ^3.0.24
|
tailwindcss: ^3.0.24
|
||||||
|
|
||||||
'@astrojs/telemetry@3.2.1':
|
'@astrojs/telemetry@3.3.0':
|
||||||
resolution: {integrity: sha512-SSVM820Jqc6wjsn7qYfV9qfeQvePtVc1nSofhyap7l0/iakUKywj3hfy3UJAOV4sGV4Q/u450RD4AaCaFvNPlg==}
|
resolution: {integrity: sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0}
|
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0}
|
||||||
|
|
||||||
'@astrojs/yaml2ts@0.2.2':
|
'@astrojs/yaml2ts@0.2.2':
|
||||||
resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
|
resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
|
||||||
@ -1035,9 +1038,9 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
astro: ^5.0.0
|
astro: ^5.0.0
|
||||||
|
|
||||||
astro@5.7.13:
|
astro@5.9.1:
|
||||||
resolution: {integrity: sha512-cRGq2llKOhV3XMcYwQpfBIUcssN6HEK5CRbcMxAfd9OcFhvWE7KUy50zLioAZVVl3AqgUTJoNTlmZfD2eG0G1w==}
|
resolution: {integrity: sha512-wxoJcTbuDZNFSv6EaL0PAlrp0Wx6VnOAULCXvy0scsV70oWMeUkdxuBxfO54JxO5Qgyvwj9h99y6E0elqOpGtA==}
|
||||||
engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
|
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
autoprefixer@10.4.21:
|
autoprefixer@10.4.21:
|
||||||
@ -2166,8 +2169,8 @@ packages:
|
|||||||
svelte-gestures@5.1.4:
|
svelte-gestures@5.1.4:
|
||||||
resolution: {integrity: sha512-gfSO/GqWLu9nRMCz12jqdyA0+NTsojYcIBcRqZjwWrpQbqMXr0zWPFpZBtzfYbRHtuFxZImMZp9MrVaFCYbhDg==}
|
resolution: {integrity: sha512-gfSO/GqWLu9nRMCz12jqdyA0+NTsojYcIBcRqZjwWrpQbqMXr0zWPFpZBtzfYbRHtuFxZImMZp9MrVaFCYbhDg==}
|
||||||
|
|
||||||
svelte2tsx@0.7.38:
|
svelte2tsx@0.7.39:
|
||||||
resolution: {integrity: sha512-R+S2DwFUYByWXyAMcs8CRIeoIi+heXDFqLhYpqmYG+2/YbfWwMoiA7yctUptEP84Hcxl5sRjVJCARZVrLo9y4g==}
|
resolution: {integrity: sha512-NX8a7eSqF1hr6WKArvXr7TV7DeE+y0kDFD7L5JP7TWqlwFidzGKaG415p992MHREiiEWOv2xIWXJ+mlONofs0A==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
|
svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0
|
||||||
typescript: ^4.9.4 || ^5.0.0
|
typescript: ^4.9.4 || ^5.0.0
|
||||||
@ -2709,6 +2712,8 @@ snapshots:
|
|||||||
|
|
||||||
'@astrojs/compiler@2.12.0': {}
|
'@astrojs/compiler@2.12.0': {}
|
||||||
|
|
||||||
|
'@astrojs/compiler@2.12.1': {}
|
||||||
|
|
||||||
'@astrojs/internal-helpers@0.6.1': {}
|
'@astrojs/internal-helpers@0.6.1': {}
|
||||||
|
|
||||||
'@astrojs/language-server@2.15.4(prettier-plugin-astro@0.14.1)(prettier@3.5.3)(typescript@5.8.3)':
|
'@astrojs/language-server@2.15.4(prettier-plugin-astro@0.14.1)(prettier@3.5.3)(typescript@5.8.3)':
|
||||||
@ -2737,10 +2742,10 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
'@astrojs/markdown-remark@6.3.1':
|
'@astrojs/markdown-remark@6.3.2':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/internal-helpers': 0.6.1
|
'@astrojs/internal-helpers': 0.6.1
|
||||||
'@astrojs/prism': 3.2.0
|
'@astrojs/prism': 3.3.0
|
||||||
github-slugger: 2.0.0
|
github-slugger: 2.0.0
|
||||||
hast-util-from-html: 2.0.3
|
hast-util-from-html: 2.0.3
|
||||||
hast-util-to-text: 4.0.2
|
hast-util-to-text: 4.0.2
|
||||||
@ -2763,12 +2768,12 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@astrojs/mdx@4.2.6(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))':
|
'@astrojs/mdx@4.3.0(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/markdown-remark': 6.3.1
|
'@astrojs/markdown-remark': 6.3.2
|
||||||
'@mdx-js/mdx': 3.1.0(acorn@8.14.1)
|
'@mdx-js/mdx': 3.1.0(acorn@8.14.1)
|
||||||
acorn: 8.14.1
|
acorn: 8.14.1
|
||||||
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
astro: 5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
es-module-lexer: 1.7.0
|
es-module-lexer: 1.7.0
|
||||||
estree-util-visit: 2.0.0
|
estree-util-visit: 2.0.0
|
||||||
hast-util-to-html: 9.0.5
|
hast-util-to-html: 9.0.5
|
||||||
@ -2782,22 +2787,22 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@astrojs/prism@3.2.0':
|
'@astrojs/prism@3.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
prismjs: 1.30.0
|
prismjs: 1.30.0
|
||||||
|
|
||||||
'@astrojs/sitemap@3.4.0':
|
'@astrojs/sitemap@3.4.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
sitemap: 8.0.0
|
sitemap: 8.0.0
|
||||||
stream-replace-string: 2.0.0
|
stream-replace-string: 2.0.0
|
||||||
zod: 3.24.4
|
zod: 3.24.4
|
||||||
|
|
||||||
'@astrojs/svelte@7.0.13(@types/node@22.15.18)(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(jiti@2.4.2)(svelte@5.28.6)(typescript@5.8.3)(yaml@2.7.1)':
|
'@astrojs/svelte@7.1.0(@types/node@22.15.18)(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(jiti@2.4.2)(svelte@5.28.6)(typescript@5.8.3)(yaml@2.7.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
|
'@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.28.6)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1))
|
||||||
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
astro: 5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
svelte: 5.28.6
|
svelte: 5.28.6
|
||||||
svelte2tsx: 0.7.38(svelte@5.28.6)(typescript@5.8.3)
|
svelte2tsx: 0.7.39(svelte@5.28.6)(typescript@5.8.3)
|
||||||
typescript: 5.8.3
|
typescript: 5.8.3
|
||||||
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
|
vite: 6.3.5(@types/node@22.15.18)(jiti@2.4.2)(yaml@2.7.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@ -2814,9 +2819,9 @@ snapshots:
|
|||||||
- tsx
|
- tsx
|
||||||
- yaml
|
- yaml
|
||||||
|
|
||||||
'@astrojs/tailwind@6.0.2(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(tailwindcss@4.1.6)':
|
'@astrojs/tailwind@6.0.2(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1))(tailwindcss@4.1.6)':
|
||||||
dependencies:
|
dependencies:
|
||||||
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
astro: 5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
autoprefixer: 10.4.21(postcss@8.5.3)
|
autoprefixer: 10.4.21(postcss@8.5.3)
|
||||||
postcss: 8.5.3
|
postcss: 8.5.3
|
||||||
postcss-load-config: 4.0.2(postcss@8.5.3)
|
postcss-load-config: 4.0.2(postcss@8.5.3)
|
||||||
@ -2824,7 +2829,7 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- ts-node
|
- ts-node
|
||||||
|
|
||||||
'@astrojs/telemetry@3.2.1':
|
'@astrojs/telemetry@3.3.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
ci-info: 4.2.0
|
ci-info: 4.2.0
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
@ -3381,7 +3386,7 @@ snapshots:
|
|||||||
|
|
||||||
'@types/sax@1.2.7':
|
'@types/sax@1.2.7':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 17.0.45
|
'@types/node': 22.15.18
|
||||||
|
|
||||||
'@types/unist@2.0.11': {}
|
'@types/unist@2.0.11': {}
|
||||||
|
|
||||||
@ -3692,9 +3697,9 @@ snapshots:
|
|||||||
|
|
||||||
astro-font@1.1.0: {}
|
astro-font@1.1.0: {}
|
||||||
|
|
||||||
astro-i18n-aut@0.7.3(astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)):
|
astro-i18n-aut@0.7.3(astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)):
|
||||||
dependencies:
|
dependencies:
|
||||||
astro: 5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
astro: 5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1)
|
||||||
dedent: 1.6.0
|
dedent: 1.6.0
|
||||||
fast-glob: 3.3.3
|
fast-glob: 3.3.3
|
||||||
fs-extra: 11.3.0
|
fs-extra: 11.3.0
|
||||||
@ -3702,12 +3707,12 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- babel-plugin-macros
|
- babel-plugin-macros
|
||||||
|
|
||||||
astro@5.7.13(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1):
|
astro@5.9.1(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.40.2)(typescript@5.8.3)(yaml@2.7.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@astrojs/compiler': 2.12.0
|
'@astrojs/compiler': 2.12.1
|
||||||
'@astrojs/internal-helpers': 0.6.1
|
'@astrojs/internal-helpers': 0.6.1
|
||||||
'@astrojs/markdown-remark': 6.3.1
|
'@astrojs/markdown-remark': 6.3.2
|
||||||
'@astrojs/telemetry': 3.2.1
|
'@astrojs/telemetry': 3.3.0
|
||||||
'@capsizecss/unpack': 2.4.0
|
'@capsizecss/unpack': 2.4.0
|
||||||
'@oslojs/encoding': 1.1.0
|
'@oslojs/encoding': 1.1.0
|
||||||
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
'@rollup/pluginutils': 5.1.4(rollup@4.40.2)
|
||||||
@ -3734,6 +3739,7 @@ snapshots:
|
|||||||
github-slugger: 2.0.0
|
github-slugger: 2.0.0
|
||||||
html-escaper: 3.0.3
|
html-escaper: 3.0.3
|
||||||
http-cache-semantics: 4.2.0
|
http-cache-semantics: 4.2.0
|
||||||
|
import-meta-resolve: 4.1.0
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.30.17
|
magic-string: 0.30.17
|
||||||
@ -5397,7 +5403,7 @@ snapshots:
|
|||||||
|
|
||||||
svelte-gestures@5.1.4: {}
|
svelte-gestures@5.1.4: {}
|
||||||
|
|
||||||
svelte2tsx@0.7.38(svelte@5.28.6)(typescript@5.8.3):
|
svelte2tsx@0.7.39(svelte@5.28.6)(typescript@5.8.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
dedent-js: 1.0.1
|
dedent-js: 1.0.1
|
||||||
pascal-case: 3.1.2
|
pascal-case: 3.1.2
|
||||||
|
4
pnpm-workspace.yaml
Normal file
4
pnpm-workspace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
onlyBuiltDependencies:
|
||||||
|
- esbuild
|
||||||
|
- exifreader
|
||||||
|
- sharp
|
@ -24,8 +24,8 @@ const paths = [
|
|||||||
text: t("nav.photos"),
|
text: t("nav.photos"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
link: translatePath("/videos"),
|
link: translatePath("/resources"),
|
||||||
text: t("nav.videos"),
|
text: t("nav.resources"),
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
---
|
---
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
title: Videos
|
title: Resources
|
||||||
menu: nav
|
menu: nav
|
||||||
---
|
---
|
||||||
|
@ -20,7 +20,7 @@ export const ui = {
|
|||||||
'home.subtitle': 'Trained Media Designer, Blender Nerd, Developer and Hardware Tinkerer.',
|
'home.subtitle': 'Trained Media Designer, Blender Nerd, Developer and Hardware Tinkerer.',
|
||||||
'nav.blog': 'Blog',
|
'nav.blog': 'Blog',
|
||||||
'nav.projects': 'Projects',
|
'nav.projects': 'Projects',
|
||||||
'nav.videos': 'Videos',
|
'nav.resources': 'Resources',
|
||||||
'nav.photos': 'Photos',
|
'nav.photos': 'Photos',
|
||||||
'toc.title': 'Table of Contents',
|
'toc.title': 'Table of Contents',
|
||||||
"resume": "Resume",
|
"resume": "Resume",
|
||||||
@ -38,7 +38,7 @@ export const ui = {
|
|||||||
'home.subtitle': 'Ausgebildeter Mediengestalter, Blender Nerd, Entwickler und Hardware Bastler.',
|
'home.subtitle': 'Ausgebildeter Mediengestalter, Blender Nerd, Entwickler und Hardware Bastler.',
|
||||||
'nav.blog': 'Blog',
|
'nav.blog': 'Blog',
|
||||||
'nav.projects': 'Projekte',
|
'nav.projects': 'Projekte',
|
||||||
'nav.videos': 'Videos',
|
'nav.resources': 'Resources',
|
||||||
'nav.photos': 'Fotos',
|
'nav.photos': 'Fotos',
|
||||||
"resume": "Lebenslauf",
|
"resume": "Lebenslauf",
|
||||||
'toc.title': 'Inhaltsverzeichnis',
|
'toc.title': 'Inhaltsverzeichnis',
|
||||||
|
@ -16,11 +16,10 @@ const { frontmatter, headings } = Astro.props;
|
|||||||
const t = useTranslations(Astro.url);
|
const t = useTranslations(Astro.url);
|
||||||
const { title, url, date: dateString, links, toc, cover } = frontmatter;
|
const { title, url, date: dateString, links, toc, cover } = frontmatter;
|
||||||
const collection = url?.split("/")[2];
|
const collection = url?.split("/")[2];
|
||||||
const date = new Date(dateString);
|
|
||||||
const path = useTranslatedPath(Astro.url);
|
|
||||||
|
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
const backlinkContent = t(`nav.${collection}`).toLowerCase();
|
const backlinkContent = t(`nav.${collection}`).toLowerCase();
|
||||||
|
const date = new Date(dateString);
|
||||||
|
const path = useTranslatedPath(Astro.url);
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title={title} image={cover}>
|
<Layout title={title} image={cover}>
|
||||||
|
64
src/pages/resources/index.astro
Normal file
64
src/pages/resources/index.astro
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import HeroCard from "@components/HeroCard.astro";
|
||||||
|
|
||||||
|
const collection = "resources";
|
||||||
|
|
||||||
|
const wiki = {
|
||||||
|
id: "wiki",
|
||||||
|
collection,
|
||||||
|
body: "My knowledge base",
|
||||||
|
data: {
|
||||||
|
title: "Wiki",
|
||||||
|
icon: "🧠",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const articles = {
|
||||||
|
id: "articles",
|
||||||
|
collection,
|
||||||
|
body: "Articles saved",
|
||||||
|
data: {
|
||||||
|
title: "Articles",
|
||||||
|
icon: "📰",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const recipes = {
|
||||||
|
id: "recipes",
|
||||||
|
collection,
|
||||||
|
body: "Recipes",
|
||||||
|
data: {
|
||||||
|
title: "Recipes",
|
||||||
|
icon: "🍲",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const movies = {
|
||||||
|
id: "movies",
|
||||||
|
collection,
|
||||||
|
body: "Movies",
|
||||||
|
data: {
|
||||||
|
title: "Movies",
|
||||||
|
icon: "🎥",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const series = {
|
||||||
|
id: "series",
|
||||||
|
collection,
|
||||||
|
body: "Series",
|
||||||
|
data: {
|
||||||
|
title: "Series",
|
||||||
|
icon: "📺",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
<HeroCard post={wiki} />
|
||||||
|
<HeroCard post={recipes} />
|
||||||
|
<HeroCard post={articles} />
|
||||||
|
<HeroCard post={movies} />
|
||||||
|
<HeroCard post={series} />
|
||||||
|
</Layout>
|
35
src/pages/resources/movies/[movieName].astro
Normal file
35
src/pages/resources/movies/[movieName].astro
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
|
||||||
|
export async function getStaticPaths() {
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8080/resources?name=Media/movies/*",
|
||||||
|
);
|
||||||
|
const movieReviews = await response.json();
|
||||||
|
|
||||||
|
const paths = movieReviews.map((review: any) => {
|
||||||
|
return {
|
||||||
|
params: {
|
||||||
|
movieName: review.identifier
|
||||||
|
.replace("Media/movies/", "")
|
||||||
|
.replace(/\.md$/, ""),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(
|
||||||
|
//@ts-ignore
|
||||||
|
`http://localhost:8080/resources?name=Media/movies/${Astro.params.movieName}.md`,
|
||||||
|
);
|
||||||
|
const reviewes = await response.json();
|
||||||
|
const review = reviewes[0];
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
<h1>{review.itemReviewed?.name}</h1>
|
||||||
|
<p>{review.reviewBody}</p>
|
||||||
|
<!-- <pre><code>{JSON.stringify(review, null, 2)}</code></pre> -->
|
||||||
|
</Layout>
|
29
src/pages/resources/movies/index.astro
Normal file
29
src/pages/resources/movies/index.astro
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import HeroCard from "@components/HeroCard.astro";
|
||||||
|
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8080/resources?name=Media/movies/*",
|
||||||
|
);
|
||||||
|
const movieReviews = await response.json();
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
{
|
||||||
|
movieReviews.map((review: any) => (
|
||||||
|
<HeroCard
|
||||||
|
post={{
|
||||||
|
collection: "resources/movies",
|
||||||
|
id: review.identifier
|
||||||
|
.replace("Media/movies/", "")
|
||||||
|
.replace(/\.md$/, ""),
|
||||||
|
data: {
|
||||||
|
title: review.itemReviewed.name,
|
||||||
|
description: review.reviewBody,
|
||||||
|
},
|
||||||
|
body: review.reviewBody,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</Layout>
|
66
src/pages/resources/recipes/[recipeName].astro
Normal file
66
src/pages/resources/recipes/[recipeName].astro
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import { useTranslatedPath } from "@i18n/utils";
|
||||||
|
import markdownToText from "@helpers/markdownToText";
|
||||||
|
|
||||||
|
const path = useTranslatedPath(Astro.url);
|
||||||
|
|
||||||
|
const collection = "resources/recipes";
|
||||||
|
|
||||||
|
export async function getStaticPaths() {
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8080/resources?name=Recipes/*",
|
||||||
|
);
|
||||||
|
const recipes = await response.json();
|
||||||
|
|
||||||
|
const paths = recipes.map((recipe: any) => {
|
||||||
|
return {
|
||||||
|
params: {
|
||||||
|
recipeName: recipe.identifier
|
||||||
|
.replace("Recipes/", "")
|
||||||
|
.replace(/\.md$/, ""),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(
|
||||||
|
//@ts-ignore
|
||||||
|
`http://localhost:8080/resources?name=Recipes/${Astro.params.recipeName}.md`,
|
||||||
|
);
|
||||||
|
const recipes = await response.json();
|
||||||
|
const recipe = recipes[0];
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
<div class="top-info flex items-center place-content-between m-y-2">
|
||||||
|
<a class="flex items-center gap-1 opacity-50" href={path("/" + collection)}>
|
||||||
|
<span class="i-tabler-arrow-left"></span> back
|
||||||
|
</a>
|
||||||
|
<div class="date opacity-50">
|
||||||
|
{
|
||||||
|
recipe.date?.toLocaleString("en-US", {
|
||||||
|
month: "long",
|
||||||
|
day: "numeric",
|
||||||
|
year: "numeric",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1>{recipe.name}</h1>
|
||||||
|
|
||||||
|
<h3>Ingredients</h3>
|
||||||
|
<ol>
|
||||||
|
{
|
||||||
|
recipe.recipeIngredient?.map((ingredient: any) => (
|
||||||
|
<li>{markdownToText(ingredient)}</li>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<h3>Instructions</h3>
|
||||||
|
<p>{recipe.recipeInstructions}</p>
|
||||||
|
</Layout>
|
23
src/pages/resources/recipes/index.astro
Normal file
23
src/pages/resources/recipes/index.astro
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import HeroCard from "@components/HeroCard.astro";
|
||||||
|
|
||||||
|
const response = await fetch("http://localhost:8080/resources?name=Recipes/*");
|
||||||
|
const recipes = await response.json();
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
{
|
||||||
|
recipes.map((recipe: any) => (
|
||||||
|
<HeroCard
|
||||||
|
post={{
|
||||||
|
collection: "resources/recipes",
|
||||||
|
id: recipe.identifier.replace("Recipes/", "").replace(/\.md$/, ""),
|
||||||
|
data: {
|
||||||
|
title: recipe.name,
|
||||||
|
},
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</Layout>
|
54
src/pages/resources/series/[seriesName].astro
Normal file
54
src/pages/resources/series/[seriesName].astro
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import { useTranslatedPath } from "@i18n/utils";
|
||||||
|
|
||||||
|
const collection = "resources/series";
|
||||||
|
|
||||||
|
const path = useTranslatedPath(Astro.url);
|
||||||
|
|
||||||
|
export async function getStaticPaths() {
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8080/resources?name=Media/series/*",
|
||||||
|
);
|
||||||
|
const seriesReviews = await response.json();
|
||||||
|
|
||||||
|
const paths = seriesReviews.map((review:any) => {
|
||||||
|
return {
|
||||||
|
params: {
|
||||||
|
seriesName: review.identifier
|
||||||
|
.replace("Media/series/", "")
|
||||||
|
.replace(/\.md$/, ""),
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
return paths;
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await fetch(
|
||||||
|
//@ts-ignore
|
||||||
|
`http://localhost:8080/resources?name=Media/series/${Astro.params.seriesName}.md`,
|
||||||
|
);
|
||||||
|
const reviewes = response.ok ? await response.json() : [];
|
||||||
|
const review = reviewes[0];
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
<div class="top-info flex items-center place-content-between m-y-2">
|
||||||
|
<a class="flex items-center gap-1 opacity-50" href={path("/" + collection)}>
|
||||||
|
<span class="i-tabler-arrow-left"></span> back
|
||||||
|
</a>
|
||||||
|
<div class="date opacity-50">
|
||||||
|
{
|
||||||
|
review.date?.toLocaleString("en-US", {
|
||||||
|
month: "long",
|
||||||
|
day: "numeric",
|
||||||
|
year: "numeric",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h1>{review.itemReviewed?.name}</h1>
|
||||||
|
<p>{review.reviewBody}</p>
|
||||||
|
</Layout>
|
29
src/pages/resources/series/index.astro
Normal file
29
src/pages/resources/series/index.astro
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
import Layout from "@layouts/Layout.astro";
|
||||||
|
import HeroCard from "@components/HeroCard.astro";
|
||||||
|
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8080/resources?name=Media/series/*",
|
||||||
|
);
|
||||||
|
const seriesReviewes = await response.json();
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="Max Richter">
|
||||||
|
{
|
||||||
|
seriesReviewes.map((review: any) => (
|
||||||
|
<HeroCard
|
||||||
|
post={{
|
||||||
|
collection: "resources/series",
|
||||||
|
id: review.identifier
|
||||||
|
.replace("Media/series/", "")
|
||||||
|
.replace(/\.md$/, ""),
|
||||||
|
data: {
|
||||||
|
title: review.itemReviewed.name,
|
||||||
|
description: review.reviewBody,
|
||||||
|
},
|
||||||
|
body: review.reviewBody,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</Layout>
|
Reference in New Issue
Block a user