Cleaned up link code for projects and added git vs web links
All checks were successful
Docker Deploy / build-and-push (push) Successful in 5m7s

This commit is contained in:
2025-10-14 12:59:10 -06:00
parent 94146782cb
commit 0d474804ec
6 changed files with 76 additions and 56 deletions

View File

@@ -11,14 +11,14 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/mdx": "^4.3.7", "@astrojs/mdx": "^4.3.7",
"@astrojs/node": "^9.4.6", "@astrojs/node": "^9.5.0",
"@astrojs/preact": "^4.1.1", "@astrojs/preact": "^4.1.1",
"@astrojs/rss": "^4.0.12", "@astrojs/rss": "^4.0.12",
"@iarna/toml": "^2.2.5", "@iarna/toml": "^2.2.5",
"@preact/signals": "^2.3.2", "@preact/signals": "^2.3.2",
"@tailwindcss/typography": "^0.5.19", "@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.14", "@tailwindcss/vite": "^4.1.14",
"astro": "^5.14.4", "astro": "^5.14.5",
"astro-icon": "^1.1.5", "astro-icon": "^1.1.5",
"lucide-preact": "^0.545.0", "lucide-preact": "^0.545.0",
"playwright": "^1.56.0", "playwright": "^1.56.0",
@@ -29,7 +29,7 @@
"devDependencies": { "devDependencies": {
"@iconify-json/mdi": "^1.2.3", "@iconify-json/mdi": "^1.2.3",
"@iconify-json/simple-icons": "^1.2.54", "@iconify-json/simple-icons": "^1.2.54",
"daisyui": "^5.3.0" "daisyui": "^5.3.1"
}, },
"pnpm": { "pnpm": {
"onlyBuiltDependencies": [ "onlyBuiltDependencies": [

78
pnpm-lock.yaml generated
View File

@@ -10,10 +10,10 @@ importers:
dependencies: dependencies:
'@astrojs/mdx': '@astrojs/mdx':
specifier: ^4.3.7 specifier: ^4.3.7
version: 4.3.7(astro@5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3)) version: 4.3.7(astro@5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))
'@astrojs/node': '@astrojs/node':
specifier: ^9.4.6 specifier: ^9.5.0
version: 9.4.6(astro@5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3)) version: 9.5.0(astro@5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))
'@astrojs/preact': '@astrojs/preact':
specifier: ^4.1.1 specifier: ^4.1.1
version: 4.1.1(@babel/core@7.28.4)(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(preact@10.27.2) version: 4.1.1(@babel/core@7.28.4)(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(preact@10.27.2)
@@ -31,10 +31,10 @@ importers:
version: 0.5.19(tailwindcss@4.1.14) version: 0.5.19(tailwindcss@4.1.14)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.1.14 specifier: ^4.1.14
version: 4.1.14(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)) version: 4.1.14(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))
astro: astro:
specifier: ^5.14.4 specifier: ^5.14.5
version: 5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3) version: 5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3)
astro-icon: astro-icon:
specifier: ^1.1.5 specifier: ^1.1.5
version: 1.1.5 version: 1.1.5
@@ -61,8 +61,8 @@ importers:
specifier: ^1.2.54 specifier: ^1.2.54
version: 1.2.54 version: 1.2.54
daisyui: daisyui:
specifier: ^5.3.0 specifier: ^5.3.1
version: 5.3.0 version: 5.3.1
packages: packages:
@@ -87,8 +87,8 @@ packages:
peerDependencies: peerDependencies:
astro: ^5.0.0 astro: ^5.0.0
'@astrojs/node@9.4.6': '@astrojs/node@9.5.0':
resolution: {integrity: sha512-vyl+GaT20CjullFghaO5/g3ygpzfjQdxjRJev8r33Vi831nCe3yyy4G/V1z6wpq4FHDEduMtT2jdXfJVx1th+A==} resolution: {integrity: sha512-x1whLIatmCefaqJA8FjfI+P6FStF+bqmmrib0OUGM1M3cZhAXKLgPx6UF2AzQ3JgpXgCWYM24MHtraPvZhhyLQ==}
peerDependencies: peerDependencies:
astro: ^5.14.3 astro: ^5.14.3
@@ -903,8 +903,8 @@ packages:
astro-icon@1.1.5: astro-icon@1.1.5:
resolution: {integrity: sha512-CJYS5nWOw9jz4RpGWmzNQY7D0y2ZZacH7atL2K9DeJXJVaz7/5WrxeyIxO8KASk1jCM96Q4LjRx/F3R+InjJrw==} resolution: {integrity: sha512-CJYS5nWOw9jz4RpGWmzNQY7D0y2ZZacH7atL2K9DeJXJVaz7/5WrxeyIxO8KASk1jCM96Q4LjRx/F3R+InjJrw==}
astro@5.14.4: astro@5.14.5:
resolution: {integrity: sha512-yqgMAO2Whi9GmZkByyiPcG7CiiPr0Me0iBSorMa6M0g+wQk/ewnIqUyr7T/uFCPTQndoKwucnYFTrf0yfb0urw==} resolution: {integrity: sha512-EHt7y3+nHYyKzBats1AL3N4Pyrvqyr+zXBC7njUa9Tfe+gsiHlunaw+lXitTT/DDVwO2R/f/qVG7Xc6rl0b2KQ==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true hasBin: true
@@ -1083,8 +1083,8 @@ packages:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
daisyui@5.3.0: daisyui@5.3.1:
resolution: {integrity: sha512-MgkNzabeGQ/rMbXujoUkjVzBiFL8gQRELKOfDY7efeLxHAQ8wf9VsRgcjDPDMsmI5rOV5iQ2DFMDo92RsRAcBg==} resolution: {integrity: sha512-h2RqYCfavz3ZHoRhkn9xsDjMTSvCqAf44ve1Lh5nZvXWrnxgnzVvwGhhnM/lwvFo42aK3Rfly0wE4d5t9LKhRQ==}
debug@4.4.3: debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
@@ -2392,8 +2392,8 @@ packages:
peerDependencies: peerDependencies:
vite: 5.x || 6.x || 7.x vite: 5.x || 6.x || 7.x
vite@6.3.6: vite@6.3.7:
resolution: {integrity: sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==} resolution: {integrity: sha512-mQYaKepA0NGMBsz8Xktt3tJUG5ELE2iT7IJ+ssXI6nxVdE2sFc/d/6w/JByqMLvWg8hNKHpPgzjgOkrhpKFnrA==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@@ -2554,12 +2554,12 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/mdx@4.3.7(astro@5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))': '@astrojs/mdx@4.3.7(astro@5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))':
dependencies: dependencies:
'@astrojs/markdown-remark': 6.3.8 '@astrojs/markdown-remark': 6.3.8
'@mdx-js/mdx': 3.1.1 '@mdx-js/mdx': 3.1.1
acorn: 8.15.0 acorn: 8.15.0
astro: 5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3) astro: 5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3)
es-module-lexer: 1.7.0 es-module-lexer: 1.7.0
estree-util-visit: 2.0.0 estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5 hast-util-to-html: 9.0.5
@@ -2573,10 +2573,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@astrojs/node@9.4.6(astro@5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))': '@astrojs/node@9.5.0(astro@5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3))':
dependencies: dependencies:
'@astrojs/internal-helpers': 0.7.4 '@astrojs/internal-helpers': 0.7.4
astro: 5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3) astro: 5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3)
send: 1.2.0 send: 1.2.0
server-destroy: 1.0.1 server-destroy: 1.0.1
transitivePeerDependencies: transitivePeerDependencies:
@@ -2584,11 +2584,11 @@ snapshots:
'@astrojs/preact@4.1.1(@babel/core@7.28.4)(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(preact@10.27.2)': '@astrojs/preact@4.1.1(@babel/core@7.28.4)(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(preact@10.27.2)':
dependencies: dependencies:
'@preact/preset-vite': 2.10.2(@babel/core@7.28.4)(preact@10.27.2)(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)) '@preact/preset-vite': 2.10.2(@babel/core@7.28.4)(preact@10.27.2)(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))
'@preact/signals': 2.3.2(preact@10.27.2) '@preact/signals': 2.3.2(preact@10.27.2)
preact: 10.27.2 preact: 10.27.2
preact-render-to-string: 6.6.2(preact@10.27.2) preact-render-to-string: 6.6.2(preact@10.27.2)
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
transitivePeerDependencies: transitivePeerDependencies:
- '@babel/core' - '@babel/core'
- '@types/node' - '@types/node'
@@ -3026,18 +3026,18 @@ snapshots:
'@oslojs/encoding@1.1.0': {} '@oslojs/encoding@1.1.0': {}
'@preact/preset-vite@2.10.2(@babel/core@7.28.4)(preact@10.27.2)(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))': '@preact/preset-vite@2.10.2(@babel/core@7.28.4)(preact@10.27.2)(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))':
dependencies: dependencies:
'@babel/core': 7.28.4 '@babel/core': 7.28.4
'@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4) '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.4)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.4) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.4)
'@prefresh/vite': 2.4.10(preact@10.27.2)(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)) '@prefresh/vite': 2.4.10(preact@10.27.2)(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))
'@rollup/pluginutils': 4.2.1 '@rollup/pluginutils': 4.2.1
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.4) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.4)
debug: 4.4.3 debug: 4.4.3
picocolors: 1.1.1 picocolors: 1.1.1
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
vite-prerender-plugin: 0.5.12(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)) vite-prerender-plugin: 0.5.12(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))
transitivePeerDependencies: transitivePeerDependencies:
- preact - preact
- supports-color - supports-color
@@ -3057,7 +3057,7 @@ snapshots:
'@prefresh/utils@1.2.1': {} '@prefresh/utils@1.2.1': {}
'@prefresh/vite@2.4.10(preact@10.27.2)(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))': '@prefresh/vite@2.4.10(preact@10.27.2)(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))':
dependencies: dependencies:
'@babel/core': 7.28.4 '@babel/core': 7.28.4
'@prefresh/babel-plugin': 0.5.2 '@prefresh/babel-plugin': 0.5.2
@@ -3065,7 +3065,7 @@ snapshots:
'@prefresh/utils': 1.2.1 '@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1 '@rollup/pluginutils': 4.2.1
preact: 10.27.2 preact: 10.27.2
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@@ -3254,12 +3254,12 @@ snapshots:
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
tailwindcss: 4.1.14 tailwindcss: 4.1.14
'@tailwindcss/vite@4.1.14(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))': '@tailwindcss/vite@4.1.14(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))':
dependencies: dependencies:
'@tailwindcss/node': 4.1.14 '@tailwindcss/node': 4.1.14
'@tailwindcss/oxide': 4.1.14 '@tailwindcss/oxide': 4.1.14
tailwindcss: 4.1.14 tailwindcss: 4.1.14
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
'@trysound/sax@0.2.0': {} '@trysound/sax@0.2.0': {}
@@ -3351,7 +3351,7 @@ snapshots:
- debug - debug
- supports-color - supports-color
astro@5.14.4(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3): astro@5.14.5(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)(rollup@4.52.4)(typescript@5.8.3):
dependencies: dependencies:
'@astrojs/compiler': 2.13.0 '@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.4 '@astrojs/internal-helpers': 0.7.4
@@ -3407,8 +3407,8 @@ snapshots:
unist-util-visit: 5.0.0 unist-util-visit: 5.0.0
unstorage: 1.17.1 unstorage: 1.17.1
vfile: 6.0.3 vfile: 6.0.3
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
vitefu: 1.1.1(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)) vitefu: 1.1.1(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1))
xxhash-wasm: 1.1.0 xxhash-wasm: 1.1.0
yargs-parser: 21.1.1 yargs-parser: 21.1.1
yocto-spinner: 0.2.3 yocto-spinner: 0.2.3
@@ -3620,7 +3620,7 @@ snapshots:
dependencies: dependencies:
css-tree: 2.2.1 css-tree: 2.2.1
daisyui@5.3.0: {} daisyui@5.3.1: {}
debug@4.4.3: debug@4.4.3:
dependencies: dependencies:
@@ -5356,7 +5356,7 @@ snapshots:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
vfile-message: 4.0.3 vfile-message: 4.0.3
vite-prerender-plugin@0.5.12(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)): vite-prerender-plugin@0.5.12(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)):
dependencies: dependencies:
kolorist: 1.8.0 kolorist: 1.8.0
magic-string: 0.30.19 magic-string: 0.30.19
@@ -5364,9 +5364,9 @@ snapshots:
simple-code-frame: 1.3.0 simple-code-frame: 1.3.0
source-map: 0.7.6 source-map: 0.7.6
stack-trace: 1.0.0-pre2 stack-trace: 1.0.0-pre2
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1): vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1):
dependencies: dependencies:
esbuild: 0.25.10 esbuild: 0.25.10
fdir: 6.5.0(picomatch@4.0.3) fdir: 6.5.0(picomatch@4.0.3)
@@ -5380,9 +5380,9 @@ snapshots:
jiti: 2.6.1 jiti: 2.6.1
lightningcss: 1.30.1 lightningcss: 1.30.1
vitefu@1.1.1(vite@6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)): vitefu@1.1.1(vite@6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)):
optionalDependencies: optionalDependencies:
vite: 6.3.6(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1) vite: 6.3.7(@types/node@24.7.2)(jiti@2.6.1)(lightningcss@1.30.1)
web-namespaces@2.0.1: {} web-namespaces@2.0.1: {}

View File

@@ -95,15 +95,29 @@ const { project } = Astro.props;
<div class="card-actions justify-center gap-2 mt-4"> <div class="card-actions justify-center gap-2 mt-4">
{ {
project.link && ( project.webLink && (
<a <a
href={project.link} href={project.webLink}
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="btn btn-sm gap-2 bg-accent-content text-accent hover:bg-accent-content/90" class="btn btn-sm gap-2 bg-accent-content text-accent hover:bg-accent-content/90"
aria-label={`Visit ${project.name}`} aria-label={`Visit ${project.name} website`}
> >
<Icon name="mdi:link" class="w-4 h-4" /> <Icon name="mdi:web" class="w-4 h-4" />
Website
</a>
)
}
{
project.gitLink && (
<a
href={project.gitLink}
target="_blank"
rel="noopener noreferrer"
class="btn btn-sm gap-2 bg-accent-content text-accent hover:bg-accent-content/90"
aria-label={`View ${project.name} source code`}
>
<Icon name="simple-icons:gitea" class="w-4 h-4" />
Source Source
</a> </a>
) )

View File

@@ -23,8 +23,12 @@ function isGiteaDomain(url: string): boolean {
const projectsWithGiteaInfo = await Promise.all( const projectsWithGiteaInfo = await Promise.all(
config.projects.map(async (project) => { config.projects.map(async (project) => {
if (project.link && !project.giteaInfo && isGiteaDomain(project.link)) { if (
const giteaInfo = await fetchGiteaInfoFromUrl(project.link); project.gitLink &&
!project.giteaInfo &&
isGiteaDomain(project.gitLink)
) {
const giteaInfo = await fetchGiteaInfoFromUrl(project.gitLink);
if (giteaInfo) { if (giteaInfo) {
return { ...project, giteaInfo } as Project; return { ...project, giteaInfo } as Project;
} }

View File

@@ -160,46 +160,47 @@ export const config: Config = {
id: "ascently", id: "ascently",
name: "Ascently", name: "Ascently",
description: "FOSS Rock Climbing Tracker for iOS and Android", description: "FOSS Rock Climbing Tracker for iOS and Android",
link: "https://git.atri.dad/atridad/Ascently", gitLink: "https://git.atri.dad/atridad/Ascently",
webLink: "https://ascently.atri.dad",
}, },
{ {
id: "muse", id: "muse",
name: "muse", name: "muse",
description: "Go-based music generation using TOML song definitions", description: "Go-based music generation using TOML song definitions",
link: "https://git.atri.dad/atridad/muse", gitLink: "https://git.atri.dad/atridad/muse",
}, },
{ {
id: "magiccounter", id: "magiccounter",
name: "MagicCounter", name: "MagicCounter",
description: "Jeckpack Compose based Magic the Gathering Health Tracker", description: "Jeckpack Compose based Magic the Gathering Health Tracker",
link: "https://git.atri.dad/atridad/MagicCounter", gitLink: "https://git.atri.dad/atridad/MagicCounter",
}, },
{ {
id: "mealient", id: "mealient",
name: "Mealient (Fork of project by Kirill Kamakin)", name: "Mealient (Fork of project by Kirill Kamakin)",
description: "An Android client for a self-hosted recipe manager Mealie.", description: "An Android client for a self-hosted recipe manager Mealie.",
link: "https://git.atri.dad/atridad/Mealient", gitLink: "https://git.atri.dad/atridad/Mealient",
}, },
{ {
id: "goth-stack", id: "goth-stack",
name: "GOTH Stack", name: "GOTH Stack",
description: description:
"🚀 A Web Application Template Powered by HTMX + Go + Tailwind 🚀", "🚀 A Web Application Template Powered by HTMX + Go + Tailwind 🚀",
link: "https://git.atri.dad/atridad/goth.stack", gitLink: "https://git.atri.dad/atridad/goth.stack",
}, },
{ {
id: "himbot", id: "himbot",
name: "Himbot", name: "Himbot",
description: description:
"A discord bot written in Go. Loosly named after my username online (HimbothySwaggins).", "A discord bot written in Go. Loosly named after my username online (HimbothySwaggins).",
link: "https://git.atri.dad/atridad/himbot", gitLink: "https://git.atri.dad/atridad/himbot",
}, },
{ {
id: "loadr", id: "loadr",
name: "loadr", name: "loadr",
description: description:
"A lightweight REST load testing tool with robust support for different verbs, token auth, and performance reports.", "A lightweight REST load testing tool with robust support for different verbs, token auth, and performance reports.",
link: "https://git.atri.dad/atridad/loadr", gitLink: "https://git.atri.dad/atridad/loadr",
}, },
], ],

View File

@@ -20,10 +20,11 @@ export interface Project {
id: string; id: string;
name: string; name: string;
description: string; description: string;
link: string; webLink?: string;
status?: string; status?: string;
iosLink?: string; iosLink?: string;
androidLink?: string; androidLink?: string;
gitLink?: string;
giteaInfo?: GiteaRepoInfo; giteaInfo?: GiteaRepoInfo;
} }