mirror of
https://github.com/BradNut/personal-website-sveltekit
synced 2025-09-08 23:20:18 +00:00
Moving from MD to explicit Svelte files.
This commit is contained in:
parent
3fda9d067f
commit
d6815c3401
14 changed files with 509 additions and 191 deletions
|
|
@ -20,8 +20,8 @@
|
||||||
"@biomejs/biome": "^1.9.4",
|
"@biomejs/biome": "^1.9.4",
|
||||||
"@playwright/test": "^1.49.1",
|
"@playwright/test": "^1.49.1",
|
||||||
"@sveltejs/adapter-node": "^5.2.10",
|
"@sveltejs/adapter-node": "^5.2.10",
|
||||||
"@sveltejs/enhanced-img": "^0.4.3",
|
"@sveltejs/enhanced-img": "^0.4.4",
|
||||||
"@sveltejs/kit": "^2.11.0",
|
"@sveltejs/kit": "^2.12.1",
|
||||||
"@sveltejs/vite-plugin-svelte": "^5.0.2",
|
"@sveltejs/vite-plugin-svelte": "^5.0.2",
|
||||||
"@zerodevx/svelte-img": "^2.1.2",
|
"@zerodevx/svelte-img": "^2.1.2",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
"satori-html": "^0.3.2",
|
"satori-html": "^0.3.2",
|
||||||
"scrape-it": "^6.1.3",
|
"scrape-it": "^6.1.3",
|
||||||
"sharp": "^0.33.5",
|
"sharp": "^0.33.5",
|
||||||
"svelte": "^5.11.3",
|
"svelte": "^5.14.2",
|
||||||
"svelte-check": "^4.1.0",
|
"svelte-check": "^4.1.0",
|
||||||
"svelte-meta-tags": "^4.0.4",
|
"svelte-meta-tags": "^4.0.4",
|
||||||
"svelte-preprocess": "^6.0.3",
|
"svelte-preprocess": "^6.0.3",
|
||||||
|
|
|
||||||
165
pnpm-lock.yaml
165
pnpm-lock.yaml
|
|
@ -13,19 +13,19 @@ importers:
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
'@sveltejs/adapter-vercel':
|
'@sveltejs/adapter-vercel':
|
||||||
specifier: ^5.5.2
|
specifier: ^5.5.2
|
||||||
version: 5.5.2(@sveltejs/kit@2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(rollup@4.28.1)
|
version: 5.5.2(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(rollup@4.28.1)
|
||||||
'@types/nprogress':
|
'@types/nprogress':
|
||||||
specifier: ^0.2.3
|
specifier: ^0.2.3
|
||||||
version: 0.2.3
|
version: 0.2.3
|
||||||
'@unpic/svelte':
|
'@unpic/svelte':
|
||||||
specifier: ^0.0.57
|
specifier: ^0.0.57
|
||||||
version: 0.0.57(svelte@5.11.3)
|
version: 0.0.57(svelte@5.14.2)
|
||||||
'@vercel/og':
|
'@vercel/og':
|
||||||
specifier: ^0.6.4
|
specifier: ^0.6.4
|
||||||
version: 0.6.4
|
version: 0.6.4
|
||||||
bits-ui:
|
bits-ui:
|
||||||
specifier: 1.0.0-next.66
|
specifier: 1.0.0-next.66
|
||||||
version: 1.0.0-next.66(svelte@5.11.3)
|
version: 1.0.0-next.66(svelte@5.14.2)
|
||||||
flexsearch:
|
flexsearch:
|
||||||
specifier: ^0.7.43
|
specifier: ^0.7.43
|
||||||
version: 0.7.43
|
version: 0.7.43
|
||||||
|
|
@ -34,13 +34,13 @@ importers:
|
||||||
version: 5.4.1
|
version: 5.4.1
|
||||||
lucide-svelte:
|
lucide-svelte:
|
||||||
specifier: ^0.468.0
|
specifier: ^0.468.0
|
||||||
version: 0.468.0(svelte@5.11.3)
|
version: 0.468.0(svelte@5.14.2)
|
||||||
nprogress:
|
nprogress:
|
||||||
specifier: ^0.2.0
|
specifier: ^0.2.0
|
||||||
version: 0.2.0
|
version: 0.2.0
|
||||||
svelte-local-storage-store:
|
svelte-local-storage-store:
|
||||||
specifier: ^0.6.4
|
specifier: ^0.6.4
|
||||||
version: 0.6.4(svelte@5.11.3)
|
version: 0.6.4(svelte@5.14.2)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@biomejs/biome':
|
'@biomejs/biome':
|
||||||
specifier: ^1.9.4
|
specifier: ^1.9.4
|
||||||
|
|
@ -50,19 +50,19 @@ importers:
|
||||||
version: 1.49.1
|
version: 1.49.1
|
||||||
'@sveltejs/adapter-node':
|
'@sveltejs/adapter-node':
|
||||||
specifier: ^5.2.10
|
specifier: ^5.2.10
|
||||||
version: 5.2.10(@sveltejs/kit@2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))
|
version: 5.2.10(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))
|
||||||
'@sveltejs/enhanced-img':
|
'@sveltejs/enhanced-img':
|
||||||
specifier: ^0.4.3
|
specifier: ^0.4.4
|
||||||
version: 0.4.3(rollup@4.28.1)(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
version: 0.4.4(rollup@4.28.1)(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
'@sveltejs/kit':
|
'@sveltejs/kit':
|
||||||
specifier: ^2.11.0
|
specifier: ^2.12.1
|
||||||
version: 2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
version: 2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
'@sveltejs/vite-plugin-svelte':
|
'@sveltejs/vite-plugin-svelte':
|
||||||
specifier: ^5.0.2
|
specifier: ^5.0.2
|
||||||
version: 5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
version: 5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
'@zerodevx/svelte-img':
|
'@zerodevx/svelte-img':
|
||||||
specifier: ^2.1.2
|
specifier: ^2.1.2
|
||||||
version: 2.1.2(rollup@4.28.1)(svelte@5.11.3)
|
version: 2.1.2(rollup@4.28.1)(svelte@5.14.2)
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.20
|
specifier: ^10.4.20
|
||||||
version: 10.4.20(postcss@8.4.49)
|
version: 10.4.20(postcss@8.4.49)
|
||||||
|
|
@ -71,7 +71,7 @@ importers:
|
||||||
version: 4.3.0
|
version: 4.3.0
|
||||||
mdsvex:
|
mdsvex:
|
||||||
specifier: ^0.12.3
|
specifier: ^0.12.3
|
||||||
version: 0.12.3(svelte@5.11.3)
|
version: 0.12.3(svelte@5.14.2)
|
||||||
mdsvex-relative-images:
|
mdsvex-relative-images:
|
||||||
specifier: ^1.0.3
|
specifier: ^1.0.3
|
||||||
version: 1.0.3
|
version: 1.0.3
|
||||||
|
|
@ -100,17 +100,17 @@ importers:
|
||||||
specifier: ^0.33.5
|
specifier: ^0.33.5
|
||||||
version: 0.33.5
|
version: 0.33.5
|
||||||
svelte:
|
svelte:
|
||||||
specifier: ^5.11.3
|
specifier: ^5.14.2
|
||||||
version: 5.11.3
|
version: 5.14.2
|
||||||
svelte-check:
|
svelte-check:
|
||||||
specifier: ^4.1.0
|
specifier: ^4.1.0
|
||||||
version: 4.1.1(picomatch@4.0.2)(svelte@5.11.3)(typescript@5.7.2)
|
version: 4.1.1(picomatch@4.0.2)(svelte@5.14.2)(typescript@5.7.2)
|
||||||
svelte-meta-tags:
|
svelte-meta-tags:
|
||||||
specifier: ^4.0.4
|
specifier: ^4.0.4
|
||||||
version: 4.0.4(svelte@5.11.3)(typescript@5.7.2)
|
version: 4.0.4(svelte@5.14.2)(typescript@5.7.2)
|
||||||
svelte-preprocess:
|
svelte-preprocess:
|
||||||
specifier: ^6.0.3
|
specifier: ^6.0.3
|
||||||
version: 6.0.3(postcss-load-config@5.1.0(postcss@8.4.49))(postcss@8.4.49)(sass@1.82.0)(svelte@5.11.3)(typescript@5.7.2)
|
version: 6.0.3(postcss-load-config@5.1.0(postcss@8.4.49))(postcss@8.4.49)(sass@1.82.0)(svelte@5.14.2)(typescript@5.7.2)
|
||||||
svelte-sequential-preprocessor:
|
svelte-sequential-preprocessor:
|
||||||
specifier: ^2.0.2
|
specifier: ^2.0.2
|
||||||
version: 2.0.2
|
version: 2.0.2
|
||||||
|
|
@ -1290,14 +1290,14 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': ^2.4.0
|
'@sveltejs/kit': ^2.4.0
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.4.3':
|
'@sveltejs/enhanced-img@0.4.4':
|
||||||
resolution: {integrity: sha512-hhuaZW2a+4p/niPpPnGEDWBbYy54rvvPlD3JArCyWYMbkdj825HkgyzvNZWbA0nrKDhdFNbbVVsVNBMDvPOLrQ==}
|
resolution: {integrity: sha512-BlBTGfbLUgHa+zSVrsGLOd+noCKWfipoOjoxE26bAAX97v7zh5eiCAp1KEdpkluL05Tl3+nR14gQdPsATyZqoA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^5.0.0
|
svelte: ^5.0.0
|
||||||
vite: '>= 5.0.0'
|
vite: '>= 5.0.0'
|
||||||
|
|
||||||
'@sveltejs/kit@2.11.0':
|
'@sveltejs/kit@2.12.1':
|
||||||
resolution: {integrity: sha512-VtHkM5i4qAIeO9hfYwKD6Hxn7Ik+RkYam9842RXw6YdtzuI+gsA8XepZs7FB/o7hjQBJCDmvXahiGAnff1QU6w==}
|
resolution: {integrity: sha512-M3rPijGImeOkI0DBJSwjqz+YFX2DyOf6NzWgHVk3mqpT06dlYCpcv5xh1q4rYEqB58yQlk4QA1Y35PUqnUiFKw==}
|
||||||
engines: {node: '>=18.13'}
|
engines: {node: '>=18.13'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -1548,6 +1548,10 @@ packages:
|
||||||
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
|
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
|
||||||
engines: {node: '>= 14.16.0'}
|
engines: {node: '>= 14.16.0'}
|
||||||
|
|
||||||
|
chokidar@4.0.2:
|
||||||
|
resolution: {integrity: sha512-/b57FK+bblSU+dfewfFe0rT1YjVDfOmeLQwCAuC+vwvgLkXboATqqmy+Ipux6JrF6L5joe5CBnFOw+gLWH6yKg==}
|
||||||
|
engines: {node: '>= 14.16.0'}
|
||||||
|
|
||||||
chownr@3.0.0:
|
chownr@3.0.0:
|
||||||
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
@ -1996,6 +2000,9 @@ packages:
|
||||||
magic-string@0.30.15:
|
magic-string@0.30.15:
|
||||||
resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==}
|
resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==}
|
||||||
|
|
||||||
|
magic-string@0.30.17:
|
||||||
|
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
||||||
|
|
||||||
mdn-data@2.0.30:
|
mdn-data@2.0.30:
|
||||||
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
||||||
|
|
||||||
|
|
@ -2374,6 +2381,10 @@ packages:
|
||||||
resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==}
|
resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==}
|
||||||
engines: {node: '>= 14.16.0'}
|
engines: {node: '>= 14.16.0'}
|
||||||
|
|
||||||
|
readdirp@4.0.2:
|
||||||
|
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
|
||||||
|
engines: {node: '>= 14.16.0'}
|
||||||
|
|
||||||
redis-errors@1.2.0:
|
redis-errors@1.2.0:
|
||||||
resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
|
resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
|
|
@ -2600,8 +2611,8 @@ packages:
|
||||||
resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==}
|
resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
|
|
||||||
svelte@5.11.3:
|
svelte@5.14.2:
|
||||||
resolution: {integrity: sha512-yyOB+kc8mP6T6F10wGXcO3nSzGowD6dCOeo9jHEkF01dxQyQKh1KO6yrH3rJzwAdEVX/OSV3MRUwcbWDtHI2ww==}
|
resolution: {integrity: sha512-OxNh82bYjbutXNSZSPQspZzzmVzlRyNbiz0a6KrpOWvQ9LBUUZifXyeKhfl73LgyQC9UbsnVS9M55nQzqekMTA==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
tar@7.4.3:
|
tar@7.4.3:
|
||||||
|
|
@ -3710,17 +3721,17 @@ snapshots:
|
||||||
fflate: 0.7.4
|
fflate: 0.7.4
|
||||||
string.prototype.codepointat: 0.2.1
|
string.prototype.codepointat: 0.2.1
|
||||||
|
|
||||||
'@sveltejs/adapter-node@5.2.10(@sveltejs/kit@2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))':
|
'@sveltejs/adapter-node@5.2.10(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/plugin-commonjs': 28.0.1(rollup@4.28.1)
|
'@rollup/plugin-commonjs': 28.0.1(rollup@4.28.1)
|
||||||
'@rollup/plugin-json': 6.1.0(rollup@4.28.1)
|
'@rollup/plugin-json': 6.1.0(rollup@4.28.1)
|
||||||
'@rollup/plugin-node-resolve': 15.3.0(rollup@4.28.1)
|
'@rollup/plugin-node-resolve': 15.3.0(rollup@4.28.1)
|
||||||
'@sveltejs/kit': 2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
'@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
rollup: 4.28.1
|
rollup: 4.28.1
|
||||||
|
|
||||||
'@sveltejs/adapter-vercel@5.5.2(@sveltejs/kit@2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(rollup@4.28.1)':
|
'@sveltejs/adapter-vercel@5.5.2(@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(rollup@4.28.1)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
'@sveltejs/kit': 2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
'@vercel/nft': 0.27.9(rollup@4.28.1)
|
'@vercel/nft': 0.27.9(rollup@4.28.1)
|
||||||
esbuild: 0.24.0
|
esbuild: 0.24.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|
@ -3728,53 +3739,53 @@ snapshots:
|
||||||
- rollup
|
- rollup
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.4.3(rollup@4.28.1)(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
'@sveltejs/enhanced-img@0.4.4(rollup@4.28.1)(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
magic-string: 0.30.14
|
magic-string: 0.30.17
|
||||||
sharp: 0.33.5
|
sharp: 0.33.5
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
svelte-parse-markup: 0.1.5(svelte@5.11.3)
|
svelte-parse-markup: 0.1.5(svelte@5.14.2)
|
||||||
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
||||||
vite-imagetools: 7.0.5(rollup@4.28.1)
|
vite-imagetools: 7.0.5(rollup@4.28.1)
|
||||||
zimmerframe: 1.1.2
|
zimmerframe: 1.1.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
||||||
'@sveltejs/kit@2.11.0(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
'@sveltejs/kit@2.12.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
'@types/cookie': 0.6.0
|
'@types/cookie': 0.6.0
|
||||||
cookie: 0.6.0
|
cookie: 0.6.0
|
||||||
devalue: 5.1.1
|
devalue: 5.1.1
|
||||||
esm-env: 1.2.1
|
esm-env: 1.2.1
|
||||||
import-meta-resolve: 4.1.0
|
import-meta-resolve: 4.1.0
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.30.15
|
magic-string: 0.30.17
|
||||||
mrmime: 2.0.0
|
mrmime: 2.0.0
|
||||||
sade: 1.8.1
|
sade: 1.8.1
|
||||||
set-cookie-parser: 2.7.1
|
set-cookie-parser: 2.7.1
|
||||||
sirv: 3.0.0
|
sirv: 3.0.0
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
'@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
'@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.11.3)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
'@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)))(svelte@5.14.2)(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
debug: 4.4.0
|
debug: 4.4.0
|
||||||
deepmerge: 4.3.1
|
deepmerge: 4.3.1
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.30.15
|
magic-string: 0.30.15
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
vite: 6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2)
|
||||||
vitefu: 1.0.4(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
vitefu: 1.0.4(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|
@ -3805,11 +3816,11 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
unpic: 3.22.0
|
unpic: 3.22.0
|
||||||
|
|
||||||
'@unpic/svelte@0.0.57(svelte@5.11.3)':
|
'@unpic/svelte@0.0.57(svelte@5.14.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@unpic/core': 0.1.0
|
'@unpic/core': 0.1.0
|
||||||
style-object-to-css-string: 1.1.3
|
style-object-to-css-string: 1.1.3
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
unpic: 3.22.0
|
unpic: 3.22.0
|
||||||
|
|
||||||
'@vercel/nft@0.27.9(rollup@4.28.1)':
|
'@vercel/nft@0.27.9(rollup@4.28.1)':
|
||||||
|
|
@ -3877,9 +3888,9 @@ snapshots:
|
||||||
loupe: 3.1.2
|
loupe: 3.1.2
|
||||||
tinyrainbow: 1.2.0
|
tinyrainbow: 1.2.0
|
||||||
|
|
||||||
'@zerodevx/svelte-img@2.1.2(rollup@4.28.1)(svelte@5.11.3)':
|
'@zerodevx/svelte-img@2.1.2(rollup@4.28.1)(svelte@5.14.2)':
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
vite-imagetools: 6.2.9(rollup@4.28.1)
|
vite-imagetools: 6.2.9(rollup@4.28.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
@ -3965,15 +3976,15 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path: 1.0.0
|
file-uri-to-path: 1.0.0
|
||||||
|
|
||||||
bits-ui@1.0.0-next.66(svelte@5.11.3):
|
bits-ui@1.0.0-next.66(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@floating-ui/core': 1.6.8
|
'@floating-ui/core': 1.6.8
|
||||||
'@floating-ui/dom': 1.6.12
|
'@floating-ui/dom': 1.6.12
|
||||||
'@internationalized/date': 3.6.0
|
'@internationalized/date': 3.6.0
|
||||||
esm-env: 1.2.1
|
esm-env: 1.2.1
|
||||||
runed: 0.15.4(svelte@5.11.3)
|
runed: 0.15.4(svelte@5.14.2)
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
svelte-toolbelt: 0.4.6(svelte@5.11.3)
|
svelte-toolbelt: 0.4.6(svelte@5.14.2)
|
||||||
|
|
||||||
boolbase@1.0.0: {}
|
boolbase@1.0.0: {}
|
||||||
|
|
||||||
|
|
@ -4048,6 +4059,11 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
readdirp: 4.0.1
|
readdirp: 4.0.1
|
||||||
|
|
||||||
|
chokidar@4.0.2:
|
||||||
|
dependencies:
|
||||||
|
readdirp: 4.0.2
|
||||||
|
optional: true
|
||||||
|
|
||||||
chownr@3.0.0: {}
|
chownr@3.0.0: {}
|
||||||
|
|
||||||
clsx@2.1.1: {}
|
clsx@2.1.1: {}
|
||||||
|
|
@ -4485,9 +4501,9 @@ snapshots:
|
||||||
|
|
||||||
lru-cache@10.4.3: {}
|
lru-cache@10.4.3: {}
|
||||||
|
|
||||||
lucide-svelte@0.468.0(svelte@5.11.3):
|
lucide-svelte@0.468.0(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
|
|
||||||
magic-string@0.30.14:
|
magic-string@0.30.14:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -4497,6 +4513,10 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/sourcemap-codec': 1.5.0
|
'@jridgewell/sourcemap-codec': 1.5.0
|
||||||
|
|
||||||
|
magic-string@0.30.17:
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/sourcemap-codec': 1.5.0
|
||||||
|
|
||||||
mdn-data@2.0.30: {}
|
mdn-data@2.0.30: {}
|
||||||
|
|
||||||
mdsvex-relative-images@1.0.3:
|
mdsvex-relative-images@1.0.3:
|
||||||
|
|
@ -4504,12 +4524,12 @@ snapshots:
|
||||||
just-camel-case: 4.0.2
|
just-camel-case: 4.0.2
|
||||||
unist-util-visit: 3.1.0
|
unist-util-visit: 3.1.0
|
||||||
|
|
||||||
mdsvex@0.12.3(svelte@5.11.3):
|
mdsvex@0.12.3(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/unist': 2.0.11
|
'@types/unist': 2.0.11
|
||||||
prism-svelte: 0.4.7
|
prism-svelte: 0.4.7
|
||||||
prismjs: 1.29.0
|
prismjs: 1.29.0
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
vfile-message: 2.0.4
|
vfile-message: 2.0.4
|
||||||
|
|
||||||
micromatch@4.0.8:
|
micromatch@4.0.8:
|
||||||
|
|
@ -4894,6 +4914,9 @@ snapshots:
|
||||||
|
|
||||||
readdirp@4.0.1: {}
|
readdirp@4.0.1: {}
|
||||||
|
|
||||||
|
readdirp@4.0.2:
|
||||||
|
optional: true
|
||||||
|
|
||||||
redis-errors@1.2.0: {}
|
redis-errors@1.2.0: {}
|
||||||
|
|
||||||
redis-parser@3.0.0:
|
redis-parser@3.0.0:
|
||||||
|
|
@ -4963,10 +4986,10 @@ snapshots:
|
||||||
'@rollup/rollup-win32-x64-msvc': 4.28.1
|
'@rollup/rollup-win32-x64-msvc': 4.28.1
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
|
||||||
runed@0.15.4(svelte@5.11.3):
|
runed@0.15.4(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
esm-env: 1.2.1
|
esm-env: 1.2.1
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
|
|
||||||
sade@1.8.1:
|
sade@1.8.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -4976,7 +4999,7 @@ snapshots:
|
||||||
|
|
||||||
sass@1.82.0:
|
sass@1.82.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 4.0.1
|
chokidar: 4.0.2
|
||||||
immutable: 5.0.3
|
immutable: 5.0.3
|
||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
|
@ -5127,36 +5150,36 @@ snapshots:
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0: {}
|
supports-preserve-symlinks-flag@1.0.0: {}
|
||||||
|
|
||||||
svelte-check@4.1.1(picomatch@4.0.2)(svelte@5.11.3)(typescript@5.7.2):
|
svelte-check@4.1.1(picomatch@4.0.2)(svelte@5.14.2)(typescript@5.7.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/trace-mapping': 0.3.25
|
'@jridgewell/trace-mapping': 0.3.25
|
||||||
chokidar: 4.0.1
|
chokidar: 4.0.1
|
||||||
fdir: 6.4.2(picomatch@4.0.2)
|
fdir: 6.4.2(picomatch@4.0.2)
|
||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
sade: 1.8.1
|
sade: 1.8.1
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
typescript: 5.7.2
|
typescript: 5.7.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- picomatch
|
- picomatch
|
||||||
|
|
||||||
svelte-local-storage-store@0.6.4(svelte@5.11.3):
|
svelte-local-storage-store@0.6.4(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
|
|
||||||
svelte-meta-tags@4.0.4(svelte@5.11.3)(typescript@5.7.2):
|
svelte-meta-tags@4.0.4(svelte@5.14.2)(typescript@5.7.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
schema-dts: 1.1.2(typescript@5.7.2)
|
schema-dts: 1.1.2(typescript@5.7.2)
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
svelte-parse-markup@0.1.5(svelte@5.11.3):
|
svelte-parse-markup@0.1.5(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
|
|
||||||
svelte-preprocess@6.0.3(postcss-load-config@5.1.0(postcss@8.4.49))(postcss@8.4.49)(sass@1.82.0)(svelte@5.11.3)(typescript@5.7.2):
|
svelte-preprocess@6.0.3(postcss-load-config@5.1.0(postcss@8.4.49))(postcss@8.4.49)(sass@1.82.0)(svelte@5.14.2)(typescript@5.7.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.49
|
postcss: 8.4.49
|
||||||
postcss-load-config: 5.1.0(postcss@8.4.49)
|
postcss-load-config: 5.1.0(postcss@8.4.49)
|
||||||
|
|
@ -5168,11 +5191,11 @@ snapshots:
|
||||||
svelte: 4.2.19
|
svelte: 4.2.19
|
||||||
tslib: 2.7.0
|
tslib: 2.7.0
|
||||||
|
|
||||||
svelte-toolbelt@0.4.6(svelte@5.11.3):
|
svelte-toolbelt@0.4.6(svelte@5.14.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
clsx: 2.1.1
|
clsx: 2.1.1
|
||||||
style-to-object: 1.0.8
|
style-to-object: 1.0.8
|
||||||
svelte: 5.11.3
|
svelte: 5.14.2
|
||||||
|
|
||||||
svelte@4.2.19:
|
svelte@4.2.19:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -5191,7 +5214,7 @@ snapshots:
|
||||||
magic-string: 0.30.14
|
magic-string: 0.30.14
|
||||||
periscopic: 3.1.0
|
periscopic: 3.1.0
|
||||||
|
|
||||||
svelte@5.11.3:
|
svelte@5.14.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ampproject/remapping': 2.3.0
|
'@ampproject/remapping': 2.3.0
|
||||||
'@jridgewell/sourcemap-codec': 1.5.0
|
'@jridgewell/sourcemap-codec': 1.5.0
|
||||||
|
|
@ -5204,7 +5227,7 @@ snapshots:
|
||||||
esrap: 1.2.3
|
esrap: 1.2.3
|
||||||
is-reference: 3.0.3
|
is-reference: 3.0.3
|
||||||
locate-character: 3.0.0
|
locate-character: 3.0.0
|
||||||
magic-string: 0.30.15
|
magic-string: 0.30.17
|
||||||
zimmerframe: 1.1.2
|
zimmerframe: 1.1.2
|
||||||
|
|
||||||
tar@7.4.3:
|
tar@7.4.3:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { Article } from '$lib/types/article';
|
import type { Article } from '$lib/types/article';
|
||||||
import { ArrowRight } from 'lucide-svelte';
|
import { ArrowRight } from 'lucide-svelte';
|
||||||
import ExternalLink from './ExternalLink.svelte';
|
import ExternalLink from './ExternalLink.svelte';
|
||||||
|
|
||||||
const {
|
const {
|
||||||
articles,
|
articles,
|
||||||
|
|
|
||||||
|
|
@ -87,8 +87,10 @@
|
||||||
|
|
||||||
.text-left,
|
.text-left,
|
||||||
.text-right {
|
.text-right {
|
||||||
display: flex;
|
display: inline-flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
place-items: baseline;
|
||||||
|
place-content: center;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -101,10 +103,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-icon {
|
.show-icon {
|
||||||
/* display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 0.5rem; */
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: var(--shellYellow);
|
color: var(--shellYellow);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,16 @@ Tech Stack:
|
||||||
- <ExternalLink linkData={{ href: "https://kit.svelte.dev/", ariaLabel: "SvelteKit" }} textData={{ text: "SvelteKit", showIcon: true, location: "left" }} />
|
- <ExternalLink linkData={{ href: "https://kit.svelte.dev/", ariaLabel: "SvelteKit" }} textData={{ text: "SvelteKit", showIcon: true, location: "left" }} />
|
||||||
- <ExternalLink linkData={{ href: "https://bits-ui.com/", ariaLabel: "Bits-UI" }} textData={{ text: "Bits-UI", showIcon: true, location: "left" }} /> for the headless-ui components.
|
- <ExternalLink linkData={{ href: "https://bits-ui.com/", ariaLabel: "Bits-UI" }} textData={{ text: "Bits-UI", showIcon: true, location: "left" }} /> for the headless-ui components.
|
||||||
- <ExternalLink linkData={{ href: "https://www.typescriptlang.org/", ariaLabel: "TypeScript" }} textData={{ text: "TypeScript", showIcon: true, location: "left" }} />
|
- <ExternalLink linkData={{ href: "https://www.typescriptlang.org/", ariaLabel: "TypeScript" }} textData={{ text: "TypeScript", showIcon: true, location: "left" }} />
|
||||||
|
- <ExternalLink linkData={{ href: "https://www.typescriptlang.org/", ariaLabel: "TypeScript" }} textData={{ text: "TypeScript", showIcon: true, location: "left" }} />
|
||||||
- Deployed on a Coolify Self Hosted Box
|
- Deployed on a Coolify Self Hosted Box
|
||||||
- Icons in the <a href="/about">/about</a> page and the Bee, Shell, and Nut icons are all made by <ExternalLink linkData={{ href: "https://www.flaticon.com/authors/freepik", ariaLabel: "Freepik" }} textData={{ text: "Freepik", showIcon: true, location: "right" }} /> from <ExternalLink textData={{ text: "Flaticon", showIcon: true, location: "right" }} linkData={{ href: "https://www.flaticon.com/", ariaLabel: "Flaticon" }} />
|
- Icons in the <a href="/about">/about</a> page and the Bee, Shell, and Nut icons are all made by
|
||||||
|
<ExternalLink linkData={{ href: "https://www.flaticon.com/authors/freepik", ariaLabel: "Freepik" }} textData={{ text: "Freepik", showIcon: true, location: "left" }} /> from <ExternalLink textData={{ text: "Flaticon", showIcon: true, location: "left" }} linkData={{ href: "https://www.flaticon.com/", ariaLabel: "Flaticon" }} />
|
||||||
|
|
||||||
Previous version of my website was written using React and Gatsby which you can view <ExternalLink linkData={{ href: "https://bradleyshellnut.com", ariaLabel: "React and Gatsby Personal Site version" }} textData={{ text: "here", showIcon: true, location: "right" }} />.
|
The previous version of my website was written using React and Gatsby which you can view <ExternalLink linkData={{ href: "https://wonderful-austin-9f17d2.netlify.app/", ariaLabel: "React and Gatsby Personal Site version" }} textData={{ text: "here.", showIcon: true, location: "left" }} />.
|
||||||
|
|
||||||
Each iteration brings better code and my previous React version was improved after the suggestions on <ExternalLink linkData={{ href: "https://syntax.fm/show/444/syntax-highlight#t=33:19", ariaLabel: "Syntax.fm Podcast Number 444" }} textData={{ text: "Show 444", showIcon: true, location: "right" }} /> of the <ExternalLink linkData={{ href: "https://syntax.fm/", ariaLabel: "Syntax.fm" }} textData={{ text: "Syntax Pocast", showIcon: true, location: "right" }} />.
|
Each iteration brings better code and my previous React version was improved after the suggestions on
|
||||||
|
<ExternalLink linkData={{ href: "https://syntax.fm/show/444/syntax-highlight#t=33:19", ariaLabel: "Syntax.fm Podcast Number 444" }} textData={{ text: "Show 444", showIcon: true, location: "left" }} /> of the
|
||||||
|
<ExternalLink linkData={{ href: "https://syntax.fm/", ariaLabel: "Syntax.fm" }} textData={{ text: "Syntax Pocast.", showIcon: true, location: "left" }} />.
|
||||||
|
|
||||||
You can view the previous archived version of the site before those changes <ExternalLink textData={{ text: "here", showIcon: true, location: "right" }} linkData={{ href: "https://web.archive.org/web/20210224002046/https://bradleyshellnut.com/", ariaLabel: "Archive before Syntax Podcast" }} />.
|
You can view the previous archived version of the site before those changes
|
||||||
|
<ExternalLink textData={{ text: "here.", showIcon: true, location: "left" }} linkData={{ href: "https://web.archive.org/web/20210224002046/https://bradleyshellnut.com/", ariaLabel: "Archive before Syntax Podcast" }} />.
|
||||||
|
|
@ -18,7 +18,7 @@ And documentation for my terminal and coding setup can be found here: <ExternalL
|
||||||
Mac: <ExternalLink ariaLabel="iTerm 2 Terminal" href="https://iterm2.com/" showIcon>iTerm2</ExternalLink>
|
Mac: <ExternalLink ariaLabel="iTerm 2 Terminal" href="https://iterm2.com/" showIcon>iTerm2</ExternalLink>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLable="Oh My Zsh" href="https://github.com/robbyrussell/oh-my-zsh" showIcon>Oh My Zsh</ExternalLink>
|
<ExternalLink ariaLabel="Oh My Zsh" href="https://github.com/robbyrussell/oh-my-zsh" showIcon>Oh My Zsh</ExternalLink>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLael="Z plugin" href="https://github.com/agkozak/zsh-z" showIcon>Z</ExternalLink>
|
<ExternalLink ariaLael="Z plugin" href="https://github.com/agkozak/zsh-z" showIcon>Z</ExternalLink>
|
||||||
|
|
@ -51,7 +51,7 @@ And documentation for my terminal and coding setup can be found here: <ExternalL
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLabel="Sublime Text 3 Website" href="https://www.sublimetext.com/3"
|
<ExternalLink ariaLabel="Sublime Text 3 Website" href="https://www.sublimetext.com/3"
|
||||||
showIcon>Sublime Text 3</ExternalLink>
|
showIcon>Sublime Text 3</ExternalLink>
|
||||||
<ul>
|
<ul>
|
||||||
<li>My Packages List: <ExternalLink ariaLabel="VS Code Extensions" href="https://github.com/BradNut/dotfiles/blob/master/sublime-text-extensions-i-use.md" showIcon>Sublime Text Packages List</ExternalLink>
|
<li>My Packages List: <ExternalLink ariaLabel="VS Code Extensions" href="https://github.com/BradNut/dotfiles/blob/master/sublime-text-extensions-i-use.md" showIcon>Sublime Text Packages List</ExternalLink>
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,16 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import cruise from '$lib/assets/images/cruise.png?enhanced';
|
import cruise from '$lib/assets/images/cruise.png?enhanced';
|
||||||
import orange_derp from '$lib/assets/images/orange_derp.jpg?enhanced';
|
import orange_derp from '$lib/assets/images/orange_derp.jpg?enhanced';
|
||||||
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?enhanced';
|
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?enhanced';
|
||||||
import turnip from '$lib/assets/images/turnip.svg';
|
import turnip from '$lib/assets/images/turnip.svg';
|
||||||
import type { Course } from '$lib/types/courses';
|
import type { Course } from '$lib/types/courses';
|
||||||
import { dockerIcon, drizzleIcon, nextDotJsIcon, reactIcon, svelteIcon, typescriptIcon } from '$lib/util/logoIcons.svelte';
|
import { dockerIcon, drizzleIcon, nextDotJsIcon, reactIcon, svelteIcon, typescriptIcon } from '$lib/util/logoIcons.svelte';
|
||||||
import CourseCard from './CourseCard.svelte';
|
import CourseCard from './CourseCard.svelte';
|
||||||
import TechListItem from './TechListItem.svelte';
|
import TechListItem from './TechListItem.svelte';
|
||||||
import courseData from './course.json';
|
import courseData from './course.json';
|
||||||
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
||||||
|
|
||||||
const courses: Course[] = courseData.courses;
|
const courses: Course[] = courseData.courses;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="about">
|
<div class="about">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { run } from 'svelte/legacy';
|
|
||||||
|
|
||||||
import Pagination from '$lib/components/Pagination.svelte';
|
import Pagination from '$lib/components/Pagination.svelte';
|
||||||
import type { Article } from '$lib/types/article';
|
import type { Article } from '$lib/types/article';
|
||||||
import Articles from '$lib/components/Articles.svelte';
|
import Articles from '$lib/components/Articles.svelte';
|
||||||
|
|
@ -11,16 +9,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let { data }: Props = $props();
|
let { data }: Props = $props();
|
||||||
let articles: Article[] = $state();
|
let articles: Article[] = $state(data?.articles);
|
||||||
let currentPage: number = $state();
|
let currentPage: number = $state(data?.currentPage);
|
||||||
let totalArticles: number = $state();
|
let totalArticles: number = $state(data?.totalArticles);
|
||||||
let limit: number = $state();
|
let limit: number = $state(data?.limit);
|
||||||
|
|
||||||
run(() => {
|
|
||||||
if (data) {
|
|
||||||
({ articles, currentPage, totalArticles, limit } = data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<h1 style:margin-bottom={"2rem"}>Favorite Tech Articles</h1>
|
<h1 style:margin-bottom={"2rem"}>Favorite Tech Articles</h1>
|
||||||
|
|
|
||||||
|
|
@ -114,9 +114,9 @@
|
||||||
href: "https://www.flaticon.com/authors/freepik",
|
href: "https://www.flaticon.com/authors/freepik",
|
||||||
ariaLabel: "Freepik",
|
ariaLabel: "Freepik",
|
||||||
}}
|
}}
|
||||||
textData={{ text: "Freepik", showIcon: true, location: "right" }}
|
textData={{ text: "Freepik", showIcon: true, location: "left" }}
|
||||||
/> from <ExternalLink
|
/> from <ExternalLink
|
||||||
textData={{ text: "Flaticon", showIcon: true, location: "right" }}
|
textData={{ text: "Flaticon", showIcon: true, location: "left" }}
|
||||||
linkData={{
|
linkData={{
|
||||||
href: "https://www.flaticon.com/",
|
href: "https://www.flaticon.com/",
|
||||||
ariaLabel: "Flaticon",
|
ariaLabel: "Flaticon",
|
||||||
|
|
@ -124,41 +124,41 @@
|
||||||
/>
|
/>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p>The previous version of my website was written using React and Gatsby which
|
||||||
Previous version of my website was written using React and Gatsby which
|
|
||||||
you can view <ExternalLink
|
you can view <ExternalLink
|
||||||
linkData={{
|
linkData={{
|
||||||
href: "https://bradleyshellnut.com",
|
href: "https://wonderful-austin-9f17d2.netlify.app/",
|
||||||
ariaLabel: "React and Gatsby Personal Site version",
|
ariaLabel: "React and Gatsby Personal Site version",
|
||||||
}}
|
}}
|
||||||
textData={{ text: "here", showIcon: true, location: "right" }}
|
textData={{ text: "here.", showIcon: true, location: "left" }}
|
||||||
/>. Each iteration brings better code and my previous React version was
|
/></p>
|
||||||
|
<p>
|
||||||
|
Each iteration brings better code and my previous React version was
|
||||||
improved after the suggestions on <ExternalLink
|
improved after the suggestions on <ExternalLink
|
||||||
linkData={{
|
linkData={{
|
||||||
href: "https://syntax.fm/show/444/syntax-highlight#t=33:19",
|
href: "https://syntax.fm/show/444/syntax-highlight#t=33:19",
|
||||||
ariaLabel: "Syntax.fm Podcast Number 444",
|
ariaLabel: "Syntax.fm Podcast Number 444",
|
||||||
}}
|
}}
|
||||||
textData={{ text: "Show 444", showIcon: true, location: "right" }}
|
textData={{ text: "Show 444", showIcon: true, location: "left" }}
|
||||||
/> of the <ExternalLink
|
/> of the <ExternalLink
|
||||||
linkData={{ href: "https://syntax.fm/", ariaLabel: "Syntax.fm" }}
|
linkData={{ href: "https://syntax.fm/", ariaLabel: "Syntax.fm" }}
|
||||||
textData={{ text: "Syntax Pocast", showIcon: true, location: "right" }}
|
textData={{ text: "Syntax Pocast.", showIcon: true, location: "left" }}
|
||||||
/>. You can view the previous archived version of the site before those
|
/></p>
|
||||||
|
<p>You can view the previous archived version of the site before those
|
||||||
changes <ExternalLink
|
changes <ExternalLink
|
||||||
textData={{ text: "here", showIcon: true, location: "right" }}
|
textData={{ text: "here.", showIcon: true, location: "left" }}
|
||||||
linkData={{
|
linkData={{
|
||||||
href: "https://web.archive.org/web/20210224002046/https://bradleyshellnut.com/",
|
href: "https://web.archive.org/web/20210224002046/https://bradleyshellnut.com/",
|
||||||
ariaLabel: "Archive before Syntax Podcast",
|
ariaLabel: "Archive before Syntax Podcast",
|
||||||
}}
|
}}
|
||||||
/>.
|
/></p>
|
||||||
</Portfolio>
|
</Portfolio>
|
||||||
<!-- <Portfolio
|
<Portfolio
|
||||||
name="Wedding Website"
|
name="Wedding Website"
|
||||||
style="max-height: 550px;"
|
style="max-height: 550px;"
|
||||||
src={weddingWebsite}
|
src={weddingWebsite}
|
||||||
alt="Picture of NextJS Wedding Website"
|
alt="Picture of NextJS Wedding Website"
|
||||||
{links}
|
{links}
|
||||||
{details}
|
|
||||||
portfolioDetails={WeddingWebsite}
|
|
||||||
externalLinks={[
|
externalLinks={[
|
||||||
{
|
{
|
||||||
ariaLabel: "View GitHub repository for the wedding site",
|
ariaLabel: "View GitHub repository for the wedding site",
|
||||||
|
|
@ -168,15 +168,28 @@
|
||||||
text: "GitHub repository",
|
text: "GitHub repository",
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
>
|
||||||
|
<p>The app was initially created for my wedding but what is linked here is a public demo of the application.</p>
|
||||||
|
<p>An application that allows viewing of wedding details and provides the ability to RSVP to the wedding.</p>
|
||||||
|
<p>Tech stack:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Next.js 13</li>
|
||||||
|
<li>React 18</li>
|
||||||
|
<li><ExternalLink
|
||||||
|
linkData={{ href: "https://radix-ui.com/", ariaLabel: "Radix UI" }}
|
||||||
|
textData={{ text: "Radix UI", showIcon: true, location: "left" }}
|
||||||
|
/></li>
|
||||||
|
<li>MongoDB</li>
|
||||||
|
<li>Styled Components</li>
|
||||||
|
<li>Next Iron Session</li>
|
||||||
|
</ul>
|
||||||
|
</Portfolio>
|
||||||
<Portfolio
|
<Portfolio
|
||||||
name="Old Personal Website"
|
name="Old Personal Website"
|
||||||
style="max-height: 320px;"
|
style="max-height: 320px;"
|
||||||
src={oldSite}
|
src={oldSite}
|
||||||
alt="Home Page of the old bradleyshellnut.com website"
|
alt="Home Page of the old bradleyshellnut.com website"
|
||||||
{links}
|
{links}
|
||||||
{details}
|
|
||||||
portfolioDetails={OldWebsite}
|
|
||||||
externalLinks={[
|
externalLinks={[
|
||||||
{
|
{
|
||||||
ariaLabel: "Archive of bradleyshellnut.com",
|
ariaLabel: "Archive of bradleyshellnut.com",
|
||||||
|
|
@ -186,17 +199,25 @@
|
||||||
text: "Link to an archive snapshot",
|
text: "Link to an archive snapshot",
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/> -->
|
>
|
||||||
|
<p>My first personal website</p>
|
||||||
|
<p>This was my first real personal website hosted on DigitalOcean.</p>
|
||||||
|
<p>Tech stack:</p>
|
||||||
|
<ul>
|
||||||
|
<li>React</li>
|
||||||
|
<li>Redux</li>
|
||||||
|
<li>ReactStrap for CSS grid management</li>
|
||||||
|
<li>React Router for routing links in the page</li>
|
||||||
|
</ul>
|
||||||
|
</Portfolio>
|
||||||
</Tabs.Content>
|
</Tabs.Content>
|
||||||
<Tabs.Content value="professional">
|
<Tabs.Content value="professional">
|
||||||
<!-- <Portfolio
|
<Portfolio
|
||||||
name="Mark Shellnut Architect"
|
name="Mark Shellnut Architect"
|
||||||
style="max-height: 550px;"
|
style="max-height: 550px;"
|
||||||
src={shellnutArchitectWebsite}
|
src={shellnutArchitectWebsite}
|
||||||
alt="Picture of Mark Shellnut Architect's Website"
|
alt="Picture of Mark Shellnut Architect's Website"
|
||||||
{links}
|
{links}
|
||||||
{details}
|
|
||||||
portfolioDetails={MarkShellnutArchitect}
|
|
||||||
externalLinks={[
|
externalLinks={[
|
||||||
{
|
{
|
||||||
ariaLabel: "View Mark Shellnut Architect",
|
ariaLabel: "View Mark Shellnut Architect",
|
||||||
|
|
@ -205,7 +226,23 @@
|
||||||
text: "Link to Mark Shellnut Architect",
|
text: "Link to Mark Shellnut Architect",
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
/> -->
|
>
|
||||||
|
<p>Company website for Mark Shellnut Architect.</p>
|
||||||
|
<p>Tech stack:</p>
|
||||||
|
<ul>
|
||||||
|
<li>React 18</li>
|
||||||
|
<li>Gatsby 5</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData={{ href: "https://radix-ui.com/", ariaLabel: "Radix UI" }}
|
||||||
|
textData={{ text: "Radix UI", showIcon: true, location: "left" }}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
<li>Styled Components</li>
|
||||||
|
<li>GraphQL</li>
|
||||||
|
<li>Lambda Functions</li>
|
||||||
|
</ul>
|
||||||
|
</Portfolio>
|
||||||
</Tabs.Content>
|
</Tabs.Content>
|
||||||
</Tabs.Root>
|
</Tabs.Root>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,7 @@
|
||||||
they are willing to give to any business/entity.
|
they are willing to give to any business/entity.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
For the sake of transparency I am using <ExternalLink ariaLabel="Umami Analytics FAQ" href="https://umami.is/docs/faq" showIcon>Umami Analytics</ExternalLink> to anonymously track visits to my site. You can completely block this if you want by either using an AdBlocker like
|
For the sake of transparency I am using <ExternalLink textData={{ text: "Umami Analytics", showIcon: true, location: "left" }} linkData={{ href: "https://umami.is", ariaLabel: "Umami Analytics" }} /> to anonymously track visits to my site. You can completely block this if you want by either using an AdBlocker like <ExternalLink textData={{ text: "uBlock Origin", showIcon: true, location: "left" }} linkData={{ href: "https://ublockorigin.com/", ariaLabel: "uBlock Origin" }} />. Sending "Do Not Track" requests in your browser is supported but not overall it is not recommended to turn this on since it can be used to fingerprint you on the web.</p>
|
||||||
<ExternalLink ariaLabel="uBlock Origin" href="https://ublockorigin.com/" showIcon>uBlock Origin</ExternalLink> or setting your browser to send "Do Not Track" requests as I honor them.
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h2>Useful Resources</h2>
|
<h2>Useful Resources</h2>
|
||||||
|
|
@ -25,55 +23,48 @@
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLabel="Awesome Privacy" href="https://github.com/Lissy93/awesome-privacy" showIcon>Privacy Respecting Software List</ExternalLink>
|
<ExternalLink linkData={{ href: "https://www.eff.org/privacybadger", ariaLabel: "Privacy Badger" }} textData={{ text: "Privacy Badger", showIcon: true, location: "left" }} />
|
||||||
|
<ExternalLink textData={{ text: "Awesome Privacy", showIcon: true, location: "left" }} linkData={{ href: "https://github.com/Lissy93/awesome-privacy", ariaLabel: "Awesome Privacy" }} />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLabel="Privacy Guides" href="https://www.privacyguides.org/" showIcon>Privacy Guides</ExternalLink>
|
<ExternalLink linkData={{ href: "https://privacyguides.org/", ariaLabel: "Privacy Guides" }} textData={{ text: "Privacy Guides", showIcon: true, location: "left" }} />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLabel="Ethical Alternatives" href="https://ethical.net/resources/" showIcon>Ethical Alternatives</ExternalLink>
|
<ExternalLink linkData={{{ href: "https://ethical.net/resources/" ariaLabel: "Ethical Alternatives" }} textData={{ text: "Ethical Alternatives", showIcon: true, location: "left" }} />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3>Privacy Centric Paid Services I use:</h3>
|
<h3>Privacy Centric Paid Services I use:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Article Saving: <ExternalLink ariaLabel="Wallabag Article Saver" href="https://wallabag.com/" showIcon>Wallabag</ExternalLink>
|
Article Saving: <ExternalLink textData={{ text: "Wallabag Article Saver", showIcon: true, location: "left" }} linkData={{ href: "https://wallabag.com/", ariaLabel: "Wallabag Article Saver" }} />
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Anonymous Email Forwarding:
|
Anonymous Email Forwarding: <ExternalLink textData={{ text: "SimpleLogin (Now owned by Proton AG)", showIcon: true, location: "left" }} linkData={{ href: "https://simplelogin.io", ariaLabel: "SimpleLogin" }} />
|
||||||
<ExternalLink ariaLabel="AnonAddy Email Forwarding" href="https://anonaddy.com/" showIcon>AnonAddy</ExternalLink>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
Email: <ExternalLink textData={{ text: "ProtonMail", showIcon: true, location: "left" }} linkData={{ href: "https://protonmail.com/", ariaLabel: "ProtonMail" }} />
|
||||||
Email: <ExternalLink ariaLabel="ProtonMail" href="https://protonmail.com/" showIcon>ProtonMail</ExternalLink>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
Notes: <ExternalLink textData={{ text: "Joplin Notes", showIcon: true, location: "left" }} linkData={{ href: "https://joplinapp.org/", ariaLabel: "Joplin Notes" }} />
|
||||||
Notes: <ExternalLink ariaLabel="Joplin" href="https://joplinapp.org/" showIcon>Joplin Notes</ExternalLink>
|
</li>
|
||||||
</li>
|
<li>
|
||||||
<li>
|
VPN: <ExternalLink textData={{ text: "ProtonVPN", showIcon: true, location: "left" }} linkData={{ href: "https://protonvpn.com", ariaLabel: "ProtonVPN" }} />
|
||||||
VPN: <ExternalLink ariaLabel="Mullvad VPN" href="https://mullvad.net/" showIcon>Mullvad VPN</ExternalLink>
|
</li>
|
||||||
</li>
|
</ul>
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3>NAS Servers for Self Hosting:</h3>
|
<h3>NAS Servers for Self Hosting:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<ExternalLink ariaLabel="Synology NAS" href="https://synology.com/" showIcon>Synology NAS</ExternalLink>: An easy, not cheap, local solution for Google Services like Drive, Photos, Calendar, other services using Docker, etc. (Yes I should use <ExternalLink ariaLabel="NextCloud Local Hosting Service" href="https://nextcloud.com/" showIcon>NextCloud Local Hosting Service</ExternalLink>...maybe eventually)
|
<ExternalLink textData={{ text: "Synology NAS", showIcon: true, location: "left" }} linkData={{ href: "https://synology.com/", ariaLabel: "Synology NAS" }} />
|
||||||
</li>
|
: An easy, not cheap, local solution for Google Services like Drive, Photos, Calendar, other services using Docker, etc. (Yes I should use <ExternalLink textData={{ text: "NextCloud Local Hosting Service", showIcon: true, location: "left" }} linkData={{ href: "https://nextcloud.com/", ariaLabel: "NextCloud Local Hosting Service" }} />...maybe eventually)
|
||||||
<li>
|
</li>
|
||||||
Mac Mini: Used as a <ExternalLink ariaLabel="Plex" href="https://www.plex.tv/" showIcon>Plex Server</ExternalLink> for my Movies/TV/Music until I build a dedicated NAS and maybe switch to <ExternalLink ariaLabel="JellyFin" href="https://jellyfin.org/" showIcon>JellyFin</ExternalLink> soon.
|
<li>
|
||||||
</li>
|
Custom NAS Server used as a <ExternalLink textData={{ text: "Plex Machine", showIcon: true, location: "left" }} linkData={{ href: "https://www.plex.tv/", ariaLabel: "Plex" }} />
|
||||||
</ul>
|
</li>
|
||||||
</div>
|
</ul>
|
||||||
<div>
|
|
||||||
<h3>Software Deployed:</h3>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<ExternalLink ariaLabel="Syncthing File Synchronization" href="https://github.com/syncthing/syncthing" showIcon>Syncthing</ExternalLink>: An open source file synchronization program.
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,39 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
import ExternalLink from "$lib/components/ExternalLink.svelte";
|
||||||
import LazyImage from '$lib/components/LazyImage.svelte';
|
import desktop from "$lib/assets/images/Desktop_so_clean.jpg?enhanced";
|
||||||
import desktop from '$lib/assets/images/Desktop_so_clean.jpg?as=run';
|
import Development from "./development.svelte";
|
||||||
// @ts-expect-error: Cannot find module '$lib/content/uses/development.md' or its corresponding type declarations.ts(2307)
|
import PrivacyHardwareSoftware from './privacy-hardware-software.svelte';
|
||||||
import HardwareAccessories from '$lib/content/uses/hardware-accessories.md';
|
import HardwareAccessories from "./hardware-accessories.svelte";
|
||||||
// @ts-expect-error: Cannot find module '$lib/content/uses/development.md' or its corresponding type declarations.ts(2307)
|
|
||||||
import Development from '$lib/content/uses/development.md';
|
|
||||||
// @ts-expect-error: Cannot find module '$lib/content/uses/development.md' or its corresponding type declarations.ts(2307)
|
|
||||||
import PrivacyHardwareSoftware from '$lib/content/uses/privacy-hardware-software.md';
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="uses">
|
<div class="uses">
|
||||||
<div>
|
<div>
|
||||||
<h1>/Uses</h1>
|
<h1>/Uses</h1>
|
||||||
<p>
|
<p>
|
||||||
Inspired by <ExternalLink ariaLabel="Wes Bos' Website" href="https://wesbox.com" showIcon>Wes Bos'</ExternalLink> <ExternalLink ariaLabel="Wes Bos' Uses Page" href="https://wesbos.com/uses" showIcon>/uses</ExternalLink> page and <ExternalLink ariaLabel="Uses list website" href="https://uses.tech/" showIcon>Uses.tech</ExternalLink>, this is a list of what I use everyday for my work and personal life.
|
Inspired by <ExternalLink
|
||||||
|
linkData={{ href: "https://wesbos.com", ariaLabel: "Wes Bos' Website" }}
|
||||||
|
textData={{ text: "Wes Bos", showIcon: true, location: "left" }}
|
||||||
|
/>
|
||||||
|
<ExternalLink
|
||||||
|
linkData={{
|
||||||
|
href: "https://wesbos.com/uses",
|
||||||
|
ariaLabel: "Wes Bos' Uses Page",
|
||||||
|
}}
|
||||||
|
textData={{ text: "/uses", showIcon: true, location: "left" }}
|
||||||
|
/> page and <ExternalLink
|
||||||
|
linkData={{ href: "https://uses.tech/", ariaLabel: "Uses.tech" }}
|
||||||
|
textData={{ text: "Uses.tech", showIcon: true, location: "left" }}
|
||||||
|
/>, this is a list of what I use everyday for my work and personal life.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="uses-image">
|
<div class="uses-image">
|
||||||
<LazyImage clazz="uses-image" src={desktop} alt="Clean desk with Samsung monitor and Ducky Keyboard" loading="eager" />
|
<enhanced:img
|
||||||
|
src={desktop}
|
||||||
|
alt="Clean desk with Samsung monitor and Ducky Keyboard"
|
||||||
|
fetchpriority="high"
|
||||||
|
loading="eager"
|
||||||
|
sizes="(max-height: 480px) 480px, 500px"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<HardwareAccessories />
|
<HardwareAccessories />
|
||||||
|
|
@ -33,22 +48,29 @@
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.uses-image img {
|
||||||
|
max-width: 640px;
|
||||||
|
height: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
:global(.uses-image) {
|
/* :global(.uses-image) {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
aspect-ratio: 4 / 3;
|
aspect-ratio: 4 / 3;
|
||||||
max-height: 480px;
|
max-height: 480px;
|
||||||
|
|
||||||
@media(max-width: 800px) {
|
@media (max-width: 800px) {
|
||||||
max-height: 350px;
|
max-height: 350px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
max-height: 300px;
|
max-height: 300px;
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
161
src/routes/uses/development.svelte
Normal file
161
src/routes/uses/development.svelte
Normal file
|
|
@ -0,0 +1,161 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import ExternalLink from "$lib/components/ExternalLink.svelte";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section id="uses-development">
|
||||||
|
<h2>Development</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
My development setup has been documented here: <ExternalLink
|
||||||
|
linkData={{ href: "https://github.com/BradNut/computer-setup-info/blob/master/linux/Environment-Setup.md", ariaLabel: "Bradley Shellnut Computer Setup" }}
|
||||||
|
textData={{ text: "Computer Setup Info", showIcon: true, location: "left" }} />.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
And documentation for my terminal and coding setup can be found here: <ExternalLink
|
||||||
|
linkData="https://github.com/BradNut/dotfiles"
|
||||||
|
textData="Dotfiles">Dotfiles</ExternalLink
|
||||||
|
>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Terminal & Shell Setup</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Linux default terminal running ZSH and <ExternalLink
|
||||||
|
linkData={{ href: "https://starship.rs/", ariaLabel: "Starship" }}
|
||||||
|
textData={{ text: "Starship", showIcon: true, location: "left" }} />
|
||||||
|
>.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Mac: <ExternalLink linkData={{ href: "https://iterm2.com/", ariaLabel: "iTerm2" }} textData={{ text: "iTerm2", showIcon: true, location: "left" }} />
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://github.com/robbyrussell/oh-my-zsh"
|
||||||
|
textData="Oh My Zsh">Oh My Zsh</ExternalLink
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://github.com/agkozak/zsh-z" textData="Z"
|
||||||
|
>Z</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://github.com/zsh-users/zsh-autosuggestions"
|
||||||
|
textData="zsh-autosuggestions">zsh-autosuggestions</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://github.com/zsh-users/zsh-syntax-highlighting"
|
||||||
|
textData="zsh-syntax-highlighting"
|
||||||
|
>zsh-syntax-highlighting</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Useful System Packages</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://docs.brew.sh/Homebrew-on-Linux"
|
||||||
|
textData="Linux Brew">Linux Brew</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://brew.sh/" textData="Homebrew"
|
||||||
|
>Homebrew</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://tldr.sh/" textData="TLDR Man Pages"
|
||||||
|
>TLDR Man Pages</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://www.npmjs.com/package/trash-cli"
|
||||||
|
textData="Trash-CLI">Trash-CLI</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Software</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://vscodium.com/" textData="VSCodium"
|
||||||
|
>VSCodium</ExternalLink
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
My extensions list: <ExternalLink
|
||||||
|
linkData="https://github.com/BradNut/dotfiles/blob/master/vs-code-extensions-i-use.md"
|
||||||
|
textData="VSCode Extensions List"
|
||||||
|
>VSCode Extensions List</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://www.sublimetext.com/3"
|
||||||
|
textData="Sublime Text 3">Sublime Text 3</ExternalLink
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
My Packages List: <ExternalLink
|
||||||
|
linkData="https://github.com/BradNut/dotfiles/blob/master/sublime-text-extensions-i-use.md"
|
||||||
|
textData="Sublime Text Packages List"
|
||||||
|
>Sublime Text Packages List</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://jetbrains.com/idea/"
|
||||||
|
textData="IntelliJ Ultimate">IntelliJ Ultimate</ExternalLink
|
||||||
|
>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
My Plugins List: <ExternalLink
|
||||||
|
linkData="https://github.com/BradNut/dotfiles/blob/master/intellij-plugins.md"
|
||||||
|
textData="IntelliJ Plugins">IntelliJ Plugins</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Useful Applications</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://postman.com/" textData="Postman"
|
||||||
|
>Postman</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Browsers</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink linkData="https://brave.com/" textData="Brave Browser"
|
||||||
|
>Brave Browser</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData="https://www.mozilla.org/en-US/firefox/new/"
|
||||||
|
textData="Firefox">Firefox</ExternalLink
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
46
src/routes/uses/hardware-accessories.svelte
Normal file
46
src/routes/uses/hardware-accessories.svelte
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import ExternalLink from "$lib/components/ExternalLink.svelte";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h2>Hardware & Accessories</h2>
|
||||||
|
<ul>
|
||||||
|
<li>MacBook Pro 15-inch for work.</li>
|
||||||
|
<li>
|
||||||
|
Personal desktop running <a
|
||||||
|
href="https://pop.system76.com/"
|
||||||
|
title="PopOS Linux Distro">PopOS</a
|
||||||
|
>.
|
||||||
|
</li>
|
||||||
|
<li>Dell XPS 13 running PopOS.</li>
|
||||||
|
<li>
|
||||||
|
Phone 📱: Pixel 6 running <a href="https://grapheneos.org/">GrapheneOS</a
|
||||||
|
>.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Keyboard ⌨️: <a
|
||||||
|
href="https://www.duckychannel.com.tw/en/Ducky-One2-RGB-TKL"
|
||||||
|
title="Ducky One 2 RGB TKL Keyboard">Ducky Keyboard</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Mouse 🖱️: <a
|
||||||
|
href="https://www.amazon.com/Logitech-G502-Performance-Gaming-Mouse/dp/B07GBZ4Q68"
|
||||||
|
title="Logitech G502 Gaming Mouse">Logitech G502 Gaming Mouse</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Chair 🪑: <a
|
||||||
|
href="https://secretlabus.myshopify.com/collections/omega-series#omega_2020-stealth"
|
||||||
|
title="Secretlab Omega 2020 Fabric">SecretLab Omega 2020 Fabric</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Monitor 🖥️: <a
|
||||||
|
href="https://www.samsung.com/us/computing/monitors/gaming/32--odyssey-g7-gaming-monitor-lc32g75tqsnxza/"
|
||||||
|
title="Samsung Odyssey G7 Gaming Monitor"
|
||||||
|
>Samsung Odyssey G7 Gaming Monitor</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
43
src/routes/uses/privacy-hardware-software.svelte
Normal file
43
src/routes/uses/privacy-hardware-software.svelte
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import ExternalLink from "$lib/components/ExternalLink.svelte";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section id="uses-privacy-hardware-software">
|
||||||
|
<h2>Privacy Hardware and Software</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
For the past few years I've been working towards moving my data to
|
||||||
|
self-hosted systems and systems I trust to hold my data.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you want to see more info about this head to my <a href="/privacy"
|
||||||
|
>Privacy</a
|
||||||
|
> page.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Hardware Authentication</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData={{
|
||||||
|
href: "https://www.yubico.com/product/yubikey-5c/",
|
||||||
|
ariaLabel: "YubiKey 5C",
|
||||||
|
}}
|
||||||
|
textData={{ text: "YubiKey 5C", showIcon: true }}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>NAS Servers</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<ExternalLink
|
||||||
|
linkData={{ href: "https://synology.com/", ariaLabel: "Synology NAS" }}
|
||||||
|
textData={{ text: "Synology DS918+", showIcon: true }}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
Loading…
Reference in a new issue