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",
|
||||
"@playwright/test": "^1.49.1",
|
||||
"@sveltejs/adapter-node": "^5.2.10",
|
||||
"@sveltejs/enhanced-img": "^0.4.3",
|
||||
"@sveltejs/kit": "^2.11.0",
|
||||
"@sveltejs/enhanced-img": "^0.4.4",
|
||||
"@sveltejs/kit": "^2.12.1",
|
||||
"@sveltejs/vite-plugin-svelte": "^5.0.2",
|
||||
"@zerodevx/svelte-img": "^2.1.2",
|
||||
"autoprefixer": "^10.4.20",
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
"satori-html": "^0.3.2",
|
||||
"scrape-it": "^6.1.3",
|
||||
"sharp": "^0.33.5",
|
||||
"svelte": "^5.11.3",
|
||||
"svelte": "^5.14.2",
|
||||
"svelte-check": "^4.1.0",
|
||||
"svelte-meta-tags": "^4.0.4",
|
||||
"svelte-preprocess": "^6.0.3",
|
||||
|
|
|
|||
165
pnpm-lock.yaml
165
pnpm-lock.yaml
|
|
@ -13,19 +13,19 @@ importers:
|
|||
version: 2.6.2
|
||||
'@sveltejs/adapter-vercel':
|
||||
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':
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
'@unpic/svelte':
|
||||
specifier: ^0.0.57
|
||||
version: 0.0.57(svelte@5.11.3)
|
||||
version: 0.0.57(svelte@5.14.2)
|
||||
'@vercel/og':
|
||||
specifier: ^0.6.4
|
||||
version: 0.6.4
|
||||
bits-ui:
|
||||
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:
|
||||
specifier: ^0.7.43
|
||||
version: 0.7.43
|
||||
|
|
@ -34,13 +34,13 @@ importers:
|
|||
version: 5.4.1
|
||||
lucide-svelte:
|
||||
specifier: ^0.468.0
|
||||
version: 0.468.0(svelte@5.11.3)
|
||||
version: 0.468.0(svelte@5.14.2)
|
||||
nprogress:
|
||||
specifier: ^0.2.0
|
||||
version: 0.2.0
|
||||
svelte-local-storage-store:
|
||||
specifier: ^0.6.4
|
||||
version: 0.6.4(svelte@5.11.3)
|
||||
version: 0.6.4(svelte@5.14.2)
|
||||
devDependencies:
|
||||
'@biomejs/biome':
|
||||
specifier: ^1.9.4
|
||||
|
|
@ -50,19 +50,19 @@ importers:
|
|||
version: 1.49.1
|
||||
'@sveltejs/adapter-node':
|
||||
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':
|
||||
specifier: ^0.4.3
|
||||
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))
|
||||
specifier: ^0.4.4
|
||||
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':
|
||||
specifier: ^2.11.0
|
||||
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))
|
||||
specifier: ^2.12.1
|
||||
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':
|
||||
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':
|
||||
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:
|
||||
specifier: ^10.4.20
|
||||
version: 10.4.20(postcss@8.4.49)
|
||||
|
|
@ -71,7 +71,7 @@ importers:
|
|||
version: 4.3.0
|
||||
mdsvex:
|
||||
specifier: ^0.12.3
|
||||
version: 0.12.3(svelte@5.11.3)
|
||||
version: 0.12.3(svelte@5.14.2)
|
||||
mdsvex-relative-images:
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
|
|
@ -100,17 +100,17 @@ importers:
|
|||
specifier: ^0.33.5
|
||||
version: 0.33.5
|
||||
svelte:
|
||||
specifier: ^5.11.3
|
||||
version: 5.11.3
|
||||
specifier: ^5.14.2
|
||||
version: 5.14.2
|
||||
svelte-check:
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
specifier: ^2.0.2
|
||||
version: 2.0.2
|
||||
|
|
@ -1290,14 +1290,14 @@ packages:
|
|||
peerDependencies:
|
||||
'@sveltejs/kit': ^2.4.0
|
||||
|
||||
'@sveltejs/enhanced-img@0.4.3':
|
||||
resolution: {integrity: sha512-hhuaZW2a+4p/niPpPnGEDWBbYy54rvvPlD3JArCyWYMbkdj825HkgyzvNZWbA0nrKDhdFNbbVVsVNBMDvPOLrQ==}
|
||||
'@sveltejs/enhanced-img@0.4.4':
|
||||
resolution: {integrity: sha512-BlBTGfbLUgHa+zSVrsGLOd+noCKWfipoOjoxE26bAAX97v7zh5eiCAp1KEdpkluL05Tl3+nR14gQdPsATyZqoA==}
|
||||
peerDependencies:
|
||||
svelte: ^5.0.0
|
||||
vite: '>= 5.0.0'
|
||||
|
||||
'@sveltejs/kit@2.11.0':
|
||||
resolution: {integrity: sha512-VtHkM5i4qAIeO9hfYwKD6Hxn7Ik+RkYam9842RXw6YdtzuI+gsA8XepZs7FB/o7hjQBJCDmvXahiGAnff1QU6w==}
|
||||
'@sveltejs/kit@2.12.1':
|
||||
resolution: {integrity: sha512-M3rPijGImeOkI0DBJSwjqz+YFX2DyOf6NzWgHVk3mqpT06dlYCpcv5xh1q4rYEqB58yQlk4QA1Y35PUqnUiFKw==}
|
||||
engines: {node: '>=18.13'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
|
@ -1548,6 +1548,10 @@ packages:
|
|||
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
|
||||
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:
|
||||
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
||||
engines: {node: '>=18'}
|
||||
|
|
@ -1996,6 +2000,9 @@ packages:
|
|||
magic-string@0.30.15:
|
||||
resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==}
|
||||
|
||||
magic-string@0.30.17:
|
||||
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
||||
|
||||
mdn-data@2.0.30:
|
||||
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
||||
|
||||
|
|
@ -2374,6 +2381,10 @@ packages:
|
|||
resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==}
|
||||
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:
|
||||
resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==}
|
||||
engines: {node: '>=4'}
|
||||
|
|
@ -2600,8 +2611,8 @@ packages:
|
|||
resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
svelte@5.11.3:
|
||||
resolution: {integrity: sha512-yyOB+kc8mP6T6F10wGXcO3nSzGowD6dCOeo9jHEkF01dxQyQKh1KO6yrH3rJzwAdEVX/OSV3MRUwcbWDtHI2ww==}
|
||||
svelte@5.14.2:
|
||||
resolution: {integrity: sha512-OxNh82bYjbutXNSZSPQspZzzmVzlRyNbiz0a6KrpOWvQ9LBUUZifXyeKhfl73LgyQC9UbsnVS9M55nQzqekMTA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
tar@7.4.3:
|
||||
|
|
@ -3710,17 +3721,17 @@ snapshots:
|
|||
fflate: 0.7.4
|
||||
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:
|
||||
'@rollup/plugin-commonjs': 28.0.1(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)
|
||||
'@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
|
||||
|
||||
'@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:
|
||||
'@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)
|
||||
esbuild: 0.24.0
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -3728,53 +3739,53 @@ snapshots:
|
|||
- rollup
|
||||
- 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:
|
||||
magic-string: 0.30.14
|
||||
magic-string: 0.30.17
|
||||
sharp: 0.33.5
|
||||
svelte: 5.11.3
|
||||
svelte-parse-markup: 0.1.5(svelte@5.11.3)
|
||||
svelte: 5.14.2
|
||||
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-imagetools: 7.0.5(rollup@4.28.1)
|
||||
zimmerframe: 1.1.2
|
||||
transitivePeerDependencies:
|
||||
- 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:
|
||||
'@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
|
||||
cookie: 0.6.0
|
||||
devalue: 5.1.1
|
||||
esm-env: 1.2.1
|
||||
import-meta-resolve: 4.1.0
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.15
|
||||
magic-string: 0.30.17
|
||||
mrmime: 2.0.0
|
||||
sade: 1.8.1
|
||||
set-cookie-parser: 2.7.1
|
||||
sirv: 3.0.0
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
tiny-glob: 0.2.9
|
||||
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:
|
||||
'@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
|
||||
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)
|
||||
transitivePeerDependencies:
|
||||
- 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:
|
||||
'@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
|
||||
deepmerge: 4.3.1
|
||||
kleur: 4.1.5
|
||||
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)
|
||||
vitefu: 1.0.4(vite@6.0.3(@types/node@20.7.0)(sass@1.82.0)(yaml@2.4.2))
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -3805,11 +3816,11 @@ snapshots:
|
|||
dependencies:
|
||||
unpic: 3.22.0
|
||||
|
||||
'@unpic/svelte@0.0.57(svelte@5.11.3)':
|
||||
'@unpic/svelte@0.0.57(svelte@5.14.2)':
|
||||
dependencies:
|
||||
'@unpic/core': 0.1.0
|
||||
style-object-to-css-string: 1.1.3
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
unpic: 3.22.0
|
||||
|
||||
'@vercel/nft@0.27.9(rollup@4.28.1)':
|
||||
|
|
@ -3877,9 +3888,9 @@ snapshots:
|
|||
loupe: 3.1.2
|
||||
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:
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
vite-imagetools: 6.2.9(rollup@4.28.1)
|
||||
transitivePeerDependencies:
|
||||
- rollup
|
||||
|
|
@ -3965,15 +3976,15 @@ snapshots:
|
|||
dependencies:
|
||||
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:
|
||||
'@floating-ui/core': 1.6.8
|
||||
'@floating-ui/dom': 1.6.12
|
||||
'@internationalized/date': 3.6.0
|
||||
esm-env: 1.2.1
|
||||
runed: 0.15.4(svelte@5.11.3)
|
||||
svelte: 5.11.3
|
||||
svelte-toolbelt: 0.4.6(svelte@5.11.3)
|
||||
runed: 0.15.4(svelte@5.14.2)
|
||||
svelte: 5.14.2
|
||||
svelte-toolbelt: 0.4.6(svelte@5.14.2)
|
||||
|
||||
boolbase@1.0.0: {}
|
||||
|
||||
|
|
@ -4048,6 +4059,11 @@ snapshots:
|
|||
dependencies:
|
||||
readdirp: 4.0.1
|
||||
|
||||
chokidar@4.0.2:
|
||||
dependencies:
|
||||
readdirp: 4.0.2
|
||||
optional: true
|
||||
|
||||
chownr@3.0.0: {}
|
||||
|
||||
clsx@2.1.1: {}
|
||||
|
|
@ -4485,9 +4501,9 @@ snapshots:
|
|||
|
||||
lru-cache@10.4.3: {}
|
||||
|
||||
lucide-svelte@0.468.0(svelte@5.11.3):
|
||||
lucide-svelte@0.468.0(svelte@5.14.2):
|
||||
dependencies:
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
|
||||
magic-string@0.30.14:
|
||||
dependencies:
|
||||
|
|
@ -4497,6 +4513,10 @@ snapshots:
|
|||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
||||
magic-string@0.30.17:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
||||
mdn-data@2.0.30: {}
|
||||
|
||||
mdsvex-relative-images@1.0.3:
|
||||
|
|
@ -4504,12 +4524,12 @@ snapshots:
|
|||
just-camel-case: 4.0.2
|
||||
unist-util-visit: 3.1.0
|
||||
|
||||
mdsvex@0.12.3(svelte@5.11.3):
|
||||
mdsvex@0.12.3(svelte@5.14.2):
|
||||
dependencies:
|
||||
'@types/unist': 2.0.11
|
||||
prism-svelte: 0.4.7
|
||||
prismjs: 1.29.0
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
vfile-message: 2.0.4
|
||||
|
||||
micromatch@4.0.8:
|
||||
|
|
@ -4894,6 +4914,9 @@ snapshots:
|
|||
|
||||
readdirp@4.0.1: {}
|
||||
|
||||
readdirp@4.0.2:
|
||||
optional: true
|
||||
|
||||
redis-errors@1.2.0: {}
|
||||
|
||||
redis-parser@3.0.0:
|
||||
|
|
@ -4963,10 +4986,10 @@ snapshots:
|
|||
'@rollup/rollup-win32-x64-msvc': 4.28.1
|
||||
fsevents: 2.3.3
|
||||
|
||||
runed@0.15.4(svelte@5.11.3):
|
||||
runed@0.15.4(svelte@5.14.2):
|
||||
dependencies:
|
||||
esm-env: 1.2.1
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
|
||||
sade@1.8.1:
|
||||
dependencies:
|
||||
|
|
@ -4976,7 +4999,7 @@ snapshots:
|
|||
|
||||
sass@1.82.0:
|
||||
dependencies:
|
||||
chokidar: 4.0.1
|
||||
chokidar: 4.0.2
|
||||
immutable: 5.0.3
|
||||
source-map-js: 1.2.1
|
||||
optionalDependencies:
|
||||
|
|
@ -5127,36 +5150,36 @@ snapshots:
|
|||
|
||||
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:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
chokidar: 4.0.1
|
||||
fdir: 6.4.2(picomatch@4.0.2)
|
||||
picocolors: 1.1.1
|
||||
sade: 1.8.1
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
typescript: 5.7.2
|
||||
transitivePeerDependencies:
|
||||
- picomatch
|
||||
|
||||
svelte-local-storage-store@0.6.4(svelte@5.11.3):
|
||||
svelte-local-storage-store@0.6.4(svelte@5.14.2):
|
||||
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:
|
||||
schema-dts: 1.1.2(typescript@5.7.2)
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
transitivePeerDependencies:
|
||||
- typescript
|
||||
|
||||
svelte-parse-markup@0.1.5(svelte@5.11.3):
|
||||
svelte-parse-markup@0.1.5(svelte@5.14.2):
|
||||
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:
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
optionalDependencies:
|
||||
postcss: 8.4.49
|
||||
postcss-load-config: 5.1.0(postcss@8.4.49)
|
||||
|
|
@ -5168,11 +5191,11 @@ snapshots:
|
|||
svelte: 4.2.19
|
||||
tslib: 2.7.0
|
||||
|
||||
svelte-toolbelt@0.4.6(svelte@5.11.3):
|
||||
svelte-toolbelt@0.4.6(svelte@5.14.2):
|
||||
dependencies:
|
||||
clsx: 2.1.1
|
||||
style-to-object: 1.0.8
|
||||
svelte: 5.11.3
|
||||
svelte: 5.14.2
|
||||
|
||||
svelte@4.2.19:
|
||||
dependencies:
|
||||
|
|
@ -5191,7 +5214,7 @@ snapshots:
|
|||
magic-string: 0.30.14
|
||||
periscopic: 3.1.0
|
||||
|
||||
svelte@5.11.3:
|
||||
svelte@5.14.2:
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
|
@ -5204,7 +5227,7 @@ snapshots:
|
|||
esrap: 1.2.3
|
||||
is-reference: 3.0.3
|
||||
locate-character: 3.0.0
|
||||
magic-string: 0.30.15
|
||||
magic-string: 0.30.17
|
||||
zimmerframe: 1.1.2
|
||||
|
||||
tar@7.4.3:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<script lang="ts">
|
||||
import type { Article } from '$lib/types/article';
|
||||
import type { Article } from '$lib/types/article';
|
||||
import { ArrowRight } from 'lucide-svelte';
|
||||
import ExternalLink from './ExternalLink.svelte';
|
||||
import ExternalLink from './ExternalLink.svelte';
|
||||
|
||||
const {
|
||||
articles,
|
||||
|
|
|
|||
|
|
@ -87,8 +87,10 @@
|
|||
|
||||
.text-left,
|
||||
.text-right {
|
||||
display: flex;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
place-items: baseline;
|
||||
place-content: center;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
|
|
@ -101,10 +103,6 @@
|
|||
}
|
||||
|
||||
.show-icon {
|
||||
/* display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem; */
|
||||
|
||||
&:hover {
|
||||
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://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" }} />
|
||||
- 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>
|
||||
</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>
|
||||
<li>
|
||||
<ExternalLink ariaLael="Z plugin" href="https://github.com/agkozak/zsh-z" showIcon>Z</ExternalLink>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
<script lang="ts">
|
||||
import cruise from '$lib/assets/images/cruise.png?enhanced';
|
||||
import orange_derp from '$lib/assets/images/orange_derp.jpg?enhanced';
|
||||
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?enhanced';
|
||||
import turnip from '$lib/assets/images/turnip.svg';
|
||||
import type { Course } from '$lib/types/courses';
|
||||
import { dockerIcon, drizzleIcon, nextDotJsIcon, reactIcon, svelteIcon, typescriptIcon } from '$lib/util/logoIcons.svelte';
|
||||
import CourseCard from './CourseCard.svelte';
|
||||
import TechListItem from './TechListItem.svelte';
|
||||
import courseData from './course.json';
|
||||
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
||||
import cruise from '$lib/assets/images/cruise.png?enhanced';
|
||||
import orange_derp from '$lib/assets/images/orange_derp.jpg?enhanced';
|
||||
import tortie_derp from '$lib/assets/images/tortie_derp.jpg?enhanced';
|
||||
import turnip from '$lib/assets/images/turnip.svg';
|
||||
import type { Course } from '$lib/types/courses';
|
||||
import { dockerIcon, drizzleIcon, nextDotJsIcon, reactIcon, svelteIcon, typescriptIcon } from '$lib/util/logoIcons.svelte';
|
||||
import CourseCard from './CourseCard.svelte';
|
||||
import TechListItem from './TechListItem.svelte';
|
||||
import courseData from './course.json';
|
||||
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
||||
|
||||
const courses: Course[] = courseData.courses;
|
||||
const courses: Course[] = courseData.courses;
|
||||
</script>
|
||||
|
||||
<div class="about">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
<script lang="ts">
|
||||
import { run } from 'svelte/legacy';
|
||||
|
||||
import Pagination from '$lib/components/Pagination.svelte';
|
||||
import type { Article } from '$lib/types/article';
|
||||
import Articles from '$lib/components/Articles.svelte';
|
||||
|
|
@ -11,16 +9,10 @@
|
|||
}
|
||||
|
||||
let { data }: Props = $props();
|
||||
let articles: Article[] = $state();
|
||||
let currentPage: number = $state();
|
||||
let totalArticles: number = $state();
|
||||
let limit: number = $state();
|
||||
|
||||
run(() => {
|
||||
if (data) {
|
||||
({ articles, currentPage, totalArticles, limit } = data);
|
||||
}
|
||||
});
|
||||
let articles: Article[] = $state(data?.articles);
|
||||
let currentPage: number = $state(data?.currentPage);
|
||||
let totalArticles: number = $state(data?.totalArticles);
|
||||
let limit: number = $state(data?.limit);
|
||||
</script>
|
||||
|
||||
<h1 style:margin-bottom={"2rem"}>Favorite Tech Articles</h1>
|
||||
|
|
|
|||
|
|
@ -114,9 +114,9 @@
|
|||
href: "https://www.flaticon.com/authors/freepik",
|
||||
ariaLabel: "Freepik",
|
||||
}}
|
||||
textData={{ text: "Freepik", showIcon: true, location: "right" }}
|
||||
textData={{ text: "Freepik", showIcon: true, location: "left" }}
|
||||
/> from <ExternalLink
|
||||
textData={{ text: "Flaticon", showIcon: true, location: "right" }}
|
||||
textData={{ text: "Flaticon", showIcon: true, location: "left" }}
|
||||
linkData={{
|
||||
href: "https://www.flaticon.com/",
|
||||
ariaLabel: "Flaticon",
|
||||
|
|
@ -124,41 +124,41 @@
|
|||
/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
Previous version of my website was written using React and Gatsby which
|
||||
<p>The previous version of my website was written using React and Gatsby which
|
||||
you can view <ExternalLink
|
||||
linkData={{
|
||||
href: "https://bradleyshellnut.com",
|
||||
href: "https://wonderful-austin-9f17d2.netlify.app/",
|
||||
ariaLabel: "React and Gatsby Personal Site version",
|
||||
}}
|
||||
textData={{ text: "here", showIcon: true, location: "right" }}
|
||||
/>. Each iteration brings better code and my previous React version was
|
||||
textData={{ text: "here.", showIcon: true, location: "left" }}
|
||||
/></p>
|
||||
<p>
|
||||
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" }}
|
||||
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: "right" }}
|
||||
/>. You can view the previous archived version of the site before those
|
||||
textData={{ text: "Syntax Pocast.", showIcon: true, location: "left" }}
|
||||
/></p>
|
||||
<p>You can view the previous archived version of the site before those
|
||||
changes <ExternalLink
|
||||
textData={{ text: "here", showIcon: true, location: "right" }}
|
||||
textData={{ text: "here.", showIcon: true, location: "left" }}
|
||||
linkData={{
|
||||
href: "https://web.archive.org/web/20210224002046/https://bradleyshellnut.com/",
|
||||
ariaLabel: "Archive before Syntax Podcast",
|
||||
}}
|
||||
/>.
|
||||
/></p>
|
||||
</Portfolio>
|
||||
<!-- <Portfolio
|
||||
<Portfolio
|
||||
name="Wedding Website"
|
||||
style="max-height: 550px;"
|
||||
src={weddingWebsite}
|
||||
alt="Picture of NextJS Wedding Website"
|
||||
{links}
|
||||
{details}
|
||||
portfolioDetails={WeddingWebsite}
|
||||
externalLinks={[
|
||||
{
|
||||
ariaLabel: "View GitHub repository for the wedding site",
|
||||
|
|
@ -168,15 +168,28 @@
|
|||
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
|
||||
name="Old Personal Website"
|
||||
style="max-height: 320px;"
|
||||
src={oldSite}
|
||||
alt="Home Page of the old bradleyshellnut.com website"
|
||||
{links}
|
||||
{details}
|
||||
portfolioDetails={OldWebsite}
|
||||
externalLinks={[
|
||||
{
|
||||
ariaLabel: "Archive of bradleyshellnut.com",
|
||||
|
|
@ -186,17 +199,25 @@
|
|||
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 value="professional">
|
||||
<!-- <Portfolio
|
||||
<Portfolio
|
||||
name="Mark Shellnut Architect"
|
||||
style="max-height: 550px;"
|
||||
src={shellnutArchitectWebsite}
|
||||
alt="Picture of Mark Shellnut Architect's Website"
|
||||
{links}
|
||||
{details}
|
||||
portfolioDetails={MarkShellnutArchitect}
|
||||
externalLinks={[
|
||||
{
|
||||
ariaLabel: "View Mark Shellnut Architect",
|
||||
|
|
@ -205,7 +226,23 @@
|
|||
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.Root>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,7 @@
|
|||
they are willing to give to any business/entity.
|
||||
</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
|
||||
<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>
|
||||
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>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Useful Resources</h2>
|
||||
|
|
@ -25,55 +23,48 @@
|
|||
</p>
|
||||
<ul>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Privacy Centric Paid Services I use:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Article Saving: <ExternalLink ariaLabel="Wallabag Article Saver" href="https://wallabag.com/" showIcon>Wallabag</ExternalLink>
|
||||
</li>
|
||||
<li>
|
||||
Anonymous Email Forwarding:
|
||||
<ExternalLink ariaLabel="AnonAddy Email Forwarding" href="https://anonaddy.com/" showIcon>AnonAddy</ExternalLink>
|
||||
</li>
|
||||
<li>
|
||||
Email: <ExternalLink ariaLabel="ProtonMail" href="https://protonmail.com/" showIcon>ProtonMail</ExternalLink>
|
||||
</li>
|
||||
<li>
|
||||
Notes: <ExternalLink ariaLabel="Joplin" href="https://joplinapp.org/" showIcon>Joplin Notes</ExternalLink>
|
||||
</li>
|
||||
<li>
|
||||
VPN: <ExternalLink ariaLabel="Mullvad VPN" href="https://mullvad.net/" showIcon>Mullvad VPN</ExternalLink>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Privacy Centric Paid Services I use:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
Article Saving: <ExternalLink textData={{ text: "Wallabag Article Saver", showIcon: true, location: "left" }} linkData={{ href: "https://wallabag.com/", ariaLabel: "Wallabag Article Saver" }} />
|
||||
</li>
|
||||
<li>
|
||||
Anonymous Email Forwarding: <ExternalLink textData={{ text: "SimpleLogin (Now owned by Proton AG)", showIcon: true, location: "left" }} linkData={{ href: "https://simplelogin.io", ariaLabel: "SimpleLogin" }} />
|
||||
</li>
|
||||
<li>
|
||||
Email: <ExternalLink textData={{ text: "ProtonMail", showIcon: true, location: "left" }} linkData={{ href: "https://protonmail.com/", ariaLabel: "ProtonMail" }} />
|
||||
</li>
|
||||
<li>
|
||||
Notes: <ExternalLink textData={{ text: "Joplin Notes", showIcon: true, location: "left" }} linkData={{ href: "https://joplinapp.org/", ariaLabel: "Joplin Notes" }} />
|
||||
</li>
|
||||
<li>
|
||||
VPN: <ExternalLink textData={{ text: "ProtonVPN", showIcon: true, location: "left" }} linkData={{ href: "https://protonvpn.com", ariaLabel: "ProtonVPN" }} />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3>NAS Servers for Self Hosting:</h3>
|
||||
<ul>
|
||||
<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)
|
||||
</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>
|
||||
</ul>
|
||||
</div>
|
||||
<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>
|
||||
<h3>NAS Servers for Self Hosting:</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<ExternalLink textData={{ text: "Synology NAS", showIcon: true, location: "left" }} linkData={{ href: "https://synology.com/", ariaLabel: "Synology NAS" }} />
|
||||
: 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>
|
||||
Custom NAS Server used as a <ExternalLink textData={{ text: "Plex Machine", showIcon: true, location: "left" }} linkData={{ href: "https://www.plex.tv/", ariaLabel: "Plex" }} />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<style lang="postcss">
|
||||
|
|
|
|||
|
|
@ -1,24 +1,39 @@
|
|||
<script lang="ts">
|
||||
import ExternalLink from '$lib/components/ExternalLink.svelte';
|
||||
import LazyImage from '$lib/components/LazyImage.svelte';
|
||||
import desktop from '$lib/assets/images/Desktop_so_clean.jpg?as=run';
|
||||
// @ts-expect-error: Cannot find module '$lib/content/uses/development.md' or its corresponding type declarations.ts(2307)
|
||||
import HardwareAccessories from '$lib/content/uses/hardware-accessories.md';
|
||||
// @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';
|
||||
import ExternalLink from "$lib/components/ExternalLink.svelte";
|
||||
import desktop from "$lib/assets/images/Desktop_so_clean.jpg?enhanced";
|
||||
import Development from "./development.svelte";
|
||||
import PrivacyHardwareSoftware from './privacy-hardware-software.svelte';
|
||||
import HardwareAccessories from "./hardware-accessories.svelte";
|
||||
</script>
|
||||
|
||||
<div class="uses">
|
||||
<div>
|
||||
<h1>/Uses</h1>
|
||||
<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>
|
||||
</div>
|
||||
<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>
|
||||
<HardwareAccessories />
|
||||
|
|
@ -33,22 +48,29 @@
|
|||
gap: 2rem;
|
||||
}
|
||||
|
||||
.uses-image img {
|
||||
max-width: 640px;
|
||||
height: auto;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
:global(.uses-image) {
|
||||
/* :global(.uses-image) {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
aspect-ratio: 4 / 3;
|
||||
max-height: 480px;
|
||||
|
||||
@media(max-width: 800px) {
|
||||
@media (max-width: 800px) {
|
||||
max-height: 350px;
|
||||
}
|
||||
|
||||
@media(max-width: 500px) {
|
||||
@media (max-width: 500px) {
|
||||
max-height: 300px;
|
||||
}
|
||||
}
|
||||
} */
|
||||
</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