Compare commits

...

946 Commits

Author SHA1 Message Date
c5cda006bb feat: release 2.15.1
All checks were successful
renovate / renovate (push) Successful in 38s
test-build / guarddog (push) Successful in 53s
test-build / build (push) Successful in 1m1s
release-image-harbor / build (push) Successful in 2m19s
release-image-gitea / build (push) Successful in 2m21s
release-image-gitea / release (push) Successful in 2m5s
release-image-harbor / release (push) Successful in 7m38s
2026-02-20 00:43:52 -06:00
959d3bd71d fix: force 3d scaling for button transform
All checks were successful
test-build / guarddog (push) Successful in 18s
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Successful in 1m55s
2026-02-20 00:39:53 -06:00
f3b8d10106 feat: release 2.15.0
All checks were successful
test-build / guarddog (push) Successful in 27s
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 1m41s
release-image-harbor / build (push) Successful in 3m25s
release-image-harbor / release (push) Successful in 2m3s
release-image-gitea / build (push) Successful in 5m44s
release-image-gitea / release (push) Successful in 1m41s
2026-02-19 23:51:20 -06:00
0c63c6bef4 feat: use mask to blend content to background
All checks were successful
test-build / guarddog (push) Successful in 31s
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 1m37s
2026-02-19 23:48:34 -06:00
5e37e2bb53 feat: add background shimmer effect, use mask for content scroll fade 2026-02-19 23:34:56 -06:00
b3c377f62d feat: adjustment pass on spacing between sections
All checks were successful
renovate / renovate (push) Successful in 1m32s
test-build / build (push) Successful in 3m22s
test-build / guarddog (push) Successful in 4m3s
2026-02-19 18:14:44 -06:00
0d87af3aca fix: hidden button background color on light mode, darken
All checks were successful
renovate / renovate (push) Successful in 39s
test-build / guarddog (push) Successful in 50s
test-build / build (push) Successful in 4m34s
2026-02-19 18:02:31 -06:00
9eb0f37cb2 fix: fix footer accent color 2026-02-19 18:00:33 -06:00
76dfef4177 feat: redo how images, icons, and logos are handled 2026-02-19 17:58:28 -06:00
d415dda661 feat: release 2.14.1
All checks were successful
release-image-gitea / build (push) Successful in 56s
release-image-gitea / release (push) Successful in 1m50s
test-build / build (push) Successful in 4m52s
release-image-harbor / build (push) Successful in 4m57s
test-build / guarddog (push) Successful in 5m25s
release-image-harbor / release (push) Successful in 3m17s
renovate / renovate (push) Successful in 4m2s
2026-02-18 22:42:56 -06:00
ea9ae016d7 fix: add env 2026-02-18 22:42:38 -06:00
0416ab7f9e feat: release 2.14.0
All checks were successful
test-build / guarddog (push) Successful in 30s
release-image-gitea / build (push) Successful in 48s
renovate / renovate (push) Successful in 2m21s
release-image-gitea / release (push) Successful in 1m57s
test-build / build (push) Successful in 4m7s
release-image-harbor / build (push) Successful in 6m46s
release-image-harbor / release (push) Successful in 4m20s
2026-02-18 21:48:17 -06:00
6f1728a909 feat: move url configuration to support file 2026-02-18 21:47:53 -06:00
db2711d878 feat: release 2.13.1
All checks were successful
test-build / guarddog (push) Successful in 30s
test-build / build (push) Successful in 59s
release-image-gitea / build (push) Successful in 50s
renovate / renovate (push) Successful in 2m26s
release-image-gitea / release (push) Successful in 1m52s
release-image-harbor / build (push) Successful in 6m14s
release-image-harbor / release (push) Successful in 11m50s
2026-02-18 21:26:50 -06:00
7f2a27248a feat: improve behavior of showmore, fix alignment 2026-02-18 21:26:23 -06:00
c927235a5a fix: info logs
All checks were successful
test-build / guarddog (push) Successful in 49s
test-build / build (push) Successful in 2m47s
release-image-harbor / build (push) Successful in 2m55s
release-image-harbor / release (push) Successful in 5m39s
release-image-gitea / build (push) Successful in 2m11s
release-image-gitea / release (push) Successful in 3m51s
renovate / renovate (push) Successful in 1m5s
2026-02-18 15:57:34 -06:00
8d5c02e2d1 fix: debug logs
All checks were successful
test-build / guarddog (push) Successful in 47s
renovate / renovate (push) Successful in 1m21s
test-build / build (push) Successful in 1m35s
2026-02-18 15:54:28 -06:00
1a34b932b0 fix: correct credentials
Some checks failed
test-build / guarddog (push) Successful in 44s
renovate / renovate (push) Successful in 59s
test-build / build (push) Has been cancelled
2026-02-18 15:52:25 -06:00
882063ea43 fix: correct matchhost
All checks were successful
test-build / guarddog (push) Successful in 52s
renovate / renovate (push) Successful in 59s
test-build / build (push) Successful in 1m18s
2026-02-18 15:41:20 -06:00
ba2477e7af fix: move host rules to workflow
All checks were successful
test-build / guarddog (push) Successful in 57s
test-build / build (push) Successful in 1m20s
renovate / renovate (push) Successful in 1m22s
2026-02-18 15:38:49 -06:00
879786484d feat: add creds for dhi
All checks were successful
test-build / guarddog (push) Successful in 38s
renovate / renovate (push) Successful in 57s
test-build / build (push) Successful in 2m11s
2026-02-18 15:33:03 -06:00
2c9486f687 feat: release 2.13.0 2026-02-18 15:23:41 -06:00
ba73c1b24f fix: add remote patterns for images
All checks were successful
test-build / guarddog (push) Successful in 1m20s
renovate / renovate (push) Successful in 1m43s
test-build / build (push) Successful in 2m6s
2026-02-18 15:22:35 -06:00
44bd1e4810 feat: change selected blogs to switch to card form on small screens 2026-02-18 15:07:34 -06:00
e52d85f931 feat: refactor pass along pages 2026-02-18 15:07:34 -06:00
21085a1620 feat: organize to consistency 2026-02-18 15:07:34 -06:00
744e72efc9 feat: update robots.txt 2026-02-18 15:07:34 -06:00
62dd636d4e feat: organize to consistency 2026-02-18 15:07:34 -06:00
b4d03a286c Merge pull request 'chore(deps): update tailwindcss monorepo to v4.2.0' (#344) from renovate/tailwindcss-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Failing after 1m23s
test-build / guarddog (push) Successful in 1m37s
Reviewed-on: #344
2026-02-18 21:00:24 +00:00
442da55d5d Merge pull request 'chore(deps): update astro monorepo' (#345) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 1m12s
test-build / guarddog (push) Successful in 55s
test-build / build (push) Failing after 1m20s
2026-02-18 20:57:05 +00:00
9b9c982f92 chore(deps): update astro monorepo
Some checks failed
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 49s
test-build / build (pull_request) Failing after 1m16s
2026-02-18 20:56:41 +00:00
1820650ada chore(deps): update tailwindcss monorepo to v4.2.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 37s
test-build / build (pull_request) Successful in 2m44s
2026-02-18 20:40:14 +00:00
fa2245e939 Merge pull request 'chore(deps): update dependency marked to v17.0.3' (#343) from renovate/marked-17.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 39s
renovate / renovate (push) Successful in 1m14s
test-build / build (push) Successful in 1m15s
2026-02-18 04:37:31 +00:00
12a8363dd2 chore(deps): update dependency marked to v17.0.3
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 52s
test-build / build (pull_request) Successful in 1m14s
2026-02-18 04:37:19 +00:00
4f365a4e60 Merge pull request 'chore(deps): update dependency @iconify-json/simple-icons to v1.2.71' (#342) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
test-build / guarddog (push) Successful in 31s
test-build / build (push) Successful in 1m38s
renovate / renovate (push) Has been cancelled
2026-02-18 04:35:15 +00:00
12e74d29af chore(deps): update dependency @iconify-json/simple-icons to v1.2.71
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 37s
test-build / build (pull_request) Successful in 1m12s
2026-02-18 04:35:06 +00:00
7937090533 Merge pull request 'chore(deps): update dependency typescript-eslint to v8.56.0' (#341) from renovate/typescript-eslint-monorepo into main
Some checks failed
test-build / guarddog (push) Successful in 44s
test-build / build (push) Successful in 1m10s
renovate / renovate (push) Has been cancelled
Reviewed-on: #341
2026-02-18 04:33:53 +00:00
ebfd8cf4a7 chore(deps): update dependency typescript-eslint to v8.56.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 30s
test-build / build (pull_request) Successful in 1m34s
2026-02-18 04:23:07 +00:00
8270728e8f feat: organize layout to consistency
All checks were successful
test-build / guarddog (push) Successful in 31s
test-build / build (push) Successful in 1m29s
renovate / renovate (push) Successful in 1m33s
2026-02-17 22:21:45 -06:00
20d8c7323f feat: tweak to gradient 2026-02-17 22:09:53 -06:00
5ac23f08a4 feat: improve navbar, add opacity fade beneath, layout, and refactor
All checks were successful
test-build / guarddog (push) Successful in 31s
test-build / build (push) Successful in 2m0s
renovate / renovate (push) Successful in 2m7s
2026-02-17 21:49:51 -06:00
c6f3179efb feat: organize footer to consistency 2026-02-17 17:44:40 -06:00
1a8473b964 feat: release 2.12.0
All checks were successful
test-build / guarddog (push) Successful in 1m11s
release-image-gitea / build (push) Successful in 2m28s
release-image-harbor / build (push) Successful in 2m19s
test-build / build (push) Successful in 5m33s
release-image-gitea / release (push) Successful in 7m39s
release-image-harbor / release (push) Successful in 7m16s
renovate / renovate (push) Successful in 2m5s
2026-02-16 23:08:06 -06:00
18211ad485 feat: update BaseHead
All checks were successful
renovate / renovate (push) Successful in 1m33s
test-build / build (push) Successful in 1m40s
test-build / guarddog (push) Successful in 1m59s
2026-02-16 23:04:42 -06:00
429cf94023 feat: organize to consistency pass on sections 2026-02-16 22:57:39 -06:00
0497731c45 feat: organize to consistency 2026-02-16 22:38:45 -06:00
6c2c6da91d feat: organize to consistency 2026-02-16 22:36:24 -06:00
19e17ea947 feat: remove option 2026-02-16 22:34:57 -06:00
3d9120c570 fix: remove unused property 2026-02-16 22:34:14 -06:00
875b8a7f47 fix: remove border from blog cards 2026-02-16 22:32:12 -06:00
1ddc76ae69 fix: remove errant semicolon 2026-02-16 22:30:04 -06:00
6423ffba63 feat: refactor blog components 2026-02-16 22:26:53 -06:00
505670dbf8 feat: remove unused packages
Some checks are pending
test-build / guarddog (push) Successful in 34s
test-build / build (push) Successful in 1m6s
release-image-harbor / build (push) Successful in 1m1s
release-image-harbor / release (push) Successful in 2m27s
release-image-gitea / build (push) Successful in 1m0s
release-image-gitea / release (push) Successful in 6m21s
renovate / renovate (push) Has started running
2026-02-16 00:28:58 -06:00
b3d7e7af2b chore(deps): update deps
All checks were successful
test-build / guarddog (push) Successful in 31s
renovate / renovate (push) Successful in 1m0s
test-build / build (push) Successful in 1m24s
2026-02-16 00:21:43 -06:00
440c95224d feat: release 2.11.0 2026-02-16 00:20:26 -06:00
b9ee82e9d8 Merge pull request 'chore(deps): update dependency eslint-plugin-astro to v1.6.0' (#340) from renovate/eslint-plugin-astro-1.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 33s
renovate / renovate (push) Successful in 49s
test-build / build (push) Successful in 1m26s
Reviewed-on: #340
2026-02-16 06:20:15 +00:00
3af9f08b7c chore(deps): update dependency eslint-plugin-astro to v1.6.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m20s
test-build / build (pull_request) Successful in 2m18s
2026-02-16 06:09:50 +00:00
0bd56b172f Merge pull request 'chore(deps): update dependency @swup/astro to v1.8.0' (#339) from renovate/swup-astro-1.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 54s
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Successful in 2m34s
Reviewed-on: #339
2026-02-16 06:08:50 +00:00
ebf70bd747 chore(deps): update dependency @swup/astro to v1.8.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 38s
test-build / build (pull_request) Successful in 1m37s
2026-02-16 05:57:02 +00:00
9c5e9b6a5b Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.13.0' (#338) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 51s
test-build / build (push) Successful in 1m42s
renovate / renovate (push) Successful in 2m17s
Reviewed-on: #338
2026-02-16 05:55:20 +00:00
568f9e5164 chore(deps): update dependency @eslint-react/eslint-plugin to v2.13.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 43s
test-build / build (pull_request) Successful in 1m50s
2026-02-16 05:40:13 +00:00
a74cc775d0 feat: final refactor of sections
All checks were successful
test-build / guarddog (push) Successful in 35s
test-build / build (push) Successful in 1m1s
renovate / renovate (push) Successful in 2m15s
2026-02-15 23:38:55 -06:00
5271be52a2 feat: rename button components to include button in name for consistency 2026-02-15 22:05:36 -06:00
8a649b7647 feat: imporvement pass over sections 2026-02-15 15:42:27 -06:00
c4be4653be fix: run theme on page swap 2026-02-15 00:05:16 -06:00
47a637353c feat: move improved components out of ui folder 2026-02-14 23:10:43 -06:00
a09a4ee240 feat: imporve theme toggle button 2026-02-14 23:08:12 -06:00
342ae8900a feat: refactor buttons, except for theme 2026-02-14 22:09:49 -06:00
2cdef1a553 feat: release 2.10.1
All checks were successful
test-build / guarddog (push) Successful in 45s
test-build / build (push) Successful in 1m17s
release-image-gitea / build (push) Successful in 1m19s
release-image-harbor / build (push) Successful in 3m18s
release-image-gitea / release (push) Successful in 4m4s
release-image-harbor / release (push) Successful in 2m30s
renovate / renovate (push) Successful in 4m22s
2026-02-14 17:19:58 -06:00
a8d6446674 feat: add docker login
All checks were successful
test-build / guarddog (push) Successful in 1m47s
renovate / renovate (push) Successful in 3m1s
test-build / build (push) Successful in 3m21s
2026-02-14 17:09:33 -06:00
fcd3057f40 feat: release 2.10.0
Some checks failed
test-build / guarddog (push) Successful in 1m52s
renovate / renovate (push) Successful in 2m6s
test-build / build (push) Successful in 3m18s
release-image-gitea / build (push) Successful in 1m26s
release-image-harbor / build (push) Successful in 1m28s
release-image-gitea / release (push) Failing after 1m49s
release-image-harbor / release (push) Failing after 2m1s
2026-02-14 16:53:35 -06:00
d464f0fe43 feat: use hardened image 2026-02-14 16:52:54 -06:00
0f403fa274 feat: release 2.9.0
All checks were successful
renovate / renovate (push) Successful in 1m31s
test-build / guarddog (push) Successful in 36s
test-build / build (push) Successful in 2m19s
release-image-gitea / build (push) Successful in 1m6s
release-image-harbor / build (push) Successful in 2m37s
release-image-gitea / release (push) Successful in 4m51s
release-image-harbor / release (push) Successful in 4m10s
2026-02-14 01:22:40 -06:00
0fc359a973 feat: scale logos
All checks were successful
test-build / guarddog (push) Successful in 35s
test-build / build (push) Successful in 1m12s
renovate / renovate (push) Successful in 1m24s
2026-02-14 01:04:56 -06:00
104fe35ee8 feat: major refactor of cards to standardize styles 2026-02-14 00:55:43 -06:00
a57f43e082 feat: release 2.8.0
All checks were successful
test-build / guarddog (push) Successful in 42s
test-build / build (push) Successful in 1m17s
release-image-harbor / build (push) Successful in 1m19s
release-image-harbor / release (push) Successful in 5m58s
release-image-gitea / build (push) Successful in 1m32s
release-image-gitea / release (push) Successful in 4m28s
renovate / renovate (push) Successful in 1m44s
2026-02-13 14:30:59 -06:00
efad6c30d1 feat: add rybbit tracking 2026-02-13 14:30:40 -06:00
c2d26228ba Merge pull request 'chore(deps): update node.js to v24.13.1' (#337) from renovate/docker.io-node-24.x into main
All checks were successful
test-build / build (push) Successful in 1m13s
renovate / renovate (push) Successful in 2m44s
test-build / guarddog (push) Successful in 3m27s
Reviewed-on: #337
2026-02-13 19:03:25 +00:00
94fe56022d chore(deps): update node.js to v24.13.1
All checks were successful
test-build / guarddog (pull_request) Successful in 50s
test-build / build (pull_request) Successful in 3m45s
2026-02-13 00:02:18 +00:00
d171292dd2 chore(deps): update deps
All checks were successful
test-build / guarddog (push) Successful in 38s
test-build / build (push) Successful in 1m15s
release-image-harbor / build (push) Successful in 1m14s
release-image-gitea / build (push) Successful in 1m20s
release-image-gitea / release (push) Successful in 4m12s
release-image-harbor / release (push) Successful in 4m20s
renovate / renovate (push) Successful in 2m28s
2026-02-11 15:37:05 -06:00
f52d285013 Merge pull request 'chore(deps): update dependency marked to v17.0.2' (#336) from renovate/marked-17.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 49s
test-build / build (push) Successful in 1m22s
test-build / guarddog (push) Successful in 1m58s
2026-02-11 21:32:43 +00:00
a79f53e90c chore(deps): update dependency marked to v17.0.2
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m39s
test-build / guarddog (pull_request) Successful in 1m55s
2026-02-11 21:32:29 +00:00
5ad7e33c8a Merge pull request 'chore(deps): update dependency @types/react to v19.2.14' (#335) from renovate/react-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-02-11 21:32:12 +00:00
87f266a3e2 chore(deps): update dependency @types/react to v19.2.14
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 37s
test-build / build (pull_request) Successful in 1m33s
2026-02-11 21:32:02 +00:00
dc039046fe Merge pull request 'chore(deps): update astro monorepo' (#334) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-02-11 21:31:47 +00:00
9c53f37b39 chore(deps): update astro monorepo
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 42s
test-build / build (pull_request) Successful in 1m23s
2026-02-11 21:31:05 +00:00
093e1e2ccb fix: remove argument
All checks were successful
test-build / guarddog (push) Successful in 32s
renovate / renovate (push) Successful in 54s
test-build / build (push) Successful in 1m28s
2026-02-11 15:24:39 -06:00
7a77f0d2d2 fix: downgrade python
Some checks failed
renovate / renovate (push) Successful in 1m0s
test-build / build (push) Successful in 1m14s
test-build / guarddog (push) Failing after 1m27s
2026-02-11 15:21:44 -06:00
e29631c4af fix: install and run
Some checks failed
renovate / renovate (push) Successful in 58s
test-build / build (push) Successful in 1m18s
test-build / guarddog (push) Failing after 2m4s
2026-02-11 15:19:19 -06:00
31aad5511f fix: only binary
Some checks failed
test-build / guarddog (push) Failing after 30s
renovate / renovate (push) Successful in 1m2s
test-build / build (push) Successful in 1m27s
2026-02-11 15:14:20 -06:00
976bc0c413 fix: add paths
Some checks failed
test-build / guarddog (push) Failing after 44s
test-build / build (push) Successful in 1m10s
renovate / renovate (push) Successful in 1m19s
2026-02-11 15:10:54 -06:00
0a2979ecfe fix: command order
Some checks failed
renovate / renovate (push) Successful in 1m27s
test-build / guarddog (push) Failing after 46s
test-build / build (push) Successful in 2m10s
2026-02-11 15:01:17 -06:00
c3e4519682 fix: use uvx
Some checks failed
renovate / renovate (push) Successful in 53s
test-build / guarddog (push) Failing after 1m9s
test-build / build (push) Successful in 1m22s
2026-02-11 14:56:32 -06:00
d9833e1c27 fix: path
Some checks failed
renovate / renovate (push) Successful in 55s
test-build / build (push) Successful in 1m19s
test-build / guarddog (push) Failing after 1m30s
2026-02-11 14:53:36 -06:00
19e80809c1 feat: enable guarddog
Some checks failed
renovate / renovate (push) Successful in 50s
test-build / build (push) Successful in 1m13s
test-build / guarddog (push) Failing after 1m24s
2026-02-11 14:50:17 -06:00
00ef91b644 feat: release 2.7.0
All checks were successful
renovate / renovate (push) Successful in 56s
test-build / build (push) Successful in 1m23s
2026-02-11 14:44:34 -06:00
7f7f710fe8 feat: make weather fetching dynamic
Some checks failed
renovate / renovate (push) Successful in 45s
test-build / build (push) Has been cancelled
2026-02-11 14:43:13 -06:00
1573331f87 feat: disable
All checks were successful
renovate / renovate (push) Successful in 56s
test-build / build (push) Successful in 1m32s
2026-02-10 22:30:21 -06:00
14f7bdc024 feat: add guarddog scan to workflow
Some checks failed
renovate / renovate (push) Successful in 37s
test-build / build (push) Successful in 1m8s
test-build / guarddog (push) Failing after 1m46s
2026-02-10 22:26:15 -06:00
0b116a05df Merge pull request 'chore(deps): update dependency node to v24.13.1' (#330) from renovate/node-24.x into main
All checks were successful
renovate / renovate (push) Successful in 46s
test-build / build (push) Successful in 1m6s
release-image-harbor / build (push) Successful in 1m10s
release-image-harbor / release (push) Successful in 6m56s
release-image-gitea / build (push) Successful in 1m8s
release-image-gitea / release (push) Successful in 3m10s
Reviewed-on: #330
2026-02-11 03:56:27 +00:00
849ca78598 chore(deps): update dependency node to v24.13.1
All checks were successful
test-build / build (pull_request) Successful in 1m27s
2026-02-11 03:54:23 +00:00
8377aefaf7 chore(deps): update deps
All checks were successful
renovate / renovate (push) Successful in 49s
test-build / build (push) Successful in 1m54s
2026-02-10 21:53:32 -06:00
3f5682f80c feat: release 2.6.0 2026-02-10 21:52:57 -06:00
ae84560ddd Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.12.4' (#331) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m9s
test-build / build (push) Successful in 1m48s
2026-02-11 03:47:31 +00:00
1f7253d954 chore(deps): update dependency @eslint-react/eslint-plugin to v2.12.4
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m53s
2026-02-11 03:47:23 +00:00
b6dfc738f1 feat: add weather widget
All checks were successful
renovate / renovate (push) Successful in 1m3s
test-build / build (push) Successful in 1m47s
2026-02-10 21:42:04 -06:00
63cbcdf39b feat: improve logos and clickability of cards on about and apps
All checks were successful
renovate / renovate (push) Successful in 46s
test-build / build (push) Successful in 1m8s
2026-02-10 18:02:12 -06:00
10c4f9c768 chore(deps): update deps
All checks were successful
test-build / build (push) Successful in 1m6s
release-image-harbor / build (push) Successful in 1m16s
release-image-harbor / release (push) Successful in 7m28s
release-image-gitea / build (push) Successful in 1m1s
release-image-gitea / release (push) Successful in 2m37s
renovate / renovate (push) Successful in 1m8s
2026-02-09 22:25:54 -06:00
880bafd41e feat: release 2.5.0 2026-02-09 22:24:36 -06:00
3ebc36174b Merge pull request 'chore(deps): update dependency typescript-eslint to v8.55.0' (#329) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 57s
test-build / build (push) Has been cancelled
Reviewed-on: #329
2026-02-10 04:24:19 +00:00
0abd1a2465 Merge pull request 'chore(deps): update dependency motion to v12.34.0' (#328) from renovate/motion-12.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #328
2026-02-10 04:24:06 +00:00
f2b27a01bf chore(deps): update dependency typescript-eslint to v8.55.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m22s
2026-02-10 04:21:50 +00:00
503cb401fc chore(deps): update dependency motion to v12.34.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 2m20s
2026-02-10 04:21:11 +00:00
a45a4d7dd7 feat: remove text-justify from content
All checks were successful
renovate / renovate (push) Successful in 55s
test-build / build (push) Successful in 1m32s
2026-02-09 22:12:28 -06:00
6d3f3a49ab fix: padding, margin, and width issues
All checks were successful
renovate / renovate (push) Successful in 1m3s
test-build / build (push) Successful in 1m31s
2026-02-09 22:08:35 -06:00
197ad63ada feat: move directus to local endpoint
All checks were successful
test-build / build (push) Successful in 1m26s
renovate / renovate (push) Successful in 1m40s
2026-02-09 17:07:11 -06:00
4c4421c8a8 fix: fix lint error
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 1m12s
release-image-harbor / build (push) Successful in 58s
release-image-gitea / build (push) Successful in 1m20s
release-image-gitea / release (push) Successful in 2m53s
release-image-harbor / release (push) Successful in 3m15s
2026-02-08 23:15:40 -06:00
d0ff16c8dc feat: release 2.4.0 2026-02-08 23:11:20 -06:00
9678b3c718 feat: add applications page
Some checks failed
test-build / build (push) Failing after 43s
renovate / renovate (push) Successful in 1m34s
2026-02-08 23:10:40 -06:00
7fafa5c4cf feat: update features 2026-02-08 17:15:43 -06:00
a909743feb Merge pull request 'chore(deps): update dependency eslint to v10' (#323) from renovate/major-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m12s
renovate / renovate (push) Successful in 1m56s
Reviewed-on: #323
2026-02-08 22:12:30 +00:00
f116173cb8 chore(deps): update dependency eslint to v10
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m18s
2026-02-08 21:04:30 +00:00
ce62de8883 Merge pull request 'chore(deps): update dependency eslint-plugin-format to v1.4.0' (#326) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m22s
renovate / renovate (push) Successful in 1m39s
Reviewed-on: #326
2026-02-08 21:02:57 +00:00
94f2779463 chore(deps): update dependency eslint-plugin-format to v1.4.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m57s
2026-02-08 20:58:23 +00:00
ed3cf80921 Merge pull request 'chore(deps): update dependency @iconify-json/simple-icons to v1.2.70' (#327) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m49s
test-build / build (push) Successful in 2m5s
2026-02-08 20:57:00 +00:00
63aa6bfdbc chore(deps): update dependency @iconify-json/simple-icons to v1.2.70
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m25s
2026-02-08 20:56:47 +00:00
4343124c3f Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.12.2' (#325) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #325
2026-02-08 20:55:25 +00:00
a48063a694 chore(deps): update dependency @eslint-react/eslint-plugin to v2.12.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m31s
2026-02-08 20:39:47 +00:00
e476efb96b feat: use latest alpine
All checks were successful
test-build / build (push) Successful in 1m41s
renovate / renovate (push) Successful in 3m23s
2026-02-08 14:38:05 -06:00
a99201138e Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.11.2' (#324) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 2m15s
test-build / build (push) Successful in 3m14s
2026-02-08 00:02:47 +00:00
9ef86e71dc chore(deps): update dependency @eslint-react/eslint-plugin to v2.11.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m40s
2026-02-08 00:02:23 +00:00
5cd59cd1ff Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.11.0' (#321) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 3m28s
Reviewed-on: #321
2026-02-07 00:31:33 +00:00
d5cf6fe130 chore(deps): update dependency @eslint-react/eslint-plugin to v2.11.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m0s
2026-02-07 00:28:07 +00:00
91136e2e54 Merge pull request 'chore(deps): update dependency @directus/sdk to v21.1.0' (#320) from renovate/directus-sdk-21.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m1s
test-build / build (push) Successful in 1m16s
Reviewed-on: #320
2026-02-07 00:27:00 +00:00
7b915cf021 chore(deps): update dependency @directus/sdk to v21.1.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2026-02-07 00:19:11 +00:00
807b8dd9b9 Merge pull request 'chore(deps): update dependency motion to v12.33.0' (#322) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 2m20s
renovate / renovate (push) Successful in 2m39s
Reviewed-on: #322
2026-02-07 00:17:06 +00:00
76c6933682 chore(deps): update dependency motion to v12.33.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m6s
2026-02-07 00:10:24 +00:00
bd34eb6f75 Merge pull request 'chore(deps): update dependency @types/react to v19.2.13' (#319) from renovate/react-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 2m4s
test-build / build (push) Successful in 3m5s
2026-02-07 00:02:58 +00:00
c8d9def6dc chore(deps): update dependency @types/react to v19.2.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m3s
2026-02-07 00:02:40 +00:00
5fb2ff16c6 Merge pull request 'chore(deps): update dependency @types/react to v19.2.11' (#318) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m44s
renovate / renovate (push) Successful in 4m59s
2026-02-05 00:06:50 +00:00
9a86ea4053 chore(deps): update dependency @types/react to v19.2.11
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 2m9s
2026-02-05 00:06:24 +00:00
49969e27b0 feat: release 2.3.2
All checks were successful
test-build / build (push) Successful in 1m47s
release-image-gitea / build (push) Successful in 1m37s
release-image-harbor / build (push) Successful in 1m42s
release-image-gitea / release (push) Successful in 2m31s
release-image-harbor / release (push) Successful in 2m39s
renovate / renovate (push) Successful in 1m12s
2026-02-03 21:26:32 -06:00
bf73905658 feat: release 2.3.0
All checks were successful
test-build / build (push) Successful in 1m20s
renovate / renovate (push) Successful in 1m23s
release-image-gitea / build (push) Successful in 1m59s
release-image-harbor / build (push) Successful in 1m58s
release-image-gitea / release (push) Successful in 2m49s
release-image-harbor / release (push) Successful in 2m54s
2026-02-03 17:34:10 -06:00
56d841a335 feat: better reactive layout for small screen sizes 2026-02-03 17:32:38 -06:00
95432d9059 feat: add rounded option to hero component and use it for about page 2026-02-03 16:56:03 -06:00
c2bf64c6cc fix: remove description 2026-02-03 16:55:38 -06:00
1f3fed93a1 feat: reorganize blog layout 2026-02-03 16:42:17 -06:00
754f6a22f0 feat: remove hardcoded descriptions 2026-02-03 16:18:33 -06:00
4203b63893 feat: remove mdx 2026-02-03 16:16:29 -06:00
4d7886b93c fix: clean up comments 2026-02-03 16:07:45 -06:00
c7d3ca7252 feat: remove hardcoded descriptions 2026-02-03 16:06:31 -06:00
a0f83c874c fix: add comments 2026-02-03 16:00:14 -06:00
22860c4714 feat: add docs link to footer 2026-02-03 15:58:45 -06:00
9b8a7077a7 chore(deps): update deps 2026-02-03 15:56:55 -06:00
8bfc744bdb chore: update README 2026-02-03 15:56:45 -06:00
d386afa15e Merge pull request 'chore(deps): update dependency motion to v12.30.0' (#317) from renovate/motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Successful in 2m18s
Reviewed-on: #317
2026-02-03 00:17:38 +00:00
3fe324d4c2 Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.9.3' (#316) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Successful in 1m58s
test-build / build (push) Has been cancelled
Reviewed-on: #316
2026-02-03 00:15:11 +00:00
a02d417c83 chore(deps): update dependency motion to v12.30.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 3m18s
2026-02-03 00:09:13 +00:00
0d53376c80 chore(deps): update dependency @eslint-react/eslint-plugin to v2.9.3
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 3m11s
2026-02-03 00:08:35 +00:00
a5abfe0d1c Merge pull request 'chore(deps): update dependency eslint-plugin-react-refresh to ^0.5.0' (#315) from renovate/eslint-plugin-react-refresh-0.x into main
All checks were successful
test-build / build (push) Successful in 1m46s
renovate / renovate (push) Successful in 2m34s
Reviewed-on: #315
2026-02-03 00:07:00 +00:00
3fcf9a0703 chore(deps): update dependency eslint-plugin-react-refresh to ^0.5.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m38s
2026-02-03 00:04:06 +00:00
00b63a5bea revert: release 2.2.5
All checks were successful
test-build / build (push) Successful in 2m29s
release-image-harbor / build (push) Successful in 1m23s
release-image-gitea / build (push) Successful in 2m39s
release-image-gitea / release (push) Successful in 5m45s
release-image-harbor / release (push) Successful in 7m49s
renovate / renovate (push) Successful in 4m11s
2026-02-01 21:50:36 -06:00
d9860106b1 chore(deps): update pnpm 2026-02-01 21:49:52 -06:00
83940a28ab Merge pull request 'chore(deps): update dependency shiki to v3.22.0' (#314) from renovate/shiki-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 50s
test-build / build (push) Has been cancelled
Reviewed-on: #314
2026-02-02 03:48:48 +00:00
4baa2bed51 chore(deps): update dependency shiki to v3.22.0
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Failing after 1m16s
2026-02-01 00:02:59 +00:00
19a9588919 Merge pull request 'chore(deps): update dependency preline to v4.0.1' (#313) from renovate/preline-4.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 4m47s
renovate / renovate (push) Successful in 3m6s
2026-01-31 00:02:07 +00:00
3c8d3992cf chore(deps): update dependency preline to v4.0.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m51s
2026-01-31 00:01:39 +00:00
fb8f642c52 fix: update lock
All checks were successful
renovate / renovate (push) Successful in 2m14s
test-build / build (push) Successful in 2m16s
release-image-harbor / build (push) Successful in 1m36s
release-image-gitea / build (push) Successful in 3m47s
release-image-harbor / release (push) Successful in 3m25s
release-image-gitea / release (push) Successful in 3m15s
2026-01-30 17:59:51 -06:00
fde397386c revert: release 2.2.4
Some checks failed
test-build / build (push) Failing after 24s
renovate / renovate (push) Has been cancelled
2026-01-30 17:58:08 -06:00
b7f76c5847 feat: add shiki to markdown rendering for code highlighting 2026-01-30 17:56:57 -06:00
b3bb769c47 revert: release 2.2.3
All checks were successful
renovate / renovate (push) Successful in 1m12s
release-image-harbor / build (push) Successful in 1m50s
test-build / build (push) Successful in 2m19s
release-image-gitea / build (push) Successful in 2m15s
release-image-gitea / release (push) Successful in 3m1s
release-image-harbor / release (push) Successful in 7m1s
2026-01-29 19:09:10 -06:00
f34f4b2532 revert: release 2.2.2
All checks were successful
release-image-gitea / build (push) Successful in 1m38s
test-build / build (push) Successful in 2m6s
release-image-harbor / build (push) Successful in 3m43s
release-image-gitea / release (push) Successful in 2m53s
release-image-harbor / release (push) Successful in 3m22s
renovate / renovate (push) Successful in 2m43s
2026-01-29 17:40:07 -06:00
94f5082729 chore(deps): update dependencies, preline to v4 2026-01-29 17:38:23 -06:00
5e9765f4d7 Merge pull request 'chore(deps): update dependency astro to v5.16.16' (#311) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m57s
renovate / renovate (push) Successful in 3m26s
2026-01-29 18:15:46 +00:00
ac4bc16913 chore(deps): update dependency astro to v5.16.16
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m2s
2026-01-29 18:15:23 +00:00
daaca66f42 ci: update renovate image
Some checks failed
test-build / build (push) Successful in 2m21s
renovate / renovate (push) Has been cancelled
2026-01-29 12:12:43 -06:00
6fb7846d23 Merge pull request 'chore(deps): update dependency @types/react to v19.2.10' (#310) from renovate/react-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 50s
test-build / build (push) Successful in 1m50s
2026-01-29 00:03:43 +00:00
167491fe8d chore(deps): update dependency @types/react to v19.2.10
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m31s
2026-01-29 00:03:21 +00:00
1cda8fac20 Merge pull request 'chore(deps): update dependency typescript-eslint to v8.54.0' (#309) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m25s
renovate / renovate (push) Successful in 3m13s
Reviewed-on: #309
2026-01-28 01:24:02 +00:00
dbf7ae54a4 Merge pull request 'chore(deps): update react monorepo to v19.2.4' (#308) from renovate/react-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #308
2026-01-28 01:23:41 +00:00
a857b64029 chore(deps): update dependency typescript-eslint to v8.54.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 4m28s
2026-01-28 00:11:56 +00:00
6b867ec092 chore(deps): update react monorepo to v19.2.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m26s
2026-01-28 00:10:45 +00:00
3e24f3bb4f Merge pull request 'chore(deps): update dependency motion to v12.29.2' (#307) from renovate/motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 4m26s
test-build / build (push) Successful in 4m7s
2026-01-28 00:04:56 +00:00
0c02c71693 chore(deps): update dependency motion to v12.29.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 5m4s
2026-01-28 00:04:29 +00:00
025a5b38aa Merge pull request 'chore(deps): update dependency @iconify-json/simple-icons to v1.2.68' (#306) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-28 00:04:00 +00:00
cdaa3af76c chore(deps): update dependency @iconify-json/simple-icons to v1.2.68
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 5m10s
2026-01-28 00:03:38 +00:00
e87c89afac Merge pull request 'chore(deps): update dependency @eslint-react/eslint-plugin to v2.7.4' (#305) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 5m0s
renovate / renovate (push) Successful in 7m18s
2026-01-27 00:04:57 +00:00
a00e188f86 chore(deps): update dependency @eslint-react/eslint-plugin to v2.7.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 5m36s
2026-01-27 00:04:18 +00:00
bc5f023883 ci: release 2.2.1
All checks were successful
test-build / build (push) Successful in 1m12s
release-image-gitea / build (push) Successful in 1m13s
release-image-harbor / build (push) Successful in 5m38s
release-image-gitea / release (push) Successful in 7m39s
release-image-harbor / release (push) Successful in 5m34s
renovate / renovate (push) Successful in 5m4s
2026-01-23 16:45:22 -06:00
5e272108d4 ci: fix names
Some checks failed
renovate / renovate (push) Successful in 27s
test-build / build (push) Has been cancelled
2026-01-23 16:41:25 -06:00
babf0d40cd ci: split release workflows
Some checks failed
renovate / renovate (push) Successful in 30s
test-build / build (push) Has been cancelled
2026-01-23 16:40:02 -06:00
3925f35c47 ci: release 2.2.0
All checks were successful
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 2m3s
2026-01-23 16:34:49 -06:00
3f2c6da690 build: merge lock changes 2026-01-23 16:34:42 -06:00
01ee8fac98 fix: create new Date to compare posts 2026-01-23 16:33:29 -06:00
c8306e414b chore(deps): upgrade node 2026-01-23 16:33:29 -06:00
42d3891c6b Merge pull request 'Update dependency motion to v12.29.0' (#304) from renovate/motion-12.x-lockfile into main
Some checks failed
renovate / renovate (push) Successful in 49s
test-build / build (push) Failing after 55s
Reviewed-on: #304
2026-01-23 22:18:10 +00:00
21c08d6853 Update dependency motion to v12.29.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m25s
2026-01-23 22:13:43 +00:00
6aa62ad76d Merge pull request 'Update dependency astro to v5.16.14' (#303) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 5m29s
test-build / build (push) Successful in 5m45s
2026-01-23 22:08:50 +00:00
a95908736b Update dependency astro to v5.16.14
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m46s
2026-01-23 22:08:32 +00:00
6ddec3a558 Merge pull request 'Update dependency motion to v12.28.1' (#302) from renovate/motion-12.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #302
2026-01-23 22:03:57 +00:00
24a20c4a7e Update dependency motion to v12.28.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 5m20s
2026-01-23 00:06:23 +00:00
ecfc907744 Merge pull request 'Update dependency prettier to v3.8.1' (#301) from renovate/prettier-3.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 2m26s
test-build / build (push) Successful in 2m33s
2026-01-23 00:03:46 +00:00
44d4837b8e Update dependency prettier to v3.8.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m18s
2026-01-23 00:03:15 +00:00
6b46e943e3 Merge pull request 'Update dependency astro to v5.16.12' (#300) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-23 00:02:54 +00:00
606424972a Update dependency astro to v5.16.12
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m2s
2026-01-23 00:02:18 +00:00
d2a8c007e5 Merge pull request 'Update dependency motion to v12.27.5' (#299) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m57s
renovate / renovate (push) Successful in 4m22s
2026-01-22 00:03:02 +00:00
3ac2a5ea1f Update dependency motion to v12.27.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m57s
2026-01-22 00:02:37 +00:00
7ef13d8437 Merge pull request 'Update dependency @types/react to v19.2.9' (#298) from renovate/react-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-22 00:02:16 +00:00
4ed5ab769c Update dependency @types/react to v19.2.9
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m59s
2026-01-22 00:01:54 +00:00
ec31419b81 Merge pull request 'Update dependency @directus/sdk to v21' (#290) from renovate/directus-sdk-21.x into main
All checks were successful
test-build / build (push) Successful in 2m52s
renovate / renovate (push) Successful in 2m41s
Reviewed-on: #290
2026-01-20 21:06:29 +00:00
083a5e77da Update dependency @directus/sdk to v21
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m24s
2026-01-20 21:00:00 +00:00
4c065f99ab Merge pull request 'Update astro monorepo' (#292) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m47s
test-build / build (push) Successful in 3m22s
Reviewed-on: #292
2026-01-20 20:58:25 +00:00
f6cccca140 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 5m56s
2026-01-20 20:51:20 +00:00
eedddca9a1 Merge pull request 'Update dependency motion to v12.27.1' (#295) from renovate/motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 2m31s
test-build / build (push) Successful in 4m53s
Reviewed-on: #295
2026-01-20 20:49:47 +00:00
556647977f Update dependency motion to v12.27.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m40s
2026-01-20 17:56:03 +00:00
d1f189818f Merge pull request 'Update dependency typescript-eslint to v8.53.1' (#297) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m10s
renovate / renovate (push) Successful in 3m30s
2026-01-20 17:51:54 +00:00
5c461d64e2 Update dependency typescript-eslint to v8.53.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m28s
2026-01-20 17:51:43 +00:00
6371705b9c Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.67' (#296) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-20 17:51:11 +00:00
92aa4a614c Update dependency @iconify-json/simple-icons to v1.2.67
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m46s
2026-01-20 17:50:54 +00:00
6e20d4b8c8 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.7.2' (#294) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 3m18s
renovate / renovate (push) Successful in 4m54s
2026-01-20 00:04:37 +00:00
f187c341f6 Update dependency @eslint-react/eslint-plugin to v2.7.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 4m0s
2026-01-20 00:04:12 +00:00
16cf8ae2d1 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.7.1' (#293) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m52s
renovate / renovate (push) Successful in 5m35s
2026-01-18 00:03:10 +00:00
d07b8ab73e Update dependency @eslint-react/eslint-plugin to v2.7.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m2s
2026-01-18 00:02:52 +00:00
52ba1108c0 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.7.0' (#291) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 2m18s
renovate / renovate (push) Successful in 2m54s
Reviewed-on: #291
2026-01-17 01:08:30 +00:00
54601905da Update dependency @eslint-react/eslint-plugin to v2.7.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m5s
2026-01-17 00:02:52 +00:00
88713b9738 Merge pull request 'Update dependency prettier to v3.8.0' (#289) from renovate/prettier-3.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m40s
renovate / renovate (push) Successful in 3m9s
Reviewed-on: #289
2026-01-16 00:14:54 +00:00
83817cc1b6 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.6.4' (#288) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #288
2026-01-16 00:14:06 +00:00
0ef1a97f51 Update dependency prettier to v3.8.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m30s
2026-01-16 00:07:01 +00:00
a84e7a1675 Update dependency @eslint-react/eslint-plugin to v2.6.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m48s
2026-01-16 00:06:16 +00:00
fcffbffc02 Merge pull request 'Update dependency eslint-plugin-format to v1.3.1' (#287) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m52s
renovate / renovate (push) Successful in 3m22s
2026-01-16 00:02:34 +00:00
a2af3015a2 Update dependency eslint-plugin-format to v1.3.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 4m0s
2026-01-16 00:02:05 +00:00
e64e72df0e Merge pull request 'Update dependency eslint-plugin-format to v1.3.0' (#284) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m25s
renovate / renovate (push) Successful in 4m18s
Reviewed-on: #284
2026-01-14 21:55:45 +00:00
17dbf719a5 Update dependency eslint-plugin-format to v1.3.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m17s
2026-01-14 21:37:54 +00:00
ecb3a2be8b Merge pull request 'Update dependency motion to v12.26.2' (#283) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 3m9s
2026-01-14 21:35:18 +00:00
2e0fbff172 Update dependency motion to v12.26.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m11s
2026-01-14 21:35:07 +00:00
cd4bbdea50 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.7' (#282) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-14 21:33:11 +00:00
98608fba4d Update dependency @eslint-react/eslint-plugin to v2.5.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m47s
2026-01-14 21:32:48 +00:00
859d892ba9 Merge pull request 'Update dependency motion to v12.26.1' (#280) from renovate/motion-12.x-lockfile into main
Some checks failed
test-build / build (push) Successful in 1m22s
renovate / renovate (push) Has been cancelled
Reviewed-on: #280
2026-01-14 21:29:46 +00:00
797a12f1b6 Merge pull request 'Update dependency typescript-eslint to v8.53.0' (#281) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #281
2026-01-14 21:29:27 +00:00
2ef4429901 Update dependency typescript-eslint to v8.53.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 4m15s
2026-01-14 00:06:23 +00:00
f071535034 Update dependency motion to v12.26.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 4m15s
2026-01-14 00:05:48 +00:00
119c570771 Merge pull request 'Update dependency astro to v5.16.9' (#279) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 2m28s
test-build / build (push) Successful in 3m33s
2026-01-14 00:02:35 +00:00
c474ed52c1 Update dependency astro to v5.16.9
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m57s
2026-01-14 00:02:03 +00:00
4b24da83cb Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.66' (#278) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 2m9s
renovate / renovate (push) Successful in 3m43s
2026-01-13 00:04:08 +00:00
892a333e0e Update dependency @iconify-json/simple-icons to v1.2.66
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m41s
2026-01-13 00:03:53 +00:00
ab4630fdd1 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.5' (#277) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-13 00:03:27 +00:00
c318eb9fbb Update dependency @eslint-react/eslint-plugin to v2.5.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m43s
2026-01-13 00:03:09 +00:00
310d9779fe Merge pull request 'Update dependency @types/react to v19.2.8' (#276) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m40s
renovate / renovate (push) Successful in 3m54s
2026-01-12 00:02:50 +00:00
63134978b9 Update dependency @types/react to v19.2.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m50s
2026-01-12 00:02:29 +00:00
099c4fb251 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.4' (#275) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-12 00:02:25 +00:00
fa4f31b933 Update dependency @eslint-react/eslint-plugin to v2.5.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m49s
2026-01-12 00:01:48 +00:00
835ba15cc7 Merge pull request 'Update dependency motion to v12.25.0' (#274) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m44s
renovate / renovate (push) Successful in 2m30s
Reviewed-on: #274
2026-01-11 03:35:34 +00:00
eb74233bfb Merge pull request 'Update dependency astro to v5.16.8' (#273) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #273
2026-01-11 03:35:21 +00:00
1bb1b0571e Update dependency motion to v12.25.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m49s
2026-01-11 00:08:18 +00:00
f569a12edb Update dependency astro to v5.16.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m34s
2026-01-11 00:07:21 +00:00
3caee230f2 Merge pull request 'Update dependency @playform/compress to v0.2.1' (#272) from renovate/playform-compress-0.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 3m37s
test-build / build (push) Successful in 3m43s
2026-01-11 00:03:15 +00:00
282d909cfd Update dependency @playform/compress to v0.2.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m51s
2026-01-11 00:02:45 +00:00
7548131847 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.3' (#271) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-11 00:02:33 +00:00
ddf42a2d09 Update dependency @eslint-react/eslint-plugin to v2.5.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m42s
2026-01-11 00:02:06 +00:00
f88195b97d Merge pull request 'Update dependency motion to v12.24.12' (#270) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m24s
renovate / renovate (push) Successful in 4m28s
2026-01-10 00:02:20 +00:00
daf5acc335 Update dependency motion to v12.24.12
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m47s
2026-01-10 00:01:55 +00:00
b2246f6858 Merge pull request 'Update dependency shiki to v3.21.0' (#269) from renovate/shiki-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m38s
renovate / renovate (push) Successful in 2m1s
Reviewed-on: #269
2026-01-09 02:38:53 +00:00
e424616e12 Update dependency shiki to v3.21.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m6s
2026-01-09 00:06:17 +00:00
da20872a1e Merge pull request 'Update dependency motion to v12.24.10' (#268) from renovate/motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m38s
test-build / build (push) Successful in 1m42s
2026-01-09 00:03:33 +00:00
b43dff833f Update dependency motion to v12.24.10
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m54s
2026-01-09 00:02:51 +00:00
9248b76d8e Merge pull request 'Update astro monorepo' (#267) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-01-09 00:02:36 +00:00
019413a325 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m20s
2026-01-09 00:01:43 +00:00
d94e490846 Merge pull request 'Update dependency motion to v12.24.7' (#266) from renovate/motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 2m24s
renovate / renovate (push) Successful in 3m33s
2026-01-08 00:02:26 +00:00
0d6e21618b Update dependency motion to v12.24.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m30s
2026-01-08 00:02:06 +00:00
0b03499f81 Merge pull request 'Update dependency eslint-plugin-format to v1.2.0' (#265) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m32s
renovate / renovate (push) Successful in 2m2s
Reviewed-on: #265
2026-01-07 02:02:45 +00:00
f9a62cad1c Update dependency eslint-plugin-format to v1.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m16s
2026-01-07 01:49:24 +00:00
2014d0b87a Merge pull request 'Update dependency typescript-eslint to v8.52.0' (#264) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m41s
renovate / renovate (push) Successful in 1m56s
Reviewed-on: #264
2026-01-07 01:47:47 +00:00
24f237b795 Merge pull request 'Update dependency motion to v12.24.0' (#263) from renovate/motion-12.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #263
2026-01-07 01:47:10 +00:00
1c985bca47 Update dependency typescript-eslint to v8.52.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m4s
2026-01-07 00:06:27 +00:00
291d436c1f Update dependency motion to v12.24.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m47s
2026-01-07 00:06:24 +00:00
08c8cb15ca Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.65' (#262) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 2m18s
test-build / build (push) Successful in 3m28s
2026-01-07 00:04:46 +00:00
d2b01a7bd3 Update dependency @iconify-json/simple-icons to v1.2.65
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m35s
2026-01-07 00:04:17 +00:00
aa75da2ecb Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.1' (#261) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 3m33s
renovate / renovate (push) Successful in 6m46s
2026-01-06 00:02:58 +00:00
0093b92b23 Update dependency @eslint-react/eslint-plugin to v2.5.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m49s
2026-01-06 00:02:17 +00:00
6e0253f849 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.5.0' (#260) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 17m35s
renovate / renovate (push) Successful in 2m28s
Reviewed-on: #260
2026-01-02 01:55:48 +00:00
06ada51c0f Merge pull request 'Update dependency typescript-eslint to v8.51.0' (#259) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #259
2026-01-02 01:55:34 +00:00
1cf72e72b5 Update dependency @eslint-react/eslint-plugin to v2.5.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m36s
2026-01-02 00:05:58 +00:00
181d4b56ac Update dependency typescript-eslint to v8.51.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m2s
2025-12-31 00:01:55 +00:00
c5870eba4a bump version
All checks were successful
test-build / build (push) Successful in 1m14s
release-image / release (push) Successful in 2m59s
renovate / renovate (push) Successful in 5m44s
2025-12-29 22:04:00 -06:00
8242f153d8 update lock
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-12-29 22:03:31 -06:00
117d2567e5 bump deps
Some checks failed
renovate / renovate (push) Successful in 39s
test-build / build (push) Successful in 2m8s
release-image / release (push) Failing after 4m1s
2025-12-29 21:56:50 -06:00
a400c3187c Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.4.0' (#258) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 49s
renovate / renovate (push) Successful in 1m21s
Reviewed-on: #258
2025-12-25 18:09:46 +00:00
15fb351504 Update dependency @eslint-react/eslint-plugin to v2.4.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-12-25 00:01:14 +00:00
fb492a1028 Merge pull request 'Update dependency typescript-eslint to v8.50.1' (#257) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m37s
renovate / renovate (push) Successful in 1m20s
2025-12-24 00:02:02 +00:00
c427c5ddb7 Update dependency typescript-eslint to v8.50.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m20s
2025-12-24 00:01:47 +00:00
9a686eb9f5 Merge pull request 'Update dependency @tailwindcss/forms to v0.5.11' (#256) from renovate/tailwindcss-forms-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m32s
renovate / renovate (push) Successful in 1m51s
2025-12-19 00:02:22 +00:00
2e0e52bdf9 Update dependency @tailwindcss/forms to v0.5.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m12s
2025-12-19 00:02:00 +00:00
f7a2bb1205 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.26' (#255) from renovate/eslint-plugin-react-refresh-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 1m33s
2025-12-18 00:02:51 +00:00
90b00872ee Update dependency eslint-plugin-react-refresh to v0.4.26
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m31s
2025-12-18 00:02:39 +00:00
7dd5778c89 Merge pull request 'Update dependency astro to v5.16.6' (#254) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-18 00:02:33 +00:00
a062974f45 Update dependency astro to v5.16.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m7s
2025-12-18 00:01:58 +00:00
a7a14dfce5 Merge pull request 'Update dependency typescript-eslint to v8.50.0' (#253) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m14s
renovate / renovate (push) Successful in 2m3s
Reviewed-on: #253
2025-12-17 03:16:37 +00:00
51cdbd8b0b Update dependency typescript-eslint to v8.50.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-12-17 03:14:07 +00:00
f0e52d2f20 Merge pull request 'Update dependency shiki to v3.20.0' (#250) from renovate/shiki-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m18s
test-build / build (push) Successful in 1m23s
Reviewed-on: #250
2025-12-17 03:13:06 +00:00
c79631cf7d Update dependency shiki to v3.20.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m2s
2025-12-16 00:04:05 +00:00
6ef9380126 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.25' (#252) from renovate/eslint-plugin-react-refresh-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m50s
renovate / renovate (push) Successful in 2m26s
2025-12-16 00:02:57 +00:00
acea361723 Update dependency eslint-plugin-react-refresh to v0.4.25
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m46s
2025-12-16 00:02:38 +00:00
c4c33ac9ad Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.63' (#251) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-16 00:02:24 +00:00
1d51d01be7 Update dependency @iconify-json/simple-icons to v1.2.63
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m1s
2025-12-16 00:02:10 +00:00
e9b783a83c Merge pull request 'Update dependency eslint to v9.39.2' (#249) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m27s
renovate / renovate (push) Successful in 2m25s
2025-12-14 00:01:57 +00:00
d20c93fb8d Update dependency eslint to v9.39.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m26s
2025-12-14 00:01:32 +00:00
8070cb6636 Merge pull request 'Update tailwindcss monorepo to v4.1.18' (#248) from renovate/tailwindcss-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m8s
renovate / renovate (push) Successful in 1m52s
2025-12-13 00:03:18 +00:00
3f56f7ed2a Update tailwindcss monorepo to v4.1.18
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-12-13 00:03:03 +00:00
825736458d Merge pull request 'Update react monorepo to v19.2.3' (#247) from renovate/react-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-12-13 00:02:44 +00:00
6016ff4bf0 Update react monorepo to v19.2.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m31s
2025-12-13 00:02:24 +00:00
9388a90a9d release 2.1.2
All checks were successful
test-build / build (push) Successful in 1m13s
release-image / release (push) Successful in 5m6s
renovate / renovate (push) Successful in 2m18s
2025-12-10 22:10:07 -06:00
9b0dc6f3ca update dependencies 2025-12-10 22:08:58 -06:00
5203aeb96e Merge pull request 'Update dependency @directus/sdk to v20.3.0' (#244) from renovate/directus-sdk-20.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 42s
test-build / build (push) Successful in 1m0s
Reviewed-on: #244
2025-12-11 04:05:11 +00:00
94c2e8ded8 Update dependency @directus/sdk to v20.3.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m30s
2025-12-11 00:06:27 +00:00
fcc0b9fea4 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.13' (#243) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m15s
renovate / renovate (push) Successful in 2m2s
2025-12-11 00:04:18 +00:00
d0a1e6a91a Update dependency @eslint-react/eslint-plugin to v2.3.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m32s
2025-12-11 00:03:40 +00:00
62c1996e17 Merge pull request 'Update dependency typescript-eslint to v8.49.0' (#242) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m31s
renovate / renovate (push) Successful in 4m37s
Reviewed-on: #242
2025-12-10 00:22:04 +00:00
e3aca00d75 Update dependency typescript-eslint to v8.49.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
2025-12-10 00:03:50 +00:00
fe2bf96b33 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.62' (#241) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m16s
test-build / build (push) Successful in 1m38s
2025-12-10 00:02:39 +00:00
8ccc69fe83 Update dependency @iconify-json/simple-icons to v1.2.62
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m26s
2025-12-10 00:02:25 +00:00
5d5464426f Merge pull request 'Update dependency eslint-plugin-format to v1.1.0' (#240) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 2m32s
Reviewed-on: #240
2025-12-05 21:12:47 +00:00
d4be2547ec Update dependency eslint-plugin-format to v1.1.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m27s
2025-12-05 21:07:47 +00:00
9fbf9b0864 Merge pull request 'Update dependency shiki to v3.19.0' (#235) from renovate/shiki-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m21s
test-build / build (push) Successful in 1m24s
Reviewed-on: #235
2025-12-05 21:06:45 +00:00
2c5ab270a4 Update dependency shiki to v3.19.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m15s
2025-12-05 00:04:52 +00:00
0b83f7a573 Merge pull request 'Update react monorepo to v19.2.1' (#239) from renovate/react-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m4s
test-build / build (push) Successful in 1m23s
2025-12-05 00:04:14 +00:00
a902c23821 Update react monorepo to v19.2.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m36s
2025-12-05 00:03:42 +00:00
e8a2000b4d Merge pull request 'Update dependency prettier to v3.7.4' (#238) from renovate/prettier-3.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-05 00:03:33 +00:00
c47976bd94 Update dependency prettier to v3.7.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m22s
2025-12-05 00:03:15 +00:00
3aba851dca Merge pull request 'Update dependency astro to v5.16.4' (#237) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-05 00:02:56 +00:00
7d8441c126 Update dependency astro to v5.16.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m36s
2025-12-05 00:02:50 +00:00
6a1af4515f Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.12' (#236) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-05 00:02:33 +00:00
9995b84cc8 Update dependency @eslint-react/eslint-plugin to v2.3.12
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m37s
2025-12-05 00:02:18 +00:00
a9d0416576 Merge pull request 'Update dependency typescript-eslint to v8.48.1' (#234) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m57s
renovate / renovate (push) Successful in 4m53s
2025-12-04 00:02:34 +00:00
fb89c5f501 Update dependency typescript-eslint to v8.48.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m24s
2025-12-04 00:02:20 +00:00
9a76654ee1 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.11' (#233) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-12-04 00:02:08 +00:00
a5d6080b31 Update dependency @eslint-react/eslint-plugin to v2.3.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m57s
2025-12-04 00:01:53 +00:00
d9339214bc update image
All checks were successful
test-build / build (push) Successful in 2m16s
release-image / release (push) Successful in 10m53s
renovate / renovate (push) Successful in 2m37s
2025-12-01 14:57:49 -06:00
e40e60023d update package 2025-12-01 14:56:58 -06:00
baa979d475 Merge pull request 'Update dependency shiki to v3.17.0' (#231) from renovate/shiki-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 1m26s
test-build / build (push) Has been cancelled
Reviewed-on: #231
2025-12-01 20:55:24 +00:00
6d854c04a5 Merge pull request 'Update dependency prettier to v3.7.3' (#230) from renovate/prettier-3.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #230
2025-12-01 20:55:04 +00:00
019c544d57 Merge pull request 'Update dependency typescript-eslint to v8.48.0' (#226) from renovate/typescript-eslint-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #226
2025-12-01 20:54:41 +00:00
2d86be0c8f Merge pull request 'Update Node.js to v24.11.1' (#209) from renovate/docker.io-node-24.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #209
2025-12-01 20:54:15 +00:00
2ac89d8d35 Merge pull request 'Update dependency node to v24.11.1' (#208) from renovate/node-24.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #208
2025-12-01 20:53:45 +00:00
1874cb6dba Update dependency typescript-eslint to v8.48.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-12-01 00:05:06 +00:00
218797577e Update dependency shiki to v3.17.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m46s
2025-12-01 00:04:48 +00:00
96e4670f49 Update dependency prettier to v3.7.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m50s
2025-12-01 00:03:59 +00:00
0fde0d1f8b Update Node.js to v24.11.1
All checks were successful
test-build / build (pull_request) Successful in 1m49s
2025-12-01 00:03:22 +00:00
f87ad542b2 Update dependency node to v24.11.1
All checks were successful
test-build / build (pull_request) Successful in 1m23s
2025-12-01 00:03:16 +00:00
0dc48fa375 Merge pull request 'Update dependency astro to v5.16.3' (#232) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m23s
renovate / renovate (push) Successful in 2m33s
2025-12-01 00:01:54 +00:00
cda1c254b6 Update dependency astro to v5.16.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m38s
2025-12-01 00:01:32 +00:00
5acc6f0ccd Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.9' (#228) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m35s
renovate / renovate (push) Successful in 2m33s
2025-11-30 00:03:02 +00:00
50b78e4d0d Update dependency @eslint-react/eslint-plugin to v2.3.9
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m56s
2025-11-29 00:04:56 +00:00
9f81114134 Merge pull request 'Update dependency astro to v5.16.2' (#229) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m51s
renovate / renovate (push) Successful in 4m28s
2025-11-29 00:03:18 +00:00
4a905f545a Update dependency astro to v5.16.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m3s
2025-11-29 00:03:08 +00:00
29f45afce2 Merge pull request 'Update astro monorepo' (#227) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 2m32s
2025-11-28 00:02:27 +00:00
dacdfd1e1c Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m23s
2025-11-28 00:02:18 +00:00
aea953a0bb Merge pull request 'Update dependency @types/react to v19.2.7' (#225) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m32s
renovate / renovate (push) Successful in 2m56s
2025-11-26 00:02:42 +00:00
c20b9887f7 Update dependency @types/react to v19.2.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-11-26 00:02:21 +00:00
da41ff8939 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.60' (#224) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-26 00:02:08 +00:00
45a51e301b Update dependency @iconify-json/simple-icons to v1.2.60
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m21s
2025-11-26 00:01:49 +00:00
1bd84c77e4 Merge pull request 'Update dependency @directus/sdk to v20.2.0' (#220) from renovate/directus-sdk-20.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 53s
renovate / renovate (push) Successful in 3m5s
Reviewed-on: #220
2025-11-23 03:40:22 +00:00
06f9450593 Update dependency @directus/sdk to v20.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 52s
2025-11-23 03:38:14 +00:00
2d9bfb5873 Merge pull request 'Update astro monorepo' (#222) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m4s
renovate / renovate (push) Successful in 1m29s
Reviewed-on: #222
2025-11-23 03:36:52 +00:00
a90ad7e595 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m23s
2025-11-22 20:56:47 +00:00
464488595c Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.7' (#223) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m19s
renovate / renovate (push) Successful in 1m40s
2025-11-22 20:55:39 +00:00
49ccf8b417 Update dependency @eslint-react/eslint-plugin to v2.3.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-11-22 20:55:31 +00:00
fc58865824 Merge pull request 'Update actions/checkout action to v6' (#221) from renovate/actions-checkout-6.x into main
Some checks failed
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Has been cancelled
Reviewed-on: #221
2025-11-22 20:54:10 +00:00
fd549fd2ab Update actions/checkout action to v6
All checks were successful
test-build / build (pull_request) Successful in 1m8s
2025-11-21 00:04:00 +00:00
59f3aa6992 Merge pull request 'Update dependency @types/react to v19.2.6' (#219) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m10s
renovate / renovate (push) Successful in 1m42s
2025-11-20 00:02:26 +00:00
89ef1e21bf Update dependency @types/react to v19.2.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m28s
2025-11-20 00:02:16 +00:00
20139360d0 Merge pull request 'Update dependency typescript-eslint to v8.47.0' (#218) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m3s
renovate / renovate (push) Successful in 1m30s
Reviewed-on: #218
2025-11-19 02:15:28 +00:00
7c1ac8432d Update dependency typescript-eslint to v8.47.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m12s
2025-11-19 00:05:13 +00:00
56a624272c Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.59' (#217) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m22s
renovate / renovate (push) Successful in 1m55s
2025-11-19 00:02:42 +00:00
39e0a1db54 Update dependency @iconify-json/simple-icons to v1.2.59
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m21s
2025-11-19 00:02:35 +00:00
5b535239c8 Merge pull request 'Update astro monorepo' (#216) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-19 00:02:24 +00:00
70e87b3732 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m3s
2025-11-19 00:02:17 +00:00
6488df5d54 Merge pull request 'Update dependency astro to v5.15.8' (#215) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m56s
renovate / renovate (push) Successful in 1m47s
2025-11-17 00:02:10 +00:00
0dc2ac4afc Update dependency astro to v5.15.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m3s
2025-11-17 00:01:55 +00:00
569b61f6a8 Merge pull request 'Update dependency astro to v5.15.7' (#214) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m19s
renovate / renovate (push) Successful in 1m15s
2025-11-16 00:03:22 +00:00
c602569df7 Update dependency astro to v5.15.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-11-16 00:03:09 +00:00
24c53cbb53 Merge pull request 'Update dependency @types/react to v19.2.5' (#213) from renovate/react-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-16 00:03:04 +00:00
6f4c6177a4 Update dependency @types/react to v19.2.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m15s
2025-11-16 00:02:49 +00:00
826c53174e Merge pull request 'Update dependency astro to v5.15.6' (#212) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 2m36s
2025-11-15 00:06:24 +00:00
2775f0e240 Update dependency astro to v5.15.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 6m19s
2025-11-15 00:05:28 +00:00
e12174c170 Merge pull request 'Update dependency @types/react to v19.2.4' (#211) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 56s
renovate / renovate (push) Successful in 5m27s
2025-11-14 00:02:36 +00:00
5128a60269 Update dependency @types/react to v19.2.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m7s
2025-11-14 00:02:29 +00:00
5e133c4fb9 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.5' (#210) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-14 00:02:20 +00:00
9340faabcd Update dependency @eslint-react/eslint-plugin to v2.3.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m53s
2025-11-14 00:02:07 +00:00
9ee670346f Merge pull request 'Update dependency @types/react to v19.2.3' (#207) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m3s
renovate / renovate (push) Successful in 1m47s
2025-11-13 00:02:39 +00:00
ae236af1e4 Update dependency @types/react to v19.2.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m34s
2025-11-13 00:02:33 +00:00
cccb25f802 Merge pull request 'Update dependency typescript-eslint to v8.46.4' (#206) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 1m9s
2025-11-12 00:02:24 +00:00
aaa37abcd4 Update dependency typescript-eslint to v8.46.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m8s
2025-11-12 00:02:09 +00:00
634506a3a5 better messsaging
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 1m27s
2025-11-10 23:18:01 -06:00
5a62d0f571 add ntfy to build
All checks were successful
renovate / renovate (push) Successful in 30s
test-build / build (push) Successful in 1m18s
2025-11-10 22:49:02 -06:00
aca3566608 update lock
All checks were successful
test-build / build (push) Successful in 49s
release-image / release (push) Successful in 9m0s
renovate / renovate (push) Successful in 53s
2025-11-10 17:04:22 -06:00
e11af62c90 update image to node 24
Some checks failed
renovate / renovate (push) Successful in 41s
test-build / build (push) Has been cancelled
2025-11-10 17:03:29 -06:00
be31df455f Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.58' (#205) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m9s
test-build / build (push) Successful in 2m44s
2025-11-10 22:43:28 +00:00
e0d7032727 Update dependency @iconify-json/simple-icons to v1.2.58
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m15s
2025-11-10 22:43:20 +00:00
e5e809fe45 change to js
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-10 16:42:05 -06:00
6ac7de8892 change to js
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-10 16:41:42 -06:00
d417fe92cd Merge pull request 'Update actions/checkout action to v5' (#168) from renovate/actions-checkout-5.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has started running
Reviewed-on: #168
2025-11-10 22:40:44 +00:00
98f02dbde1 Merge pull request 'Update dependency eslint-plugin-astro to v1.5.0' (#199) from renovate/eslint-plugin-astro-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has started running
Reviewed-on: #199
2025-11-10 22:39:52 +00:00
0222d3d401 Merge pull request 'Update dependency shiki to v3.15.0' (#204) from renovate/shiki-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #204
2025-11-10 22:39:04 +00:00
d6ee4a2698 Merge pull request 'Update actions/setup-node action to v6' (#170) from renovate/actions-setup-node-6.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #170
2025-11-10 22:38:46 +00:00
2929341ad9 Update actions/setup-node action to v6
Some checks failed
test-build / build (pull_request) Failing after 7s
2025-11-10 04:24:57 +00:00
313d8956fb Update actions/checkout action to v5
Some checks failed
test-build / build (pull_request) Failing after 3s
2025-11-10 04:24:47 +00:00
2c5deaa49e Update dependency shiki to v3.15.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m30s
2025-11-10 04:24:42 +00:00
322f297bbe Update dependency eslint-plugin-astro to v1.5.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-11-10 04:24:22 +00:00
a383bdc849 Merge pull request 'Update ghcr.io/renovatebot/renovate Docker tag to v42' (#200) from renovate/ghcr.io-renovatebot-renovate-42.x into main
All checks were successful
test-build / build (push) Successful in 1m33s
renovate / renovate (push) Successful in 2m4s
Reviewed-on: #200
2025-11-10 04:23:05 +00:00
0ffee0c0d9 Update ghcr.io/renovatebot/renovate Docker tag to v42
All checks were successful
test-build / build (pull_request) Successful in 1m32s
2025-11-09 00:03:20 +00:00
2b77fb7263 Merge pull request 'Update tailwindcss monorepo to v4.1.17' (#203) from renovate/tailwindcss-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m50s
renovate / renovate (push) Successful in 1m55s
2025-11-09 00:01:58 +00:00
c53dfedb67 Update tailwindcss monorepo to v4.1.17
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-11-08 00:04:21 +00:00
396cf6febb Merge pull request 'Update dependency sharp to v0.34.5' (#202) from renovate/sharp-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m14s
renovate / renovate (push) Successful in 2m41s
2025-11-08 00:02:53 +00:00
b4900d9516 Update dependency sharp to v0.34.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m13s
2025-11-08 00:02:31 +00:00
bfb0c09bed Merge pull request 'Update astro monorepo' (#201) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-08 00:02:20 +00:00
5ccc58b2ab Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m0s
2025-11-08 00:02:08 +00:00
bfc7dcdfd3 Merge pull request 'Update dependency @directus/sdk to v20.1.1' (#198) from renovate/directus-sdk-20.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m51s
renovate / renovate (push) Successful in 2m53s
2025-11-06 00:03:01 +00:00
31d0ea5631 Update dependency @directus/sdk to v20.1.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m4s
2025-11-06 00:02:56 +00:00
b55e04d896 use ubunutu latest
All checks were successful
test-build / build (push) Successful in 1m41s
renovate / renovate (push) Successful in 2m14s
2025-11-04 16:56:49 -06:00
018ec3a337 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.3.1' (#194) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m20s
test-build / build (push) Successful in 1m34s
Reviewed-on: #194
2025-11-04 22:32:40 +00:00
62cffcec04 Update dependency @eslint-react/eslint-plugin to v2.3.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-11-04 22:26:41 +00:00
c17fe89db2 Merge pull request 'Update dependency eslint to v9.39.1' (#197) from renovate/eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Successful in 2m51s
2025-11-04 22:25:44 +00:00
89aa4d292d Update dependency eslint to v9.39.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m36s
2025-11-04 22:25:24 +00:00
bfa2f030ec Merge pull request 'Update dependency eslint to v9.39.0' (#193) from renovate/eslint-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #193
2025-11-04 22:24:16 +00:00
d3735a0f64 Update dependency eslint to v9.39.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m17s
2025-11-04 18:27:46 +00:00
7da3a53af7 Merge pull request 'Update dependency typescript-eslint to v8.46.3' (#196) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m36s
renovate / renovate (push) Successful in 1m52s
2025-11-04 18:25:14 +00:00
0954558856 Update dependency typescript-eslint to v8.46.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m12s
2025-11-04 18:25:10 +00:00
15af3ee905 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.57' (#195) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
test-build / build (push) Successful in 1m29s
renovate / renovate (push) Has been cancelled
2025-11-04 18:23:12 +00:00
01bfad21b6 Update dependency @iconify-json/simple-icons to v1.2.57
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m56s
2025-11-04 18:23:07 +00:00
ac7ec582a9 use 24 image
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-11-04 12:22:12 -06:00
1754396414 Merge pull request 'Update dependency astro to v5.15.3' (#192) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 55s
renovate / renovate (push) Successful in 1m57s
2025-11-01 00:01:56 +00:00
742ced6ae3 Update dependency astro to v5.15.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m4s
2025-11-01 00:01:44 +00:00
3ffe13043e Merge pull request 'Update Node.js to v22.21.1' (#191) from renovate/docker.io-node-22.x into main
All checks were successful
test-build / build (push) Successful in 1m21s
renovate / renovate (push) Successful in 1m44s
Reviewed-on: #191
2025-10-30 02:33:55 +00:00
fb2f39d7df Merge pull request 'Update dependency node to v22.21.1' (#190) from renovate/node-22.x into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #190
2025-10-30 02:33:48 +00:00
d945682513 Merge pull request 'Update dependency eslint-plugin-astro to v1.4.0' (#188) from renovate/eslint-plugin-astro-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #188
2025-10-30 02:33:41 +00:00
6b46ed04c1 Update dependency eslint-plugin-astro to v1.4.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-10-30 00:03:24 +00:00
b6316a08bc Update Node.js to v22.21.1
All checks were successful
test-build / build (pull_request) Successful in 1m13s
2025-10-30 00:03:08 +00:00
66e8f50d7f Update dependency node to v22.21.1
All checks were successful
test-build / build (pull_request) Successful in 1m21s
2025-10-30 00:02:54 +00:00
b044f16987 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.56' (#187) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 59s
test-build / build (push) Successful in 1m0s
2025-10-30 00:02:34 +00:00
abd14b6828 Merge pull request 'Update astro monorepo' (#189) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-30 00:02:23 +00:00
52be8d9e68 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m44s
2025-10-30 00:02:05 +00:00
2de3dd8965 Update dependency @iconify-json/simple-icons to v1.2.56
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 53s
2025-10-29 00:04:12 +00:00
f29a95ef39 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.2.4' (#186) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 3m13s
2025-10-29 00:03:05 +00:00
e924dbcb55 Update dependency @eslint-react/eslint-plugin to v2.2.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-10-29 00:02:48 +00:00
525c28092b bump node
All checks were successful
test-build / build (push) Successful in 2m27s
renovate / renovate (push) Successful in 2m38s
2025-10-27 20:30:40 -05:00
4beaf9c74c Merge pull request 'Update dependency shiki to v3.14.0' (#183) from renovate/shiki-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 1m30s
test-build / build (push) Has been cancelled
Reviewed-on: #183
2025-10-28 01:28:40 +00:00
7a0e536514 Merge pull request 'Update astro monorepo' (#180) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has started running
test-build / build (push) Has been cancelled
Reviewed-on: #180
2025-10-28 01:28:06 +00:00
85f5f362d6 Update dependency shiki to v3.14.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
2025-10-28 00:02:17 +00:00
229aeb332f Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m3s
2025-10-26 00:03:03 +00:00
8a1f843d20 Merge pull request 'Update dependency eslint-plugin-react-hooks to v7.0.1' (#182) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m12s
renovate / renovate (push) Successful in 2m6s
2025-10-26 00:02:02 +00:00
f1f40b02cf Update dependency eslint-plugin-react-hooks to v7.0.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m12s
2025-10-26 00:01:53 +00:00
a69de08970 Merge pull request 'Update tailwindcss monorepo to v4.1.16' (#181) from renovate/tailwindcss-monorepo into main
All checks were successful
test-build / build (push) Successful in 3m12s
renovate / renovate (push) Successful in 1m54s
2025-10-25 00:03:38 +00:00
567890b771 Update tailwindcss monorepo to v4.1.16
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m20s
2025-10-25 00:03:00 +00:00
6e55e6b4cb Merge pull request 'Update dependency astro to v5.14.8' (#179) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m11s
renovate / renovate (push) Successful in 3m34s
2025-10-23 00:02:27 +00:00
6a75d20f3e Update dependency astro to v5.14.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-10-23 00:02:19 +00:00
632487898f Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.2.3' (#178) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-23 00:02:09 +00:00
74d0acb37f Update dependency @eslint-react/eslint-plugin to v2.2.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m9s
2025-10-23 00:01:59 +00:00
bada42d08c Merge pull request 'Update tailwindcss monorepo to v4.1.15' (#175) from renovate/tailwindcss-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 2m18s
2025-10-22 15:53:31 +00:00
e7ab822b13 Update tailwindcss monorepo to v4.1.15
All checks were successful
test-build / build (pull_request) Successful in 1m1s
renovate/stability-days Updates have met minimum release age requirement
2025-10-21 01:03:11 +00:00
8710c62b45 Merge pull request 'Update dependency typescript-eslint to v8.46.2' (#174) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m5s
renovate / renovate (push) Successful in 1m58s
2025-10-21 01:02:11 +00:00
b79f0ee6f3 Update dependency typescript-eslint to v8.46.2
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m8s
2025-10-21 01:01:58 +00:00
f1127532dd Merge pull request 'Update dependency astro to v5.14.7' (#173) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-21 01:01:48 +00:00
7f66de6b4e Update dependency astro to v5.14.7
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m12s
2025-10-21 01:01:39 +00:00
ffe976d44c Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.55' (#172) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-21 01:01:27 +00:00
9ae19a4446 Update dependency @iconify-json/simple-icons to v1.2.55
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-10-21 01:01:16 +00:00
10185a3752 Merge pull request 'Update dependency @astrojs/check to v0.9.5' (#171) from renovate/astrojs-check-0.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-21 01:00:59 +00:00
3b04a8a5c4 Update dependency @astrojs/check to v0.9.5
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m7s
2025-10-21 01:00:37 +00:00
32e3821454 update
All checks were successful
renovate / renovate (push) Successful in 45s
test-build / build (push) Successful in 1m13s
2025-10-20 19:46:47 -05:00
aced5818d5 downgrade
Some checks failed
renovate / renovate (push) Successful in 41s
test-build / build (push) Has been cancelled
2025-10-20 19:45:14 -05:00
16fd92b575 downgrade
Some checks failed
test-build / build (push) Failing after 47s
renovate / renovate (push) Successful in 1m1s
2025-10-20 19:43:36 -05:00
071f52fb0b downgarde
Some checks failed
renovate / renovate (push) Successful in 50s
test-build / build (push) Failing after 38m10s
2025-10-20 18:29:50 -05:00
43db9ab1ef use latest tag
Some checks failed
renovate / renovate (push) Failing after 3s
test-build / build (push) Failing after 11s
2025-10-20 18:12:04 -05:00
17e1cfdae3 Merge pull request 'Update actions/checkout action to v5' (#67) from renovate/actions-checkout-5.x into main
Some checks failed
renovate / renovate (push) Failing after 3s
test-build / build (push) Failing after 19s
Reviewed-on: #67
2025-10-20 23:10:18 +00:00
f9a157340f Update actions/checkout action to v5
Some checks failed
test-build / build (pull_request) Failing after 29s
2025-10-20 23:09:22 +00:00
eaf9e81438 update image
Some checks failed
test-build / build (push) Failing after 20s
renovate / renovate (push) Successful in 41s
2025-10-20 18:08:34 -05:00
3d4158af52 Merge pull request 'Update dependency eslint to v9.38.0' (#167) from renovate/eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 44s
test-build / build (push) Successful in 1m1s
Reviewed-on: #167
2025-10-20 17:21:59 +00:00
34317f90bb Update dependency eslint to v9.38.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 46s
2025-10-20 04:40:40 +00:00
a927f785cc Merge pull request 'Update dependency astro to v5.14.6' (#165) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m1s
test-build / build (push) Successful in 1m4s
2025-10-20 03:34:20 +00:00
0fef6bfe38 Update dependency astro to v5.14.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 54s
2025-10-20 03:34:15 +00:00
171ad7e633 Merge pull request 'Update dependency prettier-plugin-tailwindcss to v0.7.1' (#166) from renovate/prettier-plugin-tailwindcss-0.x-lockfile into main 2025-10-20 00:02:16 +00:00
d6641d3b0c Update dependency prettier-plugin-tailwindcss to v0.7.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m41s
2025-10-19 00:02:32 +00:00
45e585d37c Merge pull request 'Update dependency astro-compressor to v1.2.0' (#164) from renovate/astro-compressor-1.x-lockfile into main
Some checks are pending
test-build / build (push) Successful in 1m38s
renovate / renovate (push) Has started running
Reviewed-on: #164
2025-10-17 18:02:06 +00:00
078a6c07aa Update dependency astro-compressor to v1.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m8s
2025-10-17 00:03:15 +00:00
42c0be8165 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.24' (#163) from renovate/eslint-plugin-react-refresh-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m7s
renovate / renovate (push) Successful in 1m22s
2025-10-17 00:02:15 +00:00
6f873a52ee Update dependency eslint-plugin-react-refresh to v0.4.24
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m20s
2025-10-17 00:02:01 +00:00
1cf4bb1c98 Merge pull request 'Update dependency prettier-plugin-tailwindcss to ^0.7.0' (#162) from renovate/prettier-plugin-tailwindcss-0.x into main
All checks were successful
test-build / build (push) Successful in 56s
renovate / renovate (push) Successful in 2m5s
Reviewed-on: #162
2025-10-15 22:06:05 +00:00
77e678ac41 Merge pull request 'Update astro monorepo' (#161) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #161
2025-10-15 22:05:48 +00:00
8381f1cbff Update dependency prettier-plugin-tailwindcss to ^0.7.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m13s
2025-10-15 22:02:48 +00:00
1b4fd716ba Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-10-15 22:02:24 +00:00
b3f738aedb Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.2.2' (#160) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
test-build / build (push) Failing after 1m33s
renovate / renovate (push) Successful in 1m56s
2025-10-15 22:01:12 +00:00
3de6bdf9d5 Update dependency @eslint-react/eslint-plugin to v2.2.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-10-15 22:01:04 +00:00
886c04047d Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.2.1' (#158) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
test-build / build (push) Successful in 1m4s
renovate / renovate (push) Has been cancelled
Reviewed-on: #158
2025-10-15 22:00:03 +00:00
30e152989f Merge pull request 'Update dependency eslint-plugin-react-hooks to v7' (#154) from renovate/major-react-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #154
2025-10-15 21:59:53 +00:00
b06297591c Merge pull request 'Update dependency typescript-eslint to v8.46.1' (#152) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #152
2025-10-15 21:59:48 +00:00
c5baf3f2f6 Update dependency typescript-eslint to v8.46.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-10-15 00:02:27 +00:00
7dd8e57a2f Update dependency @eslint-react/eslint-plugin to v2.2.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 54s
2025-10-15 00:02:05 +00:00
9072151d92 Update dependency eslint-plugin-react-hooks to v7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 57s
2025-10-12 00:05:01 +00:00
86b3009de0 Merge pull request 'Update dependency framer-motion to v12.23.24' (#157) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m10s
renovate / renovate (push) Successful in 2m14s
2025-10-12 00:02:51 +00:00
1b3acfb055 Update dependency framer-motion to v12.23.24
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m52s
2025-10-12 00:02:32 +00:00
1f286a8884 Merge pull request 'Update astro monorepo' (#156) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-12 00:02:19 +00:00
2c694045d4 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m13s
2025-10-12 00:02:11 +00:00
8644c4c8c1 Merge pull request 'Update astro monorepo' (#155) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m14s
renovate / renovate (push) Successful in 2m20s
2025-10-11 00:02:14 +00:00
6e75664908 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m0s
2025-10-11 00:01:42 +00:00
e03e10170e Merge pull request 'Update dependency @types/react to v19.2.2' (#153) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 1m49s
2025-10-09 00:01:57 +00:00
2a1fa39d5e Update dependency @types/react to v19.2.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m24s
2025-10-09 00:01:47 +00:00
d250e43315 Merge pull request 'Update dependency @types/react to v19.2.1' (#151) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m17s
renovate / renovate (push) Successful in 1m25s
2025-10-08 00:02:00 +00:00
d79a6e1c6f Update dependency @types/react to v19.2.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m16s
2025-10-08 00:01:54 +00:00
f2da475a10 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.54' (#150) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m54s
renovate / renovate (push) Successful in 1m49s
2025-10-07 00:04:25 +00:00
3dd3541975 Update dependency @iconify-json/simple-icons to v1.2.54
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m59s
2025-10-07 00:04:20 +00:00
312582cfef Merge pull request 'Update dependency eslint to v9.37.0' (#149) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m29s
renovate / renovate (push) Successful in 4m20s
Reviewed-on: #149
2025-10-05 00:29:16 +00:00
add20c234d Update dependency eslint to v9.37.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-10-05 00:04:17 +00:00
e6e14f16d8 Merge pull request 'Update dependency eslint-plugin-react-hooks to v6.1.1' (#148) from renovate/react-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m14s
test-build / build (push) Successful in 1m39s
2025-10-05 00:03:08 +00:00
7360e4e3bb Update dependency eslint-plugin-react-hooks to v6.1.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m17s
2025-10-05 00:02:48 +00:00
e463b9842b Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.0.6' (#147) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
test-build / build (push) Waiting to run
renovate / renovate (push) Has been cancelled
2025-10-05 00:02:42 +00:00
cb81b9c873 Update dependency @eslint-react/eslint-plugin to v2.0.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-10-05 00:02:30 +00:00
eaf8184426 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.0.5' (#146) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 58s
renovate / renovate (push) Successful in 3m14s
2025-10-02 23:50:09 +00:00
be65fbc299 Update dependency @eslint-react/eslint-plugin to v2.0.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m9s
2025-10-02 23:49:59 +00:00
4893758d10 Merge pull request 'Update dependency eslint-plugin-react-hooks to v6' (#145) from renovate/major-react-monorepo into main
Some checks failed
test-build / build (push) Successful in 1m17s
renovate / renovate (push) Has been cancelled
Reviewed-on: #145
2025-10-02 23:48:46 +00:00
57e299090a Merge pull request 'Update react monorepo to v19.2.0' (#144) from renovate/react-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #144
2025-10-02 23:48:22 +00:00
18b69c9ca6 Update dependency eslint-plugin-react-hooks to v6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 47s
2025-10-02 22:47:52 +00:00
dcd6f32e7a Update react monorepo to v19.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-10-02 22:47:25 +00:00
c27616efdf Merge pull request 'Update tailwindcss monorepo to v4.1.14' (#143) from renovate/tailwindcss-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m3s
renovate / renovate (push) Successful in 1m15s
2025-10-02 22:46:41 +00:00
c7c78ed2fc Update tailwindcss monorepo to v4.1.14
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-10-02 22:46:29 +00:00
c30dd1b027 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.23' (#142) from renovate/eslint-plugin-react-refresh-0.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-02 22:45:27 +00:00
96861f43f0 Update dependency eslint-plugin-react-refresh to v0.4.23
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-10-02 22:45:22 +00:00
d08855ff40 Merge pull request 'Update dependency typescript-eslint to v8.45.0' (#138) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #138
2025-10-02 22:44:23 +00:00
ef6c656b16 Update dependency typescript-eslint to v8.45.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
2025-10-02 04:15:57 +00:00
d819c4e6a9 Merge pull request 'Update dependency typescript to v5.9.3' (#141) from renovate/typescript-5.x into main
All checks were successful
test-build / build (push) Successful in 51s
renovate / renovate (push) Successful in 1m3s
Reviewed-on: #141
2025-10-02 04:15:11 +00:00
807b188162 Update dependency typescript to v5.9.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m35s
2025-10-02 00:05:31 +00:00
4558eefe8d Merge pull request 'Update dependency @types/react to v19.1.16' (#140) from renovate/react-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m48s
test-build / build (push) Successful in 3m10s
2025-10-02 00:04:14 +00:00
304921712f Update dependency @types/react to v19.1.16
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m44s
2025-10-02 00:04:03 +00:00
6b2b648848 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.0.4' (#139) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-10-02 00:03:54 +00:00
2ecfeb0a12 Update dependency @eslint-react/eslint-plugin to v2.0.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m47s
2025-10-02 00:03:46 +00:00
d6d600fe4b Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.0.2' (#137) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m0s
renovate / renovate (push) Successful in 1m44s
2025-10-01 00:01:47 +00:00
c4518c0c27 Update dependency @eslint-react/eslint-plugin to v2.0.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m11s
2025-10-01 00:01:38 +00:00
cc60a3ac14 Merge pull request 'Update dependency @types/react to v19.1.15' (#136) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 49s
renovate / renovate (push) Successful in 2m7s
2025-09-30 00:03:27 +00:00
6d782ad980 Update dependency @types/react to v19.1.15
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 57s
2025-09-30 00:03:21 +00:00
31b9f5d603 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2.0.1' (#135) from renovate/eslint-react-eslint-plugin-2.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m39s
renovate / renovate (push) Successful in 3m20s
2025-09-29 00:01:43 +00:00
98301d9e4f Update dependency @eslint-react/eslint-plugin to v2.0.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m16s
2025-09-29 00:01:29 +00:00
cd76eb1ba8 Merge pull request 'Update dependency @types/react to v19.1.14' (#134) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 1m37s
2025-09-28 00:01:28 +00:00
c69cdde688 Update dependency @types/react to v19.1.14
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-09-28 00:01:15 +00:00
4edb797817 Merge pull request 'Update dependency astro to v5.14.1' (#133) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 1m20s
2025-09-27 01:44:16 +00:00
3a1cfe4b63 Update dependency astro to v5.14.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 48s
2025-09-27 01:44:08 +00:00
53031f7a0f Merge pull request 'Update dependency @eslint-react/eslint-plugin to v2' (#132) from renovate/eslint-react-eslint-plugin-2.x into main
Some checks failed
test-build / build (push) Successful in 1m13s
renovate / renovate (push) Has been cancelled
Reviewed-on: #132
2025-09-27 01:42:58 +00:00
5c2b3069c6 Merge pull request 'Update astro monorepo' (#131) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #131
2025-09-27 01:42:52 +00:00
349817e384 Merge pull request 'Update Node.js to v22.20.0' (#128) from renovate/docker.io-node-22.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #128
2025-09-27 01:42:46 +00:00
cf7098b7ea Merge pull request 'Update dependency node to v22.20.0' (#127) from renovate/node-22.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #127
2025-09-27 01:42:41 +00:00
e9f8191973 Update dependency @eslint-react/eslint-plugin to v2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m13s
2025-09-27 00:04:07 +00:00
081250dcfc Update Node.js to v22.20.0
All checks were successful
test-build / build (pull_request) Successful in 1m16s
2025-09-27 00:03:37 +00:00
8149be36d9 Update dependency node to v22.20.0
All checks were successful
test-build / build (pull_request) Successful in 53s
2025-09-27 00:03:28 +00:00
7f35f74591 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m25s
2025-09-27 00:03:22 +00:00
4dd465ef22 Merge pull request 'Update dependency framer-motion to v12.23.22' (#130) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 59s
renovate / renovate (push) Successful in 1m43s
2025-09-27 00:01:49 +00:00
05076543ac Update dependency framer-motion to v12.23.22
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m0s
2025-09-27 00:01:42 +00:00
5950ab54e1 Merge pull request 'Update dependency eslint-plugin-react-refresh to v0.4.22' (#129) from renovate/eslint-plugin-react-refresh-0.x-lockfile into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-09-27 00:01:35 +00:00
1c2891bbba Update dependency eslint-plugin-react-refresh to v0.4.22
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m18s
2025-09-27 00:01:21 +00:00
c49b4a814f Merge pull request 'Update dependency framer-motion to v12.23.21' (#126) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m10s
renovate / renovate (push) Successful in 2m25s
2025-09-26 00:02:43 +00:00
1c4c1f7f4a Update dependency framer-motion to v12.23.21
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-09-26 00:02:31 +00:00
1baa5c565a Merge pull request 'Update dependency astro to v5.13.11' (#125) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-09-26 00:02:22 +00:00
cb9c5033ef Update dependency astro to v5.13.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
2025-09-26 00:02:13 +00:00
ff9bdc196d Merge pull request 'Update dependency @tailwindcss/typography to v0.5.19' (#124) from renovate/tailwindcss-typography-0.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-09-26 00:02:05 +00:00
30ada35a53 Update dependency @tailwindcss/typography to v0.5.19
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-09-26 00:01:57 +00:00
893a981594 Merge pull request 'Update dependency framer-motion to v12.23.19' (#123) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 2m52s
2025-09-25 00:03:58 +00:00
e7227244cc Update dependency framer-motion to v12.23.19
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-09-25 00:03:51 +00:00
507fe2c2ed Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.53' (#122) from renovate/iconify-json-simple-icons-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-09-25 00:03:40 +00:00
aa40bf67b6 Update dependency @iconify-json/simple-icons to v1.2.53
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-09-25 00:03:36 +00:00
17dd45c4e2 update tag
All checks were successful
test-build / build (push) Successful in 1m23s
release-image / release (push) Successful in 5m51s
renovate / renovate (push) Successful in 3m50s
2025-09-22 19:01:13 -05:00
a2c17a9dc1 update lock
All checks were successful
renovate / renovate (push) Successful in 40s
test-build / build (push) Successful in 1m35s
2025-09-22 18:59:18 -05:00
365d079dfc update packages 2025-09-22 18:57:48 -05:00
f29a5c9dd9 Merge pull request 'Update astro monorepo' (#121) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 33s
test-build / build (push) Successful in 50s
2025-09-22 23:55:47 +00:00
cd593905c0 Update astro monorepo
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-09-22 23:55:36 +00:00
20f53409ef Merge pull request 'Update astro monorepo' (#114) from renovate/astro-monorepo into main
Some checks failed
test-build / build (push) Successful in 51s
renovate / renovate (push) Has been cancelled
Reviewed-on: #114
2025-09-22 23:54:55 +00:00
61c6d2ed08 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-09-22 23:51:42 +00:00
0018cfe564 Merge pull request 'Update dependency shiki to v3.13.0' (#119) from renovate/shiki-monorepo into main
All checks were successful
test-build / build (push) Successful in 48s
renovate / renovate (push) Successful in 59s
Reviewed-on: #119
2025-09-22 23:50:57 +00:00
2dd725b00c Merge pull request 'Update dependency @directus/sdk to v20.1.0' (#111) from renovate/directus-sdk-20.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #111
2025-09-22 23:50:35 +00:00
db8f125fe7 Merge pull request 'Update dependency eslint to v9.36.0' (#104) from renovate/eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #104
2025-09-22 23:50:19 +00:00
3d4265a852 Update dependency shiki to v3.13.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m3s
2025-09-22 23:49:17 +00:00
7a66226be4 Update dependency eslint to v9.36.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 50s
2025-09-22 23:49:04 +00:00
f0b6ee4067 Update dependency @directus/sdk to v20.1.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-09-22 23:48:46 +00:00
1cb50c3bec Merge pull request 'Update dependency @eslint-react/eslint-plugin to v1.53.1' (#101) from renovate/eslint-react-eslint-plugin-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 1m47s
Reviewed-on: #101
2025-09-22 23:47:50 +00:00
4a7af7f582 Update dependency @eslint-react/eslint-plugin to v1.53.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-09-22 23:44:03 +00:00
27574e7612 Merge pull request 'Update dependency typescript-eslint to v8.44.1' (#120) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 2m37s
2025-09-22 23:42:32 +00:00
96d96b6e2b Update dependency typescript-eslint to v8.44.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-09-22 23:42:26 +00:00
c901fb851b Merge pull request 'Update dependency typescript-eslint to v8.44.0' (#99) from renovate/typescript-eslint-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #99
2025-09-22 23:41:36 +00:00
e91a2344eb Merge pull request 'Update Node.js to v22.19.0' (#93) from renovate/docker.io-node-22.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #93
2025-09-22 23:41:25 +00:00
5b20f0a9a3 Merge pull request 'Update dependency node to v22.19.0' (#92) from renovate/node-22.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #92
2025-09-22 23:41:15 +00:00
9652309b67 Update Node.js to v22.19.0
All checks were successful
test-build / build (pull_request) Successful in 1m13s
2025-09-22 00:02:54 +00:00
9e6fcd62e6 Update dependency typescript-eslint to v8.44.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
2025-09-22 00:02:42 +00:00
50a7a09de7 Update dependency node to v22.19.0
All checks were successful
test-build / build (pull_request) Successful in 1m6s
2025-09-22 00:02:05 +00:00
8a6b762342 Merge pull request 'Update dependency framer-motion to v12.23.16' (#118) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m14s
renovate / renovate (push) Successful in 2m56s
2025-09-21 00:02:39 +00:00
55b88e3aca Update dependency framer-motion to v12.23.16
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m15s
2025-09-21 00:02:29 +00:00
21f3b768f1 Merge pull request 'Update dependency eslint-plugin-format to v1.0.2' (#117) from renovate/eslint-plugin-format-1.x-lockfile into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-09-21 00:02:15 +00:00
f41bf11c09 Update dependency eslint-plugin-format to v1.0.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m8s
2025-09-21 00:02:03 +00:00
ffafd31d39 Merge pull request 'Update dependency @tailwindcss/typography to v0.5.18' (#116) from renovate/tailwindcss-typography-0.x-lockfile into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-09-21 00:01:47 +00:00
fb64aa4cd7 Update dependency @tailwindcss/typography to v0.5.18
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m32s
2025-09-21 00:01:38 +00:00
4ff82866ab Merge pull request 'Update dependency framer-motion to v12.23.15' (#115) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 53s
renovate / renovate (push) Successful in 5m19s
2025-09-20 00:01:47 +00:00
c6ec303312 Update dependency framer-motion to v12.23.15
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m18s
2025-09-20 00:01:29 +00:00
bdf406a3ee Merge pull request 'Update dependency sharp to v0.34.4' (#113) from renovate/sharp-0.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m35s
renovate / renovate (push) Successful in 52s
2025-09-19 00:02:01 +00:00
831266f2a0 Update dependency sharp to v0.34.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m29s
2025-09-19 00:01:56 +00:00
f53f4ad254 Merge pull request 'Update dependency framer-motion to v12.23.14' (#112) from renovate/framer-motion-12.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-09-19 00:01:47 +00:00
d25166ae9c Update dependency framer-motion to v12.23.14
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m28s
2025-09-19 00:01:38 +00:00
0c72977ca7 Merge pull request 'Update dependency framer-motion to v12.23.13' (#110) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 3m15s
2025-09-18 00:01:35 +00:00
e1b15ba0f8 Update dependency framer-motion to v12.23.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 56s
2025-09-18 00:01:30 +00:00
a8ddaa5613 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.52' (#109) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m43s
renovate / renovate (push) Successful in 2m24s
2025-09-16 00:03:52 +00:00
b8276d8470 Update dependency @iconify-json/simple-icons to v1.2.52
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m52s
2025-09-16 00:03:44 +00:00
f6e2b6ccf6 Merge pull request 'Update dependency @types/react to v19.1.13' (#108) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m37s
renovate / renovate (push) Successful in 4m9s
2025-09-14 00:02:03 +00:00
fd83f26ab5 Update dependency @types/react to v19.1.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 51s
2025-09-14 00:01:47 +00:00
d456c1c045 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.51' (#107) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m35s
renovate / renovate (push) Successful in 2m13s
2025-09-13 00:02:11 +00:00
4d8822c187 Update dependency @iconify-json/simple-icons to v1.2.51
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m40s
2025-09-13 00:02:07 +00:00
be3cbe97e5 Merge pull request 'Update dependency astro to v5.13.7' (#106) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m2s
renovate / renovate (push) Successful in 1m29s
2025-09-11 00:01:08 +00:00
3d791440f2 Update dependency astro to v5.13.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m5s
2025-09-11 00:01:00 +00:00
15438a6723 Merge pull request 'Update astro monorepo' (#105) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 2m46s
2025-09-10 00:01:51 +00:00
aabe85bc50 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 3m4s
2025-09-10 00:01:42 +00:00
c9c3f21c5a Update tailwindcss monorepo to v4.1.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m26s
test-build / build (push) Successful in 1m34s
renovate / renovate (push) Successful in 4m0s
2025-09-06 00:01:11 +00:00
502a54186a Update dependency shiki to v3.12.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m9s
test-build / build (push) Successful in 1m13s
renovate / renovate (push) Successful in 2m15s
2025-09-05 00:01:17 +00:00
9b248472cc Merge pull request 'Update dependency shiki to v3.12.1' (#98) from renovate/shiki-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m43s
renovate / renovate (push) Successful in 3m13s
2025-09-03 00:01:41 +00:00
109753e8bd Update dependency shiki to v3.12.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m44s
2025-09-03 00:01:30 +00:00
17b903afe0 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.50' (#97) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m2s
renovate / renovate (push) Successful in 1m44s
2025-09-02 00:01:28 +00:00
2f264f17d0 Update dependency @iconify-json/simple-icons to v1.2.50
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m19s
2025-09-02 00:01:20 +00:00
e5db1ffca6 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v1.52.9' (#96) from renovate/eslint-react-eslint-plugin-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 52s
renovate / renovate (push) Successful in 1m28s
2025-09-01 00:01:42 +00:00
f0f48dd16c Update dependency @eslint-react/eslint-plugin to v1.52.9
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-09-01 00:01:23 +00:00
5d8f98f8f0 Merge pull request 'Update dependency astro to v5.13.5' (#95) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 54s
renovate / renovate (push) Successful in 1m42s
2025-08-31 00:01:51 +00:00
5de410d577 Update dependency astro to v5.13.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-08-31 00:01:43 +00:00
da75115ea0 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v1.52.8' (#94) from renovate/eslint-react-eslint-plugin-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-31 00:01:30 +00:00
b769c130b3 Update dependency @eslint-react/eslint-plugin to v1.52.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-08-31 00:01:23 +00:00
9a13fc35c3 Merge pull request 'Update dependency @eslint-react/eslint-plugin to v1.52.7' (#91) from renovate/eslint-react-eslint-plugin-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m53s
renovate / renovate (push) Successful in 1m52s
2025-08-30 00:01:56 +00:00
41675481e8 Update dependency @eslint-react/eslint-plugin to v1.52.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 56s
2025-08-30 00:01:43 +00:00
6d46dae265 Merge pull request 'Update dependency shiki to v3.12.0' (#90) from renovate/shiki-monorepo into main
All checks were successful
test-build / build (push) Successful in 59s
renovate / renovate (push) Successful in 2m5s
Reviewed-on: #90
2025-08-29 00:33:27 +00:00
9c280a1c02 Update dependency shiki to v3.12.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m7s
2025-08-29 00:03:41 +00:00
2be6ea9813 Update dependency astro to v5.13.4
All checks were successful
test-build / build (push) Successful in 1m8s
renovate / renovate (push) Successful in 1m31s
2025-08-29 00:02:13 +00:00
6d235806a8 Update dependency @types/react to v19.1.12
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-29 00:01:55 +00:00
1bc940afd6 Update dependency @directus/sdk to v20.0.3
Some checks failed
test-build / build (push) Has been cancelled
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Has been cancelled
test-build / build (pull_request) Successful in 1m4s
2025-08-29 00:01:32 +00:00
11abbf790d Merge pull request 'Update dependency typescript-eslint to v8.41.0' (#86) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m34s
renovate / renovate (push) Successful in 2m31s
Reviewed-on: #86
2025-08-27 00:24:33 +00:00
1f0c04a168 Update dependency typescript-eslint to v8.41.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-08-27 00:05:28 +00:00
32ddc9129c Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.49' (#85) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m14s
test-build / build (push) Successful in 1m31s
2025-08-27 00:04:27 +00:00
d9a103a553 Update dependency @iconify-json/simple-icons to v1.2.49
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m9s
2025-08-27 00:04:13 +00:00
473d1d15cb Merge pull request 'Update dependency @iconify-json/pajamas to v1.2.15' (#84) from renovate/iconify-json-pajamas-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-27 00:04:02 +00:00
652955263e Update dependency @iconify-json/pajamas to v1.2.15
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m48s
2025-08-27 00:03:57 +00:00
4cb215625b Merge pull request 'Update dependency eslint to v9.34.0' (#83) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m12s
renovate / renovate (push) Successful in 4m50s
Reviewed-on: #83
2025-08-25 18:15:54 +00:00
98a3ed338c Update dependency eslint to v9.34.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 59s
2025-08-23 23:18:16 +00:00
7e5eb7fd1a Merge pull request 'Update dependency @types/react to v19.1.11' (#82) from renovate/react-monorepo into main
All checks were successful
test-build / build (push) Successful in 56s
renovate / renovate (push) Successful in 1m31s
2025-08-23 23:17:31 +00:00
0be31cb98f Update dependency @types/react to v19.1.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 58s
2025-08-23 23:17:27 +00:00
6386c76550 Merge pull request 'Update dependency @iconify-json/pajamas to v1.2.14' (#81) from renovate/iconify-json-pajamas-1.x-lockfile into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-23 23:16:31 +00:00
b865b93797 Update dependency @iconify-json/pajamas to v1.2.14
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 53s
2025-08-23 23:16:27 +00:00
9bed3b30a2 Update astro monorepo
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 53s
test-build / build (pull_request) Successful in 1m3s
renovate / renovate (push) Has been cancelled
2025-08-23 23:15:15 +00:00
2556adb7cb Merge pull request 'Update dependency shiki to v3.11.0' (#79) from renovate/shiki-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #79
2025-08-23 23:14:31 +00:00
4ad9ec7d1e Update dependency shiki to v3.11.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m35s
2025-08-21 00:01:28 +00:00
be91babd39 Merge pull request 'Update dependency typescript-eslint to v8.40.0' (#78) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m51s
renovate / renovate (push) Successful in 1m9s
Reviewed-on: #78
2025-08-20 23:31:22 +00:00
e189edbfe5 Update dependency typescript-eslint to v8.40.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 49s
2025-08-20 00:03:17 +00:00
17f37152a5 Update dependency @eslint-react/eslint-plugin to v1.52.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Successful in 1m4s
test-build / build (pull_request) Successful in 1m23s
test-build / build (push) Successful in 1m20s
2025-08-20 00:02:04 +00:00
80c7f6ddc2 Merge pull request 'Update dependency @iconify-json/simple-icons to v1.2.48' (#76) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 1m14s
renovate / renovate (push) Successful in 2m30s
2025-08-19 00:01:36 +00:00
cac399b924 Update dependency @iconify-json/simple-icons to v1.2.48
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m16s
2025-08-19 00:01:31 +00:00
d7b0b846d2 Merge pull request 'Update astro monorepo' (#73) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m13s
renovate / renovate (push) Successful in 1m23s
Reviewed-on: #73
2025-08-17 02:13:37 +00:00
d04967e435 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 50s
2025-08-17 00:02:37 +00:00
866ab47458 Update dependency @eslint-react/eslint-plugin to v1.52.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Successful in 52s
test-build / build (pull_request) Successful in 1m10s
test-build / build (push) Successful in 1m6s
2025-08-17 00:01:45 +00:00
f835e06d6f Update tailwindcss monorepo to v4.1.12
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 1m22s
test-build / build (pull_request) Successful in 1m14s
renovate / renovate (push) Successful in 1m34s
2025-08-16 00:02:17 +00:00
ac31a5a608 Update dependency @eslint-react/eslint-plugin to v1.52.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 56s
test-build / build (pull_request) Successful in 1m16s
renovate / renovate (push) Successful in 2m16s
2025-08-15 00:01:33 +00:00
0f93b9d138 Update dependency @types/react to v19.1.10
All checks were successful
test-build / build (push) Successful in 1m6s
renovate / renovate (push) Successful in 1m27s
2025-08-13 00:02:15 +00:00
2211107a2c Update dependency @directus/sdk to v20.0.2
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
test-build / build (pull_request) Successful in 1m17s
2025-08-13 00:01:54 +00:00
b58cbdbe0a remove old files
All checks were successful
test-build / build (push) Successful in 1m15s
renovate / renovate (push) Successful in 1m28s
2025-08-11 21:11:44 -05:00
49e2376dbf release 2.0.5
All checks were successful
renovate / renovate (push) Successful in 25s
test-build / build (push) Successful in 55s
release-image / release (push) Successful in 4m45s
2025-08-11 19:37:01 -05:00
6b1eaa439a fix value
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-11 19:36:44 -05:00
f92f911360 release 2.0.4
Some checks failed
renovate / renovate (push) Successful in 46s
test-build / build (push) Failing after 47s
release-image / release (push) Failing after 1m26s
2025-08-11 19:34:59 -05:00
1cdbbd4a11 use double quotes
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-08-11 19:34:43 -05:00
da7c5c4a58 release 2.0.3
Some checks failed
renovate / renovate (push) Successful in 26s
test-build / build (push) Failing after 33s
release-image / release (push) Failing after 1m18s
2025-08-11 19:29:43 -05:00
931d1009ed support published value
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-11 19:29:26 -05:00
43ff986963 release 2.0.2
Some checks failed
renovate / renovate (push) Successful in 34s
test-build / build (push) Failing after 35s
release-image / release (push) Failing after 1m11s
2025-08-11 19:11:27 -05:00
b9d85a5520 fix layout
Some checks failed
renovate / renovate (push) Successful in 31s
test-build / build (push) Failing after 39s
2025-08-11 19:10:46 -05:00
9836b40531 fix height 2025-08-11 18:48:08 -05:00
ea1c3d9f1a 2.0.1 release
All checks were successful
test-build / build (push) Successful in 1m18s
release-image / release (push) Successful in 2m26s
renovate / renovate (push) Successful in 45s
2025-08-11 18:14:00 -05:00
28f73be784 update content 2025-08-11 18:13:22 -05:00
284f30c392 downgrade actions
All checks were successful
renovate / renovate (push) Successful in 33s
test-build / build (push) Successful in 57s
release-image / release (push) Successful in 2m53s
2025-08-11 17:25:44 -05:00
9e4a2d681b update checkout
Some checks failed
test-build / build (push) Failing after 3s
renovate / renovate (push) Failing after 3s
2025-08-11 17:18:51 -05:00
c8e250c5b2 Merge pull request 'Update dependency astro-compressor to v1' (#68) from renovate/astro-compressor-1.x into main
All checks were successful
renovate / renovate (push) Successful in 42s
test-build / build (push) Successful in 1m1s
Reviewed-on: #68
2025-08-11 22:15:42 +00:00
58f05178a4 Update dependency astro-compressor to v1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m3s
2025-08-11 22:10:18 +00:00
b8966e2b88 Merge pull request 'Update dependency typescript to v5.9.2' (#66) from renovate/typescript-5.x into main
All checks were successful
renovate / renovate (push) Successful in 50s
test-build / build (push) Successful in 55s
Reviewed-on: #66
2025-08-11 22:09:32 +00:00
3f6563a0d3 Update dependency typescript to v5.9.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 47s
2025-08-11 22:07:18 +00:00
4840d15101 Merge pull request 'Update dependency @playform/compress to ^0.2.0' (#65) from renovate/playform-compress-0.x into main
All checks were successful
test-build / build (push) Successful in 57s
renovate / renovate (push) Successful in 1m17s
Reviewed-on: #65
2025-08-11 22:06:26 +00:00
f2cb98888a Update dependency @playform/compress to ^0.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 51s
2025-08-11 22:03:38 +00:00
9d1402ee82 Merge pull request 'Update dependency eslint to v9.33.0' (#62) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m13s
renovate / renovate (push) Successful in 1m59s
Reviewed-on: #62
2025-08-11 22:02:33 +00:00
741338ae9f Update dependency eslint to v9.33.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m39s
2025-08-11 21:34:24 +00:00
89d8b025d3 Merge pull request 'Update dependency typescript-eslint to v8.39.1' (#69) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m29s
renovate / renovate (push) Successful in 1m51s
2025-08-11 21:33:26 +00:00
5e74f8b01e Update dependency typescript-eslint to v8.39.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (pull_request) Successful in 1m30s
2025-08-11 21:33:20 +00:00
bf4835e797 Merge pull request 'Update astro monorepo' (#61) from renovate/astro-monorepo into main
Some checks failed
test-build / build (push) Successful in 1m1s
renovate / renovate (push) Has been cancelled
Reviewed-on: #61
2025-08-11 21:32:27 +00:00
fc766599e1 Merge pull request 'Update dependency typescript-eslint to v8.39.0' (#60) from renovate/typescript-eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #60
2025-08-11 21:32:16 +00:00
465bda1859 Update dependency typescript-eslint to v8.39.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m6s
2025-08-11 21:29:30 +00:00
19d2558436 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 2m8s
2025-08-11 21:28:10 +00:00
2f797ca614 Update dependency shiki to v3.9.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m14s
test-build / build (push) Successful in 1m59s
renovate / renovate (push) Successful in 2m44s
2025-08-11 21:27:13 +00:00
99e451a934 Update dependency preline to v3.2.3
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
test-build / build (pull_request) Successful in 1m50s
2025-08-11 21:26:19 +00:00
1dc4ccfbc6 merge in new changes
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-08-11 16:25:03 -05:00
a484feb7cd init 2025-08-11 16:16:05 -05:00
93d11dca17 update dependencies
All checks were successful
test-build / build (push) Successful in 26s
renovate / renovate (push) Successful in 52s
2025-08-01 20:22:38 -05:00
3eacf17f61 switch to static build 2025-08-01 20:19:53 -05:00
12ffcc4d72 Merge pull request 'Update astro monorepo' (#58) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 35s
test-build / build (push) Successful in 1m21s
2025-08-02 00:01:59 +00:00
060400183f Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m10s
2025-08-02 00:01:44 +00:00
31ec9908e6 Update dependency framer-motion to v12.23.12
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 24s
renovate / renovate (push) Successful in 31s
test-build / build (pull_request) Successful in 36s
2025-07-31 21:42:36 +00:00
4180a2eceb Merge pull request 'Update dependency astro to v5.12.6' (#56) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 37s
renovate / renovate (push) Successful in 51s
2025-07-31 21:42:01 +00:00
fdef90e636 Update dependency astro to v5.12.6
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 26s
2025-07-31 21:41:47 +00:00
c369651a70 Update dependency @directus/sdk to v20.0.1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 26s
test-build / build (push) Successful in 39s
renovate / renovate (push) Has been cancelled
2025-07-31 21:40:49 +00:00
75fd981f10 remove workflow
Some checks failed
test-build / build (push) Successful in 43s
renovate / renovate (push) Has been cancelled
2025-07-31 16:40:06 -05:00
80a4aee41c release 1.1.1
All checks were successful
test-build / build (push) Successful in 43s
renovate / renovate (push) Successful in 45s
release-image / release (push) Successful in 1m40s
2025-07-30 21:23:55 -05:00
9e84de0a5a update rendering 2025-07-30 21:23:28 -05:00
64140cce6b release 1.1.0
Some checks failed
test-build / build (push) Successful in 41s
release-image / release (push) Successful in 1m50s
process-repository / process-repository (push) Failing after 10s
renovate / renovate (push) Successful in 59s
2025-07-30 18:06:07 -05:00
0733fe6a06 switch to ssr
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 33s
2025-07-30 18:05:29 -05:00
0f5c015932 Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Successful in 32s
test-build / build (pull_request) Successful in 51s
test-build / build (push) Successful in 1m3s
2025-07-30 21:00:16 +00:00
dc17aeb3d5 Merge pull request 'Update react monorepo to v19.1.1' (#53) from renovate/react-monorepo into main
Some checks failed
test-build / build (push) Successful in 37s
renovate / renovate (push) Has been cancelled
Reviewed-on: #53
2025-07-30 20:59:11 +00:00
a852f22409 Update react monorepo to v19.1.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 31s
2025-07-30 00:03:21 +00:00
130a3866bc Merge pull request 'Update dependency framer-motion to v12.23.11' (#52) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 33s
renovate / renovate (push) Successful in 50s
2025-07-30 00:02:18 +00:00
2fb0542d36 Update dependency framer-motion to v12.23.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m40s
2025-07-30 00:02:09 +00:00
8a2be36f17 Merge pull request 'Update dependency astro to v5.12.4' (#51) from renovate/astro-monorepo into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-07-30 00:01:56 +00:00
266d25e0f2 Update dependency astro to v5.12.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m45s
2025-07-30 00:01:35 +00:00
34dbe6d809 Merge pull request 'Update dependency eslint to v9.32.0' (#50) from renovate/eslint-monorepo into main
Some checks failed
test-build / build (push) Successful in 1m28s
process-repository / process-repository (push) Failing after 35s
renovate / renovate (push) Successful in 2m46s
Reviewed-on: #50
2025-07-27 14:33:52 +00:00
3c654e19e1 Update dependency eslint to v9.32.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 34s
2025-07-27 00:01:17 +00:00
2a0142ee83 Update dependency framer-motion to v12.23.9
Some checks failed
process-repository / process-repository (push) Failing after 16s
renovate / renovate (push) Successful in 1m31s
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 34s
test-build / build (pull_request) Successful in 41s
2025-07-26 00:01:11 +00:00
7836f49828 1.0.1 release
Some checks failed
test-build / build (push) Successful in 32s
release-image / release (push) Successful in 1m27s
process-repository / process-repository (push) Failing after 18s
renovate / renovate (push) Successful in 1m23s
2025-07-25 00:05:00 -05:00
25280a239c fix math
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-07-25 00:04:28 -05:00
c56dc99e72 disable descriptions using comments 2025-07-25 00:04:20 -05:00
48b7a13729 update colo
All checks were successful
renovate / renovate (push) Successful in 19s
test-build / build (push) Successful in 34s
2025-07-24 23:48:32 -05:00
ac026b0264 update workflow
All checks were successful
test-build / build (push) Successful in 31s
renovate / renovate (push) Successful in 34s
2025-07-24 21:24:50 -05:00
5332854856 1.0.0 release
All checks were successful
renovate / renovate (push) Successful in 24s
test-build / build (push) Successful in 38s
2025-07-24 20:51:35 -05:00
2e0c2f3de5 rewrite a few sections 2025-07-24 20:51:35 -05:00
88d510b06f update favicon 2025-07-24 20:51:35 -05:00
7843378503 Merge pull request 'Update typescript-eslint monorepo to v8.38.0' (#45) from renovate/typescript-eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 28s
test-build / build (push) Successful in 35s
Reviewed-on: #45
2025-07-25 00:47:24 +00:00
75016fdb4f Update typescript-eslint monorepo to v8.38.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 45s
2025-07-25 00:02:19 +00:00
4d74f74ab2 Merge pull request 'Update dependency framer-motion to v12.23.7' (#48) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 40s
test-build / build (push) Successful in 42s
2025-07-25 00:01:38 +00:00
2c1b7f577d Update dependency framer-motion to v12.23.7
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 45s
2025-07-25 00:01:27 +00:00
0e79b32012 Merge pull request 'Update dependency astro to v5.12.3' (#47) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-07-25 00:01:22 +00:00
c1ef2d2ba2 Update dependency astro to v5.12.3
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 43s
2025-07-25 00:01:07 +00:00
020c709b43 0.12.0 release
Some checks failed
test-build / build (push) Successful in 48s
release-image / release (push) Successful in 1m37s
process-repository / process-repository (push) Failing after 26s
renovate / renovate (push) Successful in 1m43s
2025-07-23 20:32:04 -05:00
9f346ee156 add colors and logo 2025-07-23 20:30:55 -05:00
e820e4f163 add theme 2025-07-23 20:30:55 -05:00
796926316e Merge pull request 'Update dependency astro to v5.12.2' (#46) from renovate/astro-monorepo into main
All checks were successful
test-build / build (push) Successful in 34s
renovate / renovate (push) Successful in 41s
2025-07-24 00:01:08 +00:00
bf8578045e Update dependency astro to v5.12.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 30s
2025-07-24 00:00:57 +00:00
f16af9a98d Update dependency astro to v5.12.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 29s
test-build / build (push) Successful in 31s
renovate / renovate (push) Successful in 1m0s
2025-07-23 00:01:09 +00:00
ec45ad29ed 0.11.3 release
Some checks failed
test-build / build (push) Successful in 29s
release-image / release (push) Successful in 3m27s
process-repository / process-repository (push) Failing after 13s
renovate / renovate (push) Successful in 1m9s
2025-07-21 21:00:55 -05:00
17afce6710 minor tweaks and polish
All checks were successful
renovate / renovate (push) Successful in 1m11s
test-build / build (push) Successful in 1m36s
2025-07-21 20:58:34 -05:00
f83fe98b38 0.11.2 release
Some checks failed
test-build / build (push) Successful in 44s
release-image / release (push) Successful in 3m31s
process-repository / process-repository (push) Failing after 16s
renovate / renovate (push) Successful in 38s
2025-07-20 22:22:20 -05:00
2f244761ed add transition 2025-07-20 22:21:54 -05:00
649bf4482b 0.11.1 release
All checks were successful
renovate / renovate (push) Successful in 30s
test-build / build (push) Successful in 41s
release-image / release (push) Successful in 3m38s
2025-07-20 22:20:42 -05:00
2028e2247e fix page transition
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2025-07-20 22:20:16 -05:00
fcae7676c6 0.11.0 release
Some checks failed
test-build / build (push) Successful in 25s
release-image / release (push) Successful in 1m20s
process-repository / process-repository (push) Failing after 16s
renovate / renovate (push) Successful in 36s
2025-07-19 22:39:43 -05:00
cc16b5435a update node
All checks were successful
renovate / renovate (push) Successful in 1m16s
test-build / build (push) Successful in 1m26s
2025-07-19 22:37:05 -05:00
27b5e6a36b change layout and animations to be more common with each other 2025-07-19 22:37:05 -05:00
bcb91972a1 Merge pull request 'Update astro monorepo' (#42) from renovate/astro-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 23s
test-build / build (push) Successful in 28s
Reviewed-on: #42
2025-07-20 03:34:37 +00:00
b11666decb Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 29s
2025-07-20 00:02:37 +00:00
a947a05041 Merge pull request 'Update dependency eslint-config-prettier to v10.1.8' (#43) from renovate/eslint-config-prettier-10.x into main
All checks were successful
test-build / build (push) Successful in 34s
renovate / renovate (push) Successful in 47s
2025-07-20 00:01:54 +00:00
297c573281 Update dependency eslint-config-prettier to v10.1.8
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 25s
2025-07-20 00:01:31 +00:00
9093594973 Update dependency astro to v5.11.2
All checks were successful
test-build / build (push) Successful in 37s
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Successful in 21s
test-build / build (pull_request) Successful in 36s
2025-07-18 00:01:29 +00:00
77ce0a1182 Update dependency framer-motion to v12.23.6
All checks were successful
renovate / renovate (push) Successful in 28s
test-build / build (pull_request) Successful in 29s
test-build / build (push) Successful in 40s
renovate/stability-days Updates have met minimum release age requirement
2025-07-16 16:14:52 +00:00
799e6b6090 Merge pull request 'Update typescript-eslint monorepo to v8.37.0' (#38) from renovate/typescript-eslint-monorepo into main
Some checks failed
test-build / build (push) Successful in 26s
process-repository / process-repository (push) Failing after 11s
renovate / renovate (push) Successful in 1m21s
Reviewed-on: #38
2025-07-16 16:14:17 +00:00
735e4b4877 Update typescript-eslint monorepo to v8.37.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 27s
2025-07-16 02:59:27 +00:00
3e12a8647d update tag
All checks were successful
test-build / build (push) Successful in 51s
renovate / renovate (push) Successful in 1m9s
release-image / release (push) Successful in 3m32s
2025-07-15 21:58:20 -05:00
e07210638e add astro native SPA transition 2025-07-15 21:58:20 -05:00
22d5b50f73 formatting and layout 2025-07-15 21:58:20 -05:00
40acf8f34a strip theme transition on load to use early script 2025-07-15 21:58:20 -05:00
543516baba remove SPA scripts 2025-07-15 21:58:20 -05:00
e985f905f2 formatting changes 2025-07-15 21:58:20 -05:00
e1f09ca4ec fix slider 2025-07-15 21:58:20 -05:00
0c09eb38e9 Merge pull request 'Update dependency framer-motion to v12.23.5' (#37) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 24s
renovate / renovate (push) Successful in 41s
2025-07-16 00:03:06 +00:00
95eeb44e4f Update dependency framer-motion to v12.23.5
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 34s
2025-07-16 00:02:26 +00:00
d47d67572e Merge pull request 'Update dependency astro to v5.11.1' (#36) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Successful in 59s
test-build / build (push) Has been cancelled
2025-07-16 00:01:41 +00:00
fa4841948a Update dependency astro to v5.11.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 30s
2025-07-16 00:00:52 +00:00
71e2b0185b update tag
Some checks failed
test-build / build (push) Successful in 28s
release-image / release (push) Successful in 3m31s
process-repository / process-repository (push) Failing after 1m7s
renovate / renovate (push) Successful in 1m38s
2025-07-15 01:43:31 -05:00
7f9fb4d2b9 fix scrollbar affecting layout
Some checks failed
renovate / renovate (push) Successful in 29s
test-build / build (push) Has been cancelled
2025-07-15 01:39:40 -05:00
8420c8dd58 fix tech stack slider 2025-07-15 01:37:23 -05:00
fa6ed18edb fix dark mode 2025-07-14 23:18:38 -05:00
30860fce1e change paths
All checks were successful
renovate / renovate (push) Successful in 21s
test-build / build (push) Successful in 30s
2025-07-14 22:31:12 -05:00
b479e0e22c use single workflow script
Some checks failed
test-build / build (push) Successful in 41s
process-repository / process-repository (push) Failing after 17s
renovate / renovate (push) Successful in 39s
2025-07-13 23:43:58 -05:00
cf01ebcd3c Merge pull request 'Update dependency eslint to v9.31.0' (#35) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 35s
renovate / renovate (push) Successful in 34s
process-pull-requests / process-pull-requests (push) Successful in 10s
process-issues / process-issues (push) Successful in 13s
Reviewed-on: #35
2025-07-13 03:33:05 +00:00
df8ccf81c2 Update dependency eslint to v9.31.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 38s
2025-07-13 00:01:03 +00:00
073911c1b9 use tag ids
Some checks failed
process-pull-requests / process-pull-requests (push) Failing after 11s
process-issues / process-issues (push) Failing after 10s
renovate / renovate (push) Successful in 58s
test-build / build (push) Successful in 31s
2025-07-11 21:47:20 -05:00
3eeea3dd8f use tag ids
All checks were successful
renovate / renovate (push) Successful in 20s
test-build / build (push) Successful in 23s
2025-07-11 21:36:40 -05:00
43fea76778 Update dependency framer-motion to v12.23.3
All checks were successful
test-build / build (pull_request) Successful in 36s
renovate / renovate (push) Successful in 32s
test-build / build (push) Successful in 41s
renovate/stability-days Updates have met minimum release age requirement
2025-07-12 00:01:43 +00:00
d64df6473a Update dependency prettier-plugin-tailwindcss to v0.6.14
Some checks failed
process-issues / process-issues (push) Failing after 9s
renovate / renovate (push) Successful in 1m7s
process-pull-requests / process-pull-requests (push) Successful in 15s
test-build / build (push) Successful in 32s
2025-07-10 20:59:07 +00:00
63a6a00817 Update dependency framer-motion to v12.23.1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 48s
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2025-07-10 20:57:58 +00:00
54759056b3 update version
All checks were successful
test-build / build (push) Successful in 33s
renovate / renovate (push) Successful in 1m21s
release-image / release (push) Successful in 4m15s
2025-07-10 15:57:02 -05:00
3cc9762e0d Merge pull request 'Update typescript-eslint monorepo to v8.36.0' (#31) from renovate/typescript-eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 26s
test-build / build (push) Successful in 45s
Reviewed-on: #31
2025-07-10 03:28:27 +00:00
ef757c4a14 Update typescript-eslint monorepo to v8.36.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 29s
2025-07-09 00:02:57 +00:00
176f92bf67 Merge pull request 'Update dependency framer-motion to v12.23.0' (#27) from renovate/framer-motion-12.x-lockfile into main
Some checks failed
process-issues / process-issues (push) Failing after 13s
renovate / renovate (push) Successful in 42s
process-pull-requests / process-pull-requests (push) Successful in 8s
test-build / build (push) Successful in 34s
Reviewed-on: #27
2025-07-05 04:54:21 +00:00
09d411dd68 Merge pull request 'Update astro monorepo' (#30) from renovate/astro-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #30
2025-07-05 04:54:14 +00:00
54acfcb24d Update astro monorepo
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 43s
2025-07-05 00:01:04 +00:00
6f3b631862 Update dependency framer-motion to v12.23.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m20s
2025-07-04 00:02:50 +00:00
18cd240a9b Update dependency astro to v5.10.2
Some checks failed
test-build / build (push) Successful in 29s
process-issues / process-issues (push) Failing after 14s
process-pull-requests / process-pull-requests (push) Successful in 15s
renovate / renovate (push) Successful in 1m31s
2025-07-03 00:02:59 +00:00
bb4fe8ef37 Update dependency eslint to v9.30.1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
renovate / renovate (push) Has been cancelled
test-build / build (pull_request) Successful in 30s
test-build / build (push) Has been cancelled
2025-07-03 00:02:05 +00:00
e0e3c1f61a Update typescript-eslint monorepo to v8.35.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 48s
test-build / build (pull_request) Successful in 56s
renovate / renovate (push) Successful in 1m7s
2025-07-02 00:01:05 +00:00
0b5c6ae999 update astro
Some checks failed
test-build / build (push) Successful in 38s
process-pull-requests / process-pull-requests (push) Failing after 10s
process-issues / process-issues (push) Failing after 10s
renovate / renovate (push) Successful in 2m14s
2025-06-28 16:41:12 -05:00
a20ba4ab43 Merge pull request 'Update dependency eslint to v9.30.0' (#25) from renovate/eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 22s
test-build / build (push) Successful in 25s
Reviewed-on: #25
2025-06-28 21:37:27 +00:00
550e7dfe52 Merge pull request 'Update dependency @directus/sdk to v20' (#21) from renovate/directus-sdk-20.x into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #21
2025-06-28 21:37:21 +00:00
03174cfb9d Update dependency @directus/sdk to v20
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 31s
2025-06-28 21:36:32 +00:00
da50c1928c Update dependency eslint to v9.30.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 31s
2025-06-28 21:36:25 +00:00
f1d1fe979e change confi
All checks were successful
test-build / build (push) Successful in 26s
renovate / renovate (push) Successful in 1m0s
2025-06-28 16:35:35 -05:00
4d6019d0b0 update node
All checks were successful
test-build / build (push) Successful in 42s
renovate / renovate (push) Successful in 1m7s
2025-06-28 16:33:16 -05:00
7dd302b3d4 Update dependency prettier to v3.6.2
All checks were successful
test-build / build (pull_request) Successful in 34s
renovate/stability-days Updates have met minimum release age requirement
test-build / build (push) Successful in 32s
renovate / renovate (push) Successful in 45s
2025-06-28 05:21:40 +00:00
8a8f2a6216 Update dependency framer-motion to v12.19.2
Some checks are pending
test-build / build (pull_request) Successful in 34s
renovate/stability-days Updates have not met minimum release age requirement
test-build / build (push) Successful in 26s
renovate / renovate (push) Successful in 1m0s
2025-06-28 05:20:17 +00:00
97775f1ceb Merge pull request 'Update typescript-eslint monorepo to v8.35.0' (#19) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 25s
renovate / renovate (push) Successful in 1m22s
Reviewed-on: #19
2025-06-28 05:19:32 +00:00
0a437a26f1 Merge pull request 'Update dependency prettier to v3.6.1' (#18) from renovate/prettier-3.x-lockfile into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #18
2025-06-28 05:19:19 +00:00
ba67b4d0e4 Merge pull request 'Update dependency framer-motion to v12.19.1' (#17) from renovate/framer-motion-12.x-lockfile into main
Some checks failed
test-build / build (push) Has been cancelled
renovate / renovate (push) Has been cancelled
Reviewed-on: #17
2025-06-28 05:19:03 +00:00
0bcfa9bed4 Update typescript-eslint monorepo to v8.35.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 30s
2025-06-28 00:03:22 +00:00
ada95481f7 Update dependency prettier to v3.6.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 30s
2025-06-28 00:03:06 +00:00
7c9f4acc00 Update dependency framer-motion to v12.19.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 30s
2025-06-28 00:02:54 +00:00
0b7b87580a Update tailwindcss monorepo to v4.1.11
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 42s
test-build / build (push) Successful in 33s
renovate / renovate (push) Successful in 1m43s
2025-06-28 00:01:05 +00:00
08f076e566 Update dependency prettier-plugin-tailwindcss to v0.6.13
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / build (pull_request) Successful in 1m22s
test-build / build (push) Successful in 42s
renovate / renovate (push) Successful in 21s
2025-06-20 18:18:43 +00:00
26c27b9353 update astro
Some checks failed
test-build / build (push) Successful in 1m20s
process-pull-requests / process-pull-requests (push) Failing after 10s
process-issues / process-issues (push) Failing after 12s
renovate / renovate (push) Successful in 1m37s
2025-06-20 13:17:48 -05:00
ce8b3a2e19 update config
All checks were successful
renovate / renovate (push) Successful in 39s
test-build / build (push) Successful in 1m22s
2025-06-20 00:02:41 -05:00
6d34c0d407 update config
Some checks failed
test-build / build (push) Failing after 2s
renovate / renovate (push) Successful in 12s
2025-06-19 23:59:05 -05:00
63607bbca3 Merge pull request 'Update ghcr.io/renovatebot/renovate Docker tag to v41' (#15) from renovate/ghcr.io-renovatebot-renovate-41.x into main
All checks were successful
renovate / renovate (push) Successful in 35s
test-build / build (push) Successful in 27s
Reviewed-on: #15
2025-06-20 04:40:12 +00:00
745d2553a0 Update ghcr.io/renovatebot/renovate Docker tag to v41
All checks were successful
test-build / build (pull_request) Successful in 27s
2025-06-20 04:32:37 +00:00
8a19559cc7 Merge pull request 'Update typescript-eslint monorepo to v8.34.1' (#13) from renovate/typescript-eslint-monorepo into main
All checks were successful
process-issues / process-issues (push) Successful in 11s
process-pull-requests / process-pull-requests (push) Successful in 11s
renovate / renovate (push) Successful in 39s
test-build / build (push) Successful in 1m10s
Reviewed-on: #13
2025-06-18 05:18:07 +00:00
42854db0fb Update typescript-eslint monorepo to v8.34.1
All checks were successful
test-build / build (pull_request) Successful in 1m2s
2025-06-17 00:01:12 +00:00
7b72e3849b Merge pull request 'Update dependency framer-motion to v12.18.1' (#12) from renovate/framer-motion-12.x-lockfile into main
Some checks failed
test-build / build (push) Successful in 51s
process-pull-requests / process-pull-requests (push) Successful in 6s
process-issues / process-issues (push) Failing after 5s
renovate / renovate (push) Successful in 45s
Reviewed-on: #12
2025-06-14 19:52:45 +00:00
6a8dbb0c7c Merge pull request 'Update dependency eslint to v9.29.0' (#11) from renovate/eslint-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #11
2025-06-14 19:52:35 +00:00
91fdf5a83f Update dependency framer-motion to v12.18.1
All checks were successful
test-build / build (pull_request) Successful in 1m6s
2025-06-14 00:01:33 +00:00
073f3a7916 Update dependency eslint to v9.29.0
All checks were successful
test-build / build (pull_request) Successful in 1m21s
2025-06-14 00:01:11 +00:00
38202841ca Merge pull request 'Update dependency framer-motion to v12.17.3' (#10) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
test-build / build (push) Successful in 57s
process-pull-requests / process-pull-requests (push) Successful in 13s
process-issues / process-issues (push) Successful in 8s
renovate / renovate (push) Successful in 1m26s
Reviewed-on: #10
2025-06-12 20:12:45 +00:00
0492922cce Update dependency framer-motion to v12.17.3
All checks were successful
test-build / build (pull_request) Successful in 40s
2025-06-12 20:11:41 +00:00
a17500835b Merge pull request 'Update dependency framer-motion to v12.17.0' (#9) from renovate/framer-motion-12.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 2m29s
test-build / build (push) Successful in 55s
Reviewed-on: #9
2025-06-12 18:06:43 +00:00
2f8b97208c Merge pull request 'Update tailwindcss monorepo to v4.1.10' (#8) from renovate/tailwindcss-monorepo into main
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
Reviewed-on: #8
2025-06-12 18:06:36 +00:00
d6c30d5e5b Update dependency framer-motion to v12.17.0
All checks were successful
test-build / build (pull_request) Successful in 1m9s
2025-06-12 00:01:41 +00:00
a7ea9db3aa Update tailwindcss monorepo to v4.1.10
All checks were successful
test-build / build (pull_request) Successful in 1m19s
2025-06-12 00:01:31 +00:00
9134e78e8a remove dispatch
All checks were successful
process-issues / process-issues (push) Successful in 7s
process-pull-requests / process-pull-requests (push) Successful in 7s
renovate / renovate (push) Successful in 1m31s
test-build / build (push) Successful in 39s
2025-06-10 16:43:37 -05:00
2ca7d6705d fix
All checks were successful
renovate / renovate (push) Successful in 17s
test-build / build (push) Successful in 46s
2025-06-10 16:42:15 -05:00
5722e8c7a1 fix
All checks were successful
renovate / renovate (push) Successful in 19s
test-build / build (push) Successful in 38s
2025-06-10 16:39:55 -05:00
e39fd2acb8 change token
All checks were successful
renovate / renovate (push) Successful in 21s
test-build / build (push) Successful in 40s
2025-06-10 16:29:55 -05:00
0313fd54bc add ref
All checks were successful
renovate / renovate (push) Successful in 16s
test-build / build (push) Successful in 50s
2025-06-10 16:23:38 -05:00
dbb0f6d7ff update workflows
All checks were successful
renovate / renovate (push) Successful in 16s
test-build / build (push) Successful in 58s
2025-06-10 16:15:10 -05:00
20669d9766 fix
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 1m18s
2025-06-10 14:04:19 -05:00
6b2e6353d1 add dispatch
Some checks failed
renovate / renovate (push) Successful in 19s
test-build / build (push) Has been cancelled
2025-06-10 14:03:40 -05:00
6d112b52df remove step
Some checks failed
renovate / renovate (push) Successful in 17s
test-build / build (push) Has been cancelled
2025-06-10 14:02:58 -05:00
ff17af604f convert to python script
Some checks failed
renovate / renovate (push) Successful in 27s
test-build / build (push) Has been cancelled
2025-06-10 14:01:26 -05:00
32ea0989d7 change to pull requests
All checks were successful
renovate / renovate (push) Successful in 22s
test-build / build (push) Successful in 1m27s
2025-06-10 13:11:43 -05:00
e4ab7d134c fix repo name
All checks were successful
renovate / renovate (push) Successful in 20s
test-build / build (push) Successful in 1m44s
2025-06-10 13:06:04 -05:00
5fad13655c fix env
All checks were successful
renovate / renovate (push) Successful in 21s
test-build / build (push) Successful in 1m35s
2025-06-10 12:56:18 -05:00
8614d40a64 debugging
All checks were successful
renovate / renovate (push) Successful in 17s
test-build / build (push) Successful in 48s
2025-06-10 12:40:20 -05:00
8c417b93b3 fix url
All checks were successful
renovate / renovate (push) Successful in 17s
test-build / build (push) Successful in 41s
2025-06-10 12:36:49 -05:00
1d9519831b temp debugging
All checks were successful
renovate / renovate (push) Successful in 20s
test-build / build (push) Successful in 48s
2025-06-10 12:35:13 -05:00
fa57f2e93f temp debugging
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 45s
2025-06-10 12:29:25 -05:00
9e01002d4e add more logging
All checks were successful
renovate / renovate (push) Successful in 21s
test-build / build (push) Successful in 46s
2025-06-10 12:25:45 -05:00
cb52c169a3 add logging
All checks were successful
renovate / renovate (push) Successful in 19s
test-build / build (push) Successful in 1m1s
2025-06-10 12:15:47 -05:00
3017668cd2 fix lint
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 2m31s
2025-06-10 12:05:33 -05:00
1972b3bc19 update lockfile
Some checks failed
renovate / renovate (push) Successful in 19s
test-build / build (push) Failing after 48s
release-image / release (push) Successful in 1m43s
2025-06-10 11:58:31 -05:00
af77f90a49 bump versions to 0.8.11
Some checks failed
test-build / build (push) Failing after 23s
renovate / renovate (push) Successful in 43s
release-image / release (push) Failing after 48s
2025-06-09 23:55:31 -05:00
bdda29f369 fix favicon path 2025-06-09 23:44:22 -05:00
644c5fcd6a fix footer 2025-06-09 23:37:47 -05:00
bafd8158d3 remove 2025-06-09 23:11:38 -05:00
4d9c1a3e8c changes for v4 tailwind 2025-06-09 23:03:04 -05:00
4a4233ac62 change module 2025-06-09 22:33:40 -05:00
c71957348d add pubilc image 2025-06-09 22:21:38 -05:00
400bf16dd9 use global value 2025-06-09 22:21:25 -05:00
85535614a0 remove dependencies 2025-06-09 22:21:09 -05:00
38fcbb635b change description 2025-06-09 21:47:43 -05:00
b1e57c3f17 use apply 2025-06-09 21:47:29 -05:00
e22a1985be remove unused keys
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 2m14s
2025-06-09 21:32:45 -05:00
70b0b86944 change transitions
All checks were successful
renovate / renovate (push) Successful in 1m8s
test-build / build (push) Successful in 1m16s
2025-06-09 21:31:20 -05:00
ba36de8e36 remove translate on hover for links and buttons 2025-06-09 21:21:13 -05:00
d2e44fe046 add gitea link 2025-06-09 21:20:48 -05:00
36ec797d3b change favicon 2025-06-09 19:34:30 -05:00
086d98ba50 remove ignored
Some checks failed
test-build / build (push) Successful in 47s
tag-old-issues / tag-old-issues (push) Failing after 1m11s
renovate / renovate (push) Successful in 24s
2025-06-09 15:59:59 -05:00
8a05fa4d96 update prettier and add eslint
All checks were successful
renovate / renovate (push) Successful in 18s
test-build / build (push) Successful in 2m11s
2025-06-09 15:54:56 -05:00
dbbf886de9 add test build
All checks were successful
renovate / renovate (push) Successful in 17s
test-build / build (push) Successful in 2m14s
2025-06-09 13:14:56 -05:00
ae7e21eb82 change registry
All checks were successful
renovate / renovate (push) Successful in 18s
2025-06-09 13:02:52 -05:00
ce6f476e8f fix repo
All checks were successful
renovate / renovate (push) Successful in 18s
2025-06-09 12:57:28 -05:00
0ca6be1d91 limit repo
All checks were successful
renovate / renovate (push) Successful in 55s
2025-06-09 12:56:12 -05:00
cedcae02ce update astro
All checks were successful
renovate / renovate (push) Successful in 1m41s
release-image / release (push) Successful in 2m13s
2025-06-09 12:38:55 -05:00
4ef6e85ed9 change url
Some checks failed
renovate / renovate (push) Has been cancelled
2025-06-09 12:37:04 -05:00
1ad039e9ff add workflow to tag old issues
All checks were successful
renovate / renovate (push) Successful in 1m14s
2025-06-09 12:32:34 -05:00
034d6d1120 downgrade priority
All checks were successful
renovate / renovate (push) Successful in 1m40s
2025-06-08 23:28:42 -05:00
2c436100c5 fix topic
All checks were successful
renovate / renovate (push) Successful in 1m14s
2025-06-08 23:23:57 -05:00
6ea1467653 change ntfy workflwo
All checks were successful
renovate / renovate (push) Successful in 2m30s
2025-06-08 23:02:40 -05:00
1ba76ab5cf change log level
All checks were successful
renovate / renovate (push) Successful in 1m22s
2025-06-08 22:29:17 -05:00
478482ab01 remove test
Some checks failed
renovate / renovate (push) Successful in 10m9s
release-image-gitea / release (push) Failing after 21m20s
2025-06-08 22:19:00 -05:00
f1e3e4ecaa change workflow
All checks were successful
renovate / renovate (push) Successful in 1m36s
2025-06-08 22:12:43 -05:00
05eb8a092c change command
Some checks failed
renovate / renovate (push) Successful in 5m33s
release-image-gitea / release (push) Failing after 11m33s
2025-06-08 21:54:10 -05:00
633e374a17 change tags
Some checks failed
renovate / renovate (push) Has been cancelled
2025-06-08 21:47:30 -05:00
cd75440a6d remove command
Some checks failed
renovate / renovate (push) Successful in 1m7s
release-image-gitea / release (push) Failing after 14m4s
2025-06-08 20:50:39 -05:00
3354975e2e remove command
Some checks failed
renovate / renovate (push) Has been cancelled
2025-06-08 20:49:53 -05:00
1ffe933d6e change build arg
Some checks failed
renovate / renovate (push) Successful in 1m26s
release-image-gitea / release (push) Failing after 1m24s
2025-06-08 20:45:47 -05:00
90318aad14 change build arg
Some checks failed
renovate / renovate (push) Successful in 1m15s
release-image-gitea / release (push) Failing after 1m19s
2025-06-08 20:39:46 -05:00
e454a510c6 change
All checks were successful
renovate / renovate (push) Successful in 1m4s
2025-06-08 20:35:06 -05:00
a6d3ec5052 change
All checks were successful
renovate / renovate (push) Successful in 1m8s
2025-06-08 20:33:24 -05:00
1d134d43da remove oci
All checks were successful
renovate / renovate (push) Successful in 1m11s
2025-06-08 20:30:25 -05:00
54c7c9e259 remove oci
All checks were successful
renovate / renovate (push) Successful in 1m9s
2025-06-08 20:26:29 -05:00
0d8cf28be4 modify daemon
All checks were successful
renovate / renovate (push) Successful in 1m16s
2025-06-08 20:24:03 -05:00
d78a8d8c45 use different registry
All checks were successful
renovate / renovate (push) Successful in 1m7s
2025-06-08 20:19:32 -05:00
5b6abeb9f9 use registry argument
Some checks failed
renovate / renovate (push) Successful in 1m34s
release-image-gitea / release (push) Failing after 23s
2025-06-08 20:14:29 -05:00
a3b0301d23 merge workflows 2025-06-08 20:09:45 -05:00
06f7546212 bump tag
Some checks failed
release-image-gitea / release (push) Failing after 22s
release-image-harbor / release (push) Failing after 26s
renovate / renovate (push) Successful in 1m19s
2025-06-08 19:49:37 -05:00
abd1d43f79 remove command 2025-06-08 19:49:19 -05:00
07f2f5f0e1 add node render
Some checks failed
release-image-gitea / release (push) Failing after 1m5s
renovate / renovate (push) Successful in 1m14s
release-image-harbor / release (push) Failing after 1m15s
2025-06-08 19:46:11 -05:00
91b53a33c2 update tags
Some checks failed
renovate / renovate (push) Successful in 1m43s
release-image-gitea / release (push) Failing after 5m13s
release-image-harbor / release (push) Failing after 5m16s
2025-06-08 19:10:25 -05:00
b3e23f3e6c update tags
Some checks failed
renovate / renovate (push) Has been cancelled
2025-06-08 19:09:57 -05:00
ab68b6248f fix tag 2025-06-08 19:01:01 -05:00
37d1f1d1f2 change workflows
Some checks failed
release-image-harbor / release (push) Failing after 7m20s
release-image-gitea / release (push) Failing after 7m21s
renovate / renovate (push) Successful in 2m6s
2025-06-08 17:15:25 -05:00
89e1c59e37 upgrade to tailwind 4
All checks were successful
renovate / renovate (push) Successful in 2m35s
2025-06-08 17:10:20 -05:00
7153f29022 update docker base
All checks were successful
renovate / renovate (push) Successful in 4m11s
2025-06-08 16:49:57 -05:00
51041f6ae9 apply prettier formatting
Some checks failed
renovate / renovate (push) Has been cancelled
2025-06-08 16:45:36 -05:00
67f12ecf72 add missing config
All checks were successful
renovate / renovate (push) Successful in 4m14s
2025-06-08 16:28:14 -05:00
3e89e6cb1c upgrade to different layout
Some checks failed
renovate / renovate (push) Successful in 5m22s
release-image-gitea / release (push) Failing after 7m9s
release-image-harbor / release (push) Failing after 7m9s
2025-06-08 16:02:39 -05:00
e1632629a9 add renovate
All checks were successful
renovate / renovate (push) Successful in 4m10s
2025-06-04 21:04:00 -05:00
87343e78bb add ntfy action 2025-05-17 20:56:04 -05:00
f243249fb8 update tag
All checks were successful
release-image-gitea / release (push) Successful in 47s
release-image-harbor / release (push) Successful in 50s
2025-05-15 20:43:22 -05:00
6e5458de37 fix lock 2025-05-15 20:33:04 -05:00
b7ea8165d2 update dependencies
Some checks failed
release-image-gitea / release (push) Failing after 2m22s
release-image-harbor / release (push) Failing after 47s
2025-05-15 20:27:06 -05:00
ae4941073c update repo config 2025-03-20 01:15:10 -05:00
de87ffeff2 change tag 2025-03-14 22:55:16 -05:00
369e97af41 bump package image
Some checks failed
release-image-gitea / release (push) Successful in 54s
release-image-harbor / release (push) Failing after 52s
2025-03-14 22:37:55 -05:00
754ff5d9a9 add harbor 2025-03-14 22:37:03 -05:00
351cac00b3 use k8 driver 2025-03-14 22:20:45 -05:00
11c85e324e remove container 2025-03-14 21:52:01 -05:00
5a418428d3 change config 2025-03-14 21:26:34 -05:00
3d4c9c2214 remove verify 2025-03-14 21:16:17 -05:00
10262c4b7a remove certs 2025-03-14 21:15:07 -05:00
57ea8374a5 change workflow 2025-03-14 21:13:27 -05:00
e9e1cabd11 add podman 2025-03-14 21:04:35 -05:00
4c1ec680a9 use buildah 2025-03-14 20:58:33 -05:00
4f826e8964 add build step 2025-03-14 20:43:18 -05:00
3ddce86e64 change config 2025-03-14 20:32:49 -05:00
61aa06310c update 2025-03-14 20:15:23 -05:00
03195017c5 update version 2025-03-14 16:56:25 -05:00
fc3f4fdad4 fix workflow 2025-03-14 16:52:43 -05:00
fc42f31fb0 update images 2025-03-14 16:51:34 -05:00
renovate[bot]
e56b3a001e Update docker/build-push-action digest to 0adf995 (#38)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 23:17:00 -06:00
renovate[bot]
13711618b7 Update docker/build-push-action digest to 67a2d40 (#35)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 17:17:55 -06:00
04980a38af update tag 2025-01-09 21:31:14 -06:00
385ad20c82 update lock 2025-01-09 21:26:35 -06:00
761652f46d update dependencies 2025-01-09 21:25:00 -06:00
renovate[bot]
8f6b1af8ad Update docker/metadata-action digest to 8e1d546 (#32)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 21:17:30 -06:00
renovate[bot]
90c8d30e3f Update docker/login-action digest to 327cd5a (#31)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 21:17:19 -06:00
renovate[bot]
ad9128acea Update docker/build-push-action digest to 31ca4e5 (#29)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 21:16:45 -06:00
renovate[bot]
5f9235c9dc Migrate config .github/renovate.json (#27)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:53:06 -06:00
renovate[bot]
3b2702af36 Update renovate/renovate Docker tag to v39 (#24)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:52:28 -06:00
renovate[bot]
f999b9a92c Update docker/metadata-action digest to 906ecf0 (#21)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:50:40 -06:00
renovate[bot]
35c940bef7 Update docker/build-push-action digest to 7e09459 (#20)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:50:36 -06:00
renovate[bot]
7aa6898a93 Update docker/login-action digest to 7ca3450 (#15)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-21 19:50:29 -06:00
9d77c9db2a update dependencies 2024-12-21 19:48:14 -06:00
528eb8fb2e update lockfile 2024-09-30 17:15:52 -05:00
14e73d61ef update dependencies 2024-09-30 17:13:16 -05:00
renovate[bot]
d10fe280a5 Update dependency @astrojs/node to v8.3.4 (#12)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:08:27 -05:00
renovate[bot]
5ea5774042 Update docker/build-push-action digest to 4f58ea7 (#13)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:08:15 -05:00
renovate[bot]
3c82fb43d8 Update docker/login-action digest to 3b8fed7 (#10)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:07:40 -05:00
renovate[bot]
c7071ab583 Update docker/metadata-action digest to 70b2cdc (#11)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:07:27 -05:00
renovate[bot]
125d70d62e Update dependency typescript to v5.6.2 (#9)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:07:15 -05:00
renovate[bot]
357634d3f0 Update dependency @directus/sdk to v17.0.1 (#8)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 17:06:28 -05:00
renovate[bot]
bd4b85c874 Update dependency astro to v4.14.6 (#6)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-30 16:23:34 -05:00
7efa375427 remove author field 2024-08-24 02:09:34 -05:00
358d6b91c6 upgrade base image 2024-08-24 01:35:22 -05:00
92d4be91df upgrade astro 2024-08-24 01:34:16 -05:00
0f5fc27371 convert to use directus 2024-08-24 01:23:12 -05:00
151 changed files with 15427 additions and 3783 deletions

View File

@@ -1,3 +1,5 @@
.DS_Store
.astro
.vscode
node_modules
dist
dist

View File

@@ -0,0 +1,143 @@
name: release-image-gitea
on:
push:
tags:
- 2.*
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1
cache: pnpm
- name: Install Dependencies
run: pnpm install
- name: Lint Code
run: pnpm lint
- name: Build Project
run: pnpm build
release:
runs-on: ubuntu-js
needs: build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Login to Docker
uses: docker/login-action@v3
with:
registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }}
password: ${{ secrets.DH_TOKEN }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v5
with:
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
- name: Get Version Info
id: version
run: |
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
if git describe --tags --exact-match HEAD 2>/dev/null; then
echo "is_release=true" >> $GITHUB_OUTPUT
else
echo "is_release=false" >> $GITHUB_OUTPUT
fi
- name: Build and Push Image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION=${{ steps.version.outputs.version }}
COMMIT_SHA=${{ steps.version.outputs.commit }}
IS_RELEASE=${{ steps.version.outputs.is_release }}
file: ./Dockerfile
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Profile'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Image for Site Profile has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Profile'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Image for Site Profile has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-profile/actions?workflow=release-image.yml", "clear": true}]'
image: true

View File

@@ -0,0 +1,143 @@
name: release-image-harbor
on:
push:
tags:
- 2.*
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1
cache: pnpm
- name: Install Dependencies
run: pnpm install
- name: Lint Code
run: pnpm lint
- name: Build Project
run: pnpm build
release:
runs-on: ubuntu-js
needs: build
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }}
- name: Login to Docker
uses: docker/login-action@v3
with:
registry: ${{ vars.DH_REGISTRY }}
username: ${{ secrets.DH_USERNAME }}
password: ${{ secrets.DH_TOKEN }}
- name: Create Kubeconfig
run: |
mkdir $HOME/.kube
echo "${{ secrets.KUBECONFIG_BUILDX }}" > $HOME/.kube/config
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
driver: kubernetes
driver-opts: |
namespace=gitea
qemu.install=true
buildkitd-config-inline: |
[registry."docker.io"]
mirrors = ["harbor.alexlebens.net/proxy-hub.docker/"]
- name: Available Platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Extract Metadata
id: meta
uses: docker/metadata-action@v5
with:
tags: |
type=ref,event=branch
type=ref,event=tag
type=sha,format=long
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
images: |
${{ vars.REGISTRY_HOST }}/images/site-profile
- name: Get Version Info
id: version
run: |
echo "version=$(git describe --tags --always)" >> $GITHUB_OUTPUT
echo "commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
if git describe --tags --exact-match HEAD 2>/dev/null; then
echo "is_release=true" >> $GITHUB_OUTPUT
else
echo "is_release=false" >> $GITHUB_OUTPUT
fi
- name: Build and Push Image
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
VERSION=${{ steps.version.outputs.version }}
COMMIT_SHA=${{ steps.version.outputs.commit }}
IS_RELEASE=${{ steps.version.outputs.is_release }}
file: ./Dockerfile
- name: ntfy Success
uses: niniyas/ntfy-action@master
if: success()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Success - Site Profile'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: 'Image for Site Profile has been released!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Release Failure - Site Profile'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Image for Site Profile has failed to be released.'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-profile/actions?workflow=release-image.yml", "clear": true}]'
image: true

View File

@@ -0,0 +1,34 @@
name: renovate
on:
schedule:
- cron: '@daily'
push:
branches:
- main
workflow_dispatch:
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:43
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Renovate
run: renovate
env:
RENOVATE_PLATFORM: gitea
RENOVATE_ENDPOINT: ${{ vars.INSTANCE_URL }}
RENOVATE_REPOSITORIES: alexlebens/site-profile
RENOVATE_GIT_AUTHOR: Renovate Bot <renovate-bot@alexlebens.net>
RENOVATE_REDIS_URL: ${{ vars.RENOVATE_REDIS_URL }}
LOG_LEVEL: info
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }}
RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.RENOVATE_GIT_PRIVATE_KEY }}
RENOVATE_GITHUB_COM_TOKEN: ${{ secrets.RENOVATE_GITHUB_COM_TOKEN }}
RENOVATE_REGISTRY_ALIASES: '{"dhi.io": "dhi.io"}'
RENOVATE_HOST_RULES: '[{"matchHost":"dhi.io","hostType":"docker","username":"${{ secrets.RENOVATE_DHI_USER }}","password":"${{ secrets.RENOVATE_DHI_TOKEN }}"}]'

View File

@@ -0,0 +1,87 @@
name: test-build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10.x
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 24.13.1
cache: pnpm
- name: Install Dependencies
run: pnpm install
- name: Lint Code
run: pnpm lint
- name: Build Project
run: pnpm build
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Site Profile'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Tests have failed for building Site Profile'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-profile/actions?workflow=test-build.yaml", "clear": true}]'
image: true
guarddog:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Install GuardDog
run: |
python3 -m pip install --upgrade pip
python3 -m pip install guarddog
- name: Run GuardDog
run: |
guarddog npm scan ./
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Security Failure - Site Profile'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Guarddog scan failed for Site Profile'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/site-profile/actions?workflow=test-build.yaml", "clear": true}]'
image: true

View File

@@ -1,2 +0,0 @@
# This file is processed by Renovate bot so that it creates a PR on new major Renovate versions
FROM renovate/renovate:38

44
.github/renovate.json vendored
View File

@@ -1,44 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"schedule": [
"every weekday"
],
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Disables for non major Renovate version",
"matchPaths": [
".github/renovate-update-notification/Dockerfile"
],
"matchUpdateTypes": [
"minor",
"patch",
"pin",
"digest",
"rollback"
],
"enabled": false
},
{
"description": "Generate for major Renovate version",
"matchPaths": [
".github/renovate-update-notification/Dockerfile"
],
"matchUpdateTypes": [
"major"
],
"addLabels": [
"upgrade"
],
"automerge": false
}
]
}

View File

@@ -1,45 +0,0 @@
name: release-image
on:
push:
tags:
- 0.*
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
release-image:
permissions:
contents: read
packages: write
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log into the container registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@60a0d343a0d8a18aedee9d34e62251f752153bdb
with:
tags: |
type=ref,event=branch
type=ref,event=tag
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
file: ./Dockerfile

8
.gitignore vendored
View File

@@ -20,8 +20,6 @@ pnpm-debug.log*
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/
# vscode workspace
site-profile.code-workspace
# ide
.vscode/
site-profile.code-workspace

3
.npmrc Normal file
View File

@@ -0,0 +1,3 @@
registry=https://registry.npmjs.org/
engine-strict=true
save-exact=true

1
.prettierignore Normal file
View File

@@ -0,0 +1 @@
/src/components/ui/sections/Experience.astro

View File

@@ -1,4 +0,0 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}

11
.vscode/launch.json vendored
View File

@@ -1,11 +0,0 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

View File

@@ -1,17 +1,13 @@
FROM node:20.16.0-alpine3.20 AS base
LABEL version="0.4.0"
LABEL description="Astro based website to use as a profile"
FROM docker.io/node:24.13.1-alpine AS builder
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
FROM base AS prod-deps
FROM builder AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
FROM prod-deps AS build-deps
@@ -21,11 +17,16 @@ FROM build-deps AS build
COPY . .
RUN pnpm run build
FROM base AS runtime
FROM dhi.io/node:24.13.1 AS runtime
WORKDIR /app
COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=build /app/dist /app/dist
LABEL version="2.15.1"
LABEL description="Astro based personal website"
ENV HOST=0.0.0.0
ENV PORT=4321
EXPOSE 4321
CMD node ./dist/server/entry.mjs
EXPOSE $PORT
CMD ["node", "./dist/server/entry.mjs"]

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2024 Alex Lebens
Copyright (c) 2025 Alex Lebens
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1 +1,21 @@
# Profile
# This is an open-source and simple blog built with Astro.
Personal site used for information about myself and blog.
## Development
With dependencies installed, you can utilize the following npm scripts to manage your project's development lifecycle:
- `pnpm build`: Bundles your site into static files for production.
- `pnpm dev`: Starts a local development server with hot reloading enabled.
- `pnpm preview`: Serves your build output locally for preview before deployment.
For detailed help with Astro CLI commands, visit [Astro's documentation](https://docs.astro.build/en/reference/cli-reference/).
## Thanks
Thanks https://github.com/godruoyi/gblog/tree/gblog-template, https://github.com/mearashadowfax/ScrewFast,
## License
This project is released under the MIT License. Please read the [LICENSE](https://gitea.alexlebens.dev/alexlebens/site-profile/src/LICENSE.md) file for more details.

View File

@@ -1,10 +1,90 @@
import { defineConfig } from 'astro/config';
import node from "@astrojs/node";
import node from '@astrojs/node';
import partytown from '@astrojs/partytown';
import react from '@astrojs/react';
import sitemap from '@astrojs/sitemap';
import tailwindcss from '@tailwindcss/vite';
import icon from 'astro-icon';
import swup from '@swup/astro';
import { getSiteURL } from './src/support/url';
export default defineConfig({
output: "hybrid",
site: getSiteURL(),
image: {
remotePatterns: [
{ protocol: 'https', hostname: '*.alexlebens.net' },
{ protocol: 'https', hostname: '*.jsdelivr.net' },
{ protocol: 'https', hostname: '*.icons8.com' },
],
service: {
entrypoint: 'astro/assets/services/sharp',
}
},
prefetch: true,
integrations: [
partytown(),
react(),
sitemap(),
icon({
include: {
mdi: ['*'],
},
}),
swup({
theme: 'fade',
native: true,
cache: true,
preload: true,
accessibility: true,
smoothScrolling: true,
morph: ['#nav'],
}),
(await import('@playform/compress')).default({
CSS: true,
JavaScript: true,
HTML: {
'html-minifier-terser': {
collapseWhitespace: true,
minifyCSS: false,
minifyJS: true,
},
},
Image: false,
SVG: true,
Logger: 2,
}),
],
markdown: {
syntaxHighlight: false,
},
plugins: {
'@tailwindcss/postcss': {},
},
vite: {
plugins: [tailwindcss()],
},
output: 'static',
adapter: node({
mode: "standalone"
})
});
mode: 'standalone',
}),
build: {
// Specifies the directory in the build output where Astro-generated assets (bundled JS and CSS for example) should live.
// see https://docs.astro.build/en/reference/configuration-reference/#buildassets
assets: 'assets',
// see https://docs.astro.build/en/reference/configuration-reference/#buildassetsprefix
assetsPrefix:
!!import.meta.env.S3_ENABLE || !!process.env.S3_ENABLE ? 'https://digitalocean.com' : '',
},
});

11
eslint.config.mjs Normal file
View File

@@ -0,0 +1,11 @@
import eslintPluginAstro from 'eslint-plugin-astro';
import eslintConfigPrettier from "eslint-config-prettier/flat";
export default [
...eslintPluginAstro.configs.recommended,
eslintConfigPrettier,
{
rules: {
}
}
];

View File

@@ -1,19 +1,80 @@
{
"name": "site-profile",
"type": "module",
"version": "0.4.0",
"version": "2.15.1",
"homepage": "https://www.alexlebens.dev",
"bugs": {
"url": "https://gitea.alexlebens.dev/alexlebens/site-profile/issues",
"email": "alexander.lebens@gmail.com"
},
"repository": {
"type": "git",
"url": "https://gitea.alexlebens.dev/alexlebens/site-profile"
},
"license": "MIT",
"author": {
"name": "Alex Lebens",
"email": "alexander.lebens@gmail.com",
"url": "https://www.alexlebens.dev"
},
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
"astro": "astro",
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,md,mdx,astro}\"",
"lint": "eslint \"src/**/*.{js,ts,jsx,tsx,astro}\"",
"lint:fix": "eslint --fix \"src/**/*.{js,ts,jsx,tsx,astro}\""
},
"dependencies": {
"@astrojs/check": "^0.9.3",
"@astrojs/node": "^8.3.3",
"@directus/sdk": "^17.0.0",
"astro": "^4.14.2",
"typescript": "^5.5.4"
"@astrojs/check": "^0.9.6",
"@astrojs/node": "^9.5.3",
"@astrojs/partytown": "^2.1.4",
"@astrojs/react": "^4.4.2",
"@astrojs/rss": "^4.0.15",
"@astrojs/sitemap": "^3.7.0",
"@directus/sdk": "^21.1.0",
"@giscus/react": "^3.1.0",
"@iconify-json/mdi": "^1.2.3",
"@iconify-json/pajamas": "^1.2.15",
"@iconify-json/simple-icons": "^1.2.70",
"@playform/compress": "^0.2.1",
"@swup/astro": "^1.8.0",
"@tailwindcss/postcss": "^4.1.18",
"@tailwindcss/vite": "^4.1.18",
"@types/react": "^19.2.14",
"@types/unist": "^3.0.3",
"astro": "^5.17.2",
"astro-icon": "^1.1.5",
"marked": "^17.0.2",
"marked-shiki": "^1.2.1",
"mdast-util-to-string": "^4.0.0",
"preline": "^4.0.1",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"reading-time": "^1.5.0",
"sharp": "^0.34.5",
"sharp-ico": "^0.1.5",
"shiki": "^3.22.0",
"tailwindcss": "^4.1.18",
"ultrahtml": "^1.6.0"
},
"devDependencies": {
"@eslint-react/eslint-plugin": "^2.13.0",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/typography": "^0.5.19",
"eslint": "^10.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-astro": "^1.6.0",
"eslint-plugin-format": "^1.4.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.5.0",
"prettier": "^3.8.1",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.7.2",
"timeago.js": "^4.0.2",
"typescript": "^5.9.3",
"typescript-eslint": "^8.55.0"
}
}
}

11654
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

2
pnpm-workspace.yaml Normal file
View File

@@ -0,0 +1,2 @@
onlyBuiltDependencies:
- swup

8
postcss.config.mjs Normal file
View File

@@ -0,0 +1,8 @@
/** @type {import('postcss-load-config').Config} */
const config = {
plugins: {
'@tailwindcss/postcss': {},
},
};
export default config;

23
prettier.config.mjs Normal file
View File

@@ -0,0 +1,23 @@
/** @type {import("prettier").Config} */
const config = {
printWidth: 100,
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
useTabs: false,
plugins: [
'prettier-plugin-astro',
'prettier-plugin-tailwindcss',
],
overrides: [
{
files: '*.astro',
options: {
parser: 'astro',
},
},
],
};
export default config;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1 +0,0 @@
<svg height="640" width="1440" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a"><stop offset=".58" stop-opacity="0"/><stop offset="1"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="793.5" x2="759.5" xlink:href="#a" y1="261.5" y2="149.5"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="644.19" x2="645.54" xlink:href="#a" y1="398.02" y2="267.7"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="547" x2="522.36" xlink:href="#a" y1="457.27" y2="342.85"/><g clip-rule="evenodd" fill-rule="evenodd" opacity=".15"><path d="m439.57 249.55a2149.47 2149.47 0 0 1 1193.87-182.45l-12.48 93.17a2055.46 2055.46 0 0 0 -1141.66 174.47l-454.24 211.86-39.73-85.2z" fill="url(#b)"/><path d="m272.3 266.93a2393.36 2393.36 0 0 1 1328.96 205.6l-44.42 94.78a2288.7 2288.7 0 0 0 -1270.84-196.61l-553.29 73.05-13.7-103.77z" fill="url(#c)" opacity=".56"/><path d="m195.26 416.13a2149.46 2149.46 0 0 1 1204.86-83.21l-20.13 91.82a2055.46 2055.46 0 0 0 -1152.17 79.56l-470.18 173.62-32.56-88.18 470.18-173.62z" fill="url(#d)"/></g><path d="m-258.15 719.56 1743.12-517.56 182.93 616.12-1743.1 517.56z" fill="#090b11"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1440" height="640"><g opacity=".15"><path fill="url(#a)" d="M439.57 249.55A2149.47 2149.47 0 0 1 1633.44 67.1l-12.48 93.17A2055.46 2055.46 0 0 0 479.3 334.74L25.06 546.6l-39.73-85.2z"/><path fill="url(#b)" d="M272.3 265.93a2393.36 2393.36 0 0 1 1328.96 205.6l-44.42 94.78A2288.7 2288.7 0 0 0 286 369.7l-553.29 73.05-13.7-103.77z" opacity=".56"/><path fill="url(#c)" d="M195.26 416.13a2149.47 2149.47 0 0 1 1204.86-83.21l-20.13 91.82A2055.46 2055.46 0 0 0 227.82 504.3l-470.18 173.62-32.56-88.18 470.18-173.62z"/></g><path fill="#fff" d="M-258 718.56 1485.12 201l182.93 616.12-1743.11 517.56z"/><defs><linearGradient id="d"><stop offset=".58" stop-opacity="0"/><stop offset="1"/></linearGradient><linearGradient xlink:href="#d" id="a" x1="793.5" x2="759.5" y1="261.5" y2="149.5" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#d" id="b" x1="644.19" x2="645.54" y1="397.02" y2="266.7" gradientUnits="userSpaceOnUse"/><linearGradient xlink:href="#d" id="c" x1="547" x2="522.36" y1="457.27" y2="342.85" gradientUnits="userSpaceOnUse"/></defs></svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
public/i.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 KiB

4
public/robots.txt Normal file
View File

@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://www.alexlebens.dev/sitemap-index.xml

View File

@@ -0,0 +1,352 @@
/**
* Skipped minification because the original files appears to be already minified.
* Original file: /npm/@preline/collapse@2.1.0/index.js
*
* Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
*/
!(function (t, e) {
if ('object' == typeof exports && 'object' == typeof module) module.exports = e();
else if ('function' == typeof define && define.amd) define([], e);
else {
var n = e();
for (var o in n) ('object' == typeof exports ? exports : t)[o] = n[o];
}
})(self, () =>
(() => {
'use strict';
var t = {
737: (t, e) => {
/*
* HSBasePlugin
* @version: 2.1.0
* @author: HTMLStream
* @license: Licensed under MIT (https://preline.co/docs/license.html)
* Copyright 2023 HTMLStream
*/
Object.defineProperty(e, '__esModule', { value: !0 });
var n = (function () {
function t(t, e, n) {
((this.el = t),
(this.options = e),
(this.events = n),
(this.el = t),
(this.options = e),
(this.events = {}));
}
return (
(t.prototype.createCollection = function (t, e) {
var n;
t.push({
id:
(null === (n = null == e ? void 0 : e.el) || void 0 === n ? void 0 : n.id) ||
t.length + 1,
element: e,
});
}),
(t.prototype.fireEvent = function (t, e) {
if ((void 0 === e && (e = null), this.events.hasOwnProperty(t)))
return this.events[t](e);
}),
(t.prototype.on = function (t, e) {
this.events[t] = e;
}),
t
);
})();
e.default = n;
},
652: function (t, e, n) {
/*
* HSCollapse
* @version: 2.1.0
* @author: HTMLStream
* @license: Licensed under MIT (https://preline.co/docs/license.html)
* Copyright 2023 HTMLStream
*/
var o,
i =
(this && this.__extends) ||
((o = function (t, e) {
return (
(o =
Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array &&
function (t, e) {
t.__proto__ = e;
}) ||
function (t, e) {
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);
}),
o(t, e)
);
}),
function (t, e) {
if ('function' != typeof e && null !== e)
throw new TypeError(
'Class extends value ' + String(e) + ' is not a constructor or null'
);
function n() {
this.constructor = t;
}
(o(t, e),
(t.prototype =
null === e ? Object.create(e) : ((n.prototype = e.prototype), new n())));
});
Object.defineProperty(e, '__esModule', { value: !0 });
var s = n(969),
r = (function (t) {
function e(e, n, o) {
var i = t.call(this, e, n, o) || this;
return (
(i.contentId = i.el.dataset.hsCollapse),
(i.content = document.querySelector(i.contentId)),
(i.animationInProcess = !1),
i.content && i.init(),
i
);
}
return (
i(e, t),
(e.prototype.init = function () {
var t = this;
(this.createCollection(window.$hsCollapseCollection, this),
this.el.addEventListener('click', function () {
t.content.classList.contains('open') ? t.hide() : t.show();
}));
}),
(e.prototype.hideAllMegaMenuItems = function () {
this.content
.querySelectorAll('.hs-mega-menu-content.block')
.forEach(function (t) {
(t.classList.remove('block'), t.classList.add('hidden'));
});
}),
(e.prototype.show = function () {
var t = this;
if (this.animationInProcess || this.el.classList.contains('open')) return !1;
((this.animationInProcess = !0),
this.el.classList.add('open'),
this.content.classList.add('open'),
this.content.classList.remove('hidden'),
(this.content.style.height = '0'),
setTimeout(function () {
((t.content.style.height = ''.concat(t.content.scrollHeight, 'px')),
t.fireEvent('beforeOpen', t.el),
(0, s.dispatch)('beforeOpen.hs.collapse', t.el, t.el));
}),
(0, s.afterTransition)(this.content, function () {
((t.content.style.height = ''),
t.fireEvent('open', t.el),
(0, s.dispatch)('open.hs.collapse', t.el, t.el),
(t.animationInProcess = !1));
}));
}),
(e.prototype.hide = function () {
var t = this;
if (this.animationInProcess || !this.el.classList.contains('open')) return !1;
((this.animationInProcess = !0),
this.el.classList.remove('open'),
(this.content.style.height = ''.concat(this.content.scrollHeight, 'px')),
setTimeout(function () {
t.content.style.height = '0';
}),
this.content.classList.remove('open'),
(0, s.afterTransition)(this.content, function () {
(t.content.classList.add('hidden'),
(t.content.style.height = ''),
t.fireEvent('hide', t.el),
(0, s.dispatch)('hide.hs.collapse', t.el, t.el),
(t.animationInProcess = !1));
}),
this.content.querySelectorAll('.hs-mega-menu-content.block').length &&
this.hideAllMegaMenuItems());
}),
(e.getInstance = function (t, e) {
void 0 === e && (e = !1);
var n = window.$hsCollapseCollection.find(function (e) {
return e.element.el === ('string' == typeof t ? document.querySelector(t) : t);
});
return n ? (e ? n : n.element.el) : null;
}),
(e.autoInit = function () {
(window.$hsCollapseCollection || (window.$hsCollapseCollection = []),
document
.querySelectorAll('.hs-collapse-toggle:not(.--prevent-on-load-init)')
.forEach(function (t) {
window.$hsCollapseCollection.find(function (e) {
var n;
return (
(null === (n = null == e ? void 0 : e.element) || void 0 === n
? void 0
: n.el) === t
);
}) || new e(t);
}));
}),
(e.show = function (t) {
var e = window.$hsCollapseCollection.find(function (e) {
return e.element.el === ('string' == typeof t ? document.querySelector(t) : t);
});
e && e.element.content.classList.contains('hidden') && e.element.show();
}),
(e.hide = function (t) {
var e = window.$hsCollapseCollection.find(function (e) {
return e.element.el === ('string' == typeof t ? document.querySelector(t) : t);
});
e && !e.element.content.classList.contains('hidden') && e.element.hide();
}),
(e.on = function (t, e, n) {
var o = window.$hsCollapseCollection.find(function (t) {
return t.element.el === ('string' == typeof e ? document.querySelector(e) : e);
});
o && (o.element.events[t] = n);
}),
e
);
})(n(737).default);
(window.addEventListener('load', function () {
r.autoInit();
}),
'undefined' != typeof window && (window.HSCollapse = r),
(e.default = r));
},
969: function (t, e) {
var n = this;
(Object.defineProperty(e, '__esModule', { value: !0 }),
(e.menuSearchHistory =
e.classToClassList =
e.htmlToElement =
e.afterTransition =
e.dispatch =
e.debounce =
e.isFormElement =
e.isParentOrElementHidden =
e.isEnoughSpace =
e.isIpadOS =
e.isIOS =
e.getClassPropertyAlt =
e.getClassProperty =
e.stringToBoolean =
void 0));
e.stringToBoolean = function (t) {
return 'true' === t;
};
e.getClassProperty = function (t, e, n) {
return (
void 0 === n && (n = ''),
(window.getComputedStyle(t).getPropertyValue(e) || n).replace(' ', '')
);
};
e.getClassPropertyAlt = function (t, e, n) {
void 0 === n && (n = '');
var o = '';
return (
t.classList.forEach(function (t) {
t.includes(e) && (o = t);
}),
o.match(/:(.*)]/) ? o.match(/:(.*)]/)[1] : n
);
};
e.isIOS = function () {
return (
!!/iPad|iPhone|iPod/.test(navigator.platform) ||
(navigator.maxTouchPoints &&
navigator.maxTouchPoints > 2 &&
/MacIntel/.test(navigator.platform))
);
};
e.isIpadOS = function () {
return (
navigator.maxTouchPoints &&
navigator.maxTouchPoints > 2 &&
/MacIntel/.test(navigator.platform)
);
};
e.isEnoughSpace = function (t, e, n, o, i) {
(void 0 === n && (n = 'auto'), void 0 === o && (o = 10), void 0 === i && (i = null));
var s = e.getBoundingClientRect(),
r = i ? i.getBoundingClientRect() : null,
l = window.innerHeight,
c = r ? s.top - r.top : s.top,
a = (i ? r.bottom : l) - s.bottom,
u = t.clientHeight + o;
return 'bottom' === n ? a >= u : 'top' === n ? c >= u : c >= u || a >= u;
};
e.isFormElement = function (t) {
return (
t instanceof HTMLInputElement ||
t instanceof HTMLTextAreaElement ||
t instanceof HTMLSelectElement
);
};
var o = function (t) {
return !!t && ('none' === window.getComputedStyle(t).display || o(t.parentElement));
};
e.isParentOrElementHidden = o;
e.debounce = function (t, e) {
var o;
return (
void 0 === e && (e = 200),
function () {
for (var i = [], s = 0; s < arguments.length; s++) i[s] = arguments[s];
(clearTimeout(o),
(o = setTimeout(function () {
t.apply(n, i);
}, e)));
}
);
};
e.dispatch = function (t, e, n) {
void 0 === n && (n = null);
var o = new CustomEvent(t, {
detail: { payload: n },
bubbles: !0,
cancelable: !0,
composed: !1,
});
e.dispatchEvent(o);
};
e.afterTransition = function (t, e) {
var n = function () {
(e(), t.removeEventListener('transitionend', n, !0));
};
window.getComputedStyle(t, null).getPropertyValue('transition') !==
(navigator.userAgent.includes('Firefox') ? 'all' : 'all 0s ease 0s')
? t.addEventListener('transitionend', n, !0)
: e();
};
e.htmlToElement = function (t) {
var e = document.createElement('template');
return ((t = t.trim()), (e.innerHTML = t), e.content.firstChild);
};
e.classToClassList = function (t, e, n, o) {
(void 0 === n && (n = ' '),
void 0 === o && (o = 'add'),
t.split(n).forEach(function (t) {
return 'add' === o ? e.classList.add(t) : e.classList.remove(t);
}));
};
e.menuSearchHistory = {
historyIndex: -1,
addHistory: function (t) {
this.historyIndex = t;
},
existsInHistory: function (t) {
return t > this.historyIndex;
},
clearHistory: function () {
this.historyIndex = -1;
},
};
},
},
e = {};
var n = (function n(o) {
var i = e[o];
if (void 0 !== i) return i.exports;
var s = (e[o] = { exports: {} });
return (t[o].call(s.exports, s, s.exports, n), s.exports);
})(652);
return n;
})()
);

40
renovate.json Normal file
View File

@@ -0,0 +1,40 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Label dependency",
"matchDatasources": [
"npm"
],
"addLabels": [
"dependency"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge dependency patch",
"matchDatasources": [
"npm"
],
"matchUpdateTypes": [
"patch"
],
"addLabels": [
"dependency",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
}
]
}

View File

@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"typescript.tsdk": "node_modules/typescript/lib"
}
}

View File

@@ -0,0 +1,90 @@
---
import { getImage } from 'astro:assets';
import { readSingleton } from '@directus/sdk';
import directus from '@lib/directus';
import { SEO } from '@/config';
import brandSrc from '@images/brand_logo.png';
import faviconSvgSrc from '@images/favicon_icon.svg';
import faviconSrc from '@images/favicon_icon.png';
interface Props {
title: string;
description: string;
ogImage?: any;
ogTitle?: string;
ogDescription?: string;
structuredData?: object;
}
const canonicalURL = Astro.url.href;
let {
title,
description,
ogImage,
ogTitle = title,
ogDescription = description,
structuredData = SEO.structuredData,
} = Astro.props;
const global = await directus.request(readSingleton('site_global'));
let card = 'summary_large_image';
if (!ogImage) {
ogImage = brandSrc;
card = 'summary';
}
const faviconSvg = await getImage({ src: faviconSvgSrc, format: 'svg' });
const appleTouchIcon = await getImage({ src: faviconSrc, width: 180, height: 180, format: 'png' });
const socialImageRes = await getImage({ src: ogImage, width: 1200, height: 600 });
let socialImage = socialImageRes.src;
if (!socialImage.startsWith('http')) {
socialImage = Astro.url.origin + socialImageRes.src;
}
---
<!-- Inject structured data https://developers.google.com/search/docs/advanced/structured-data/intro-structured-data -->{
structuredData && <script type="application/ld+json" set:html={JSON.stringify(structuredData)} />
}
<!-- Global Metadata -->
<meta name="title" content={title} />
<meta name="description" content={description} />
<meta charset="utf-8" />
<meta name="web_author" content={global.name} />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=5.0, minimum-scale=1.0"
/>
<meta name="generator" content={Astro.generator} />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="theme-color" content="#facc15" />
<meta name="robots" content="index, follow" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:locale" content="en_US" />
<meta property="og:url" content={Astro.url} />
<meta property="og:title" content={ogTitle} />
<meta property="og:site_name" content={global.name} />
<meta property="og:description" content={ogDescription} />
<meta property="og:image" content={socialImage} />
<meta content="1200" property="og:image:width" />
<meta content="600" property="og:image:height" />
<meta content="image/png" property="og:image:type" />
<!-- Links -->
<link href={canonicalURL} rel="canonical" />
<link rel="sitemap" href="/sitemap-index.xml" />
<link rel="alternate" type="application/rss+xml" title={title} href="/rss.xml" />
<!--<link href="/manifest.json" rel="manifest" />-->
<link href="/favicon.ico" rel="icon" sizes="any" type="image/x-icon" />
<link href={faviconSvg.src} rel="icon" type="image/svg+xml" sizes="any" />
<link href={appleTouchIcon.src} rel="apple-touch-icon" />
<link href={appleTouchIcon.src} rel="shortcut icon" />
<link rel="preconnect" href="https://461ZQ3AX3S-dsn.algolia.net" crossorigin />

View File

@@ -1,55 +0,0 @@
---
interface Props {
href: string;
}
const { href } = Astro.props;
---
<a href={href}><slot /></a>
<style>
a {
position: relative;
display: flex;
place-content: center;
text-align: center;
padding: 0.56em 2em;
gap: 0.8em;
color: var(--accent-text-over);
text-decoration: none;
line-height: 1.1;
border-radius: 999rem;
overflow: hidden;
background: var(--gradient-accent-orange);
box-shadow: var(--shadow-md);
white-space: nowrap;
}
@media (min-width: 20em) {
a {
font-size: var(--text-lg);
}
}
a::after {
content: '';
position: absolute;
inset: 0;
pointer-events: none;
transition: background-color var(--theme-transition);
mix-blend-mode: overlay;
}
a:focus::after,
a:hover::after {
background-color: hsla(var(--gray-999-basis), 0.3);
}
@media (min-width: 50em) {
a {
padding: 1.125rem 2.5rem;
font-size: var(--text-xl);
}
}
</style>

View File

@@ -1,46 +0,0 @@
---
import CallToAction from './CallToAction.astro';
import Icon from './Icon.astro';
---
<aside>
<h2>Interested in working together?</h2>
<CallToAction href="mailto:alexander.lebens@gmail.com">
Send Me a Message
<Icon icon="paper-plane-tilt" size="1.2em" />
</CallToAction>
</aside>
<style>
aside {
display: flex;
flex-direction: column;
align-items: center;
gap: 3rem;
border-top: 1px solid var(--gray-800);
border-bottom: 1px solid var(--gray-800);
padding: 5rem 1.5rem;
background-color: var(--gray-999_40);
box-shadow: var(--shadow-sm);
}
h2 {
font-size: var(--text-xl);
text-align: center;
max-width: 15ch;
}
@media (min-width: 50em) {
aside {
padding: 7.5rem;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
}
h2 {
font-size: var(--text-3xl);
text-align: left;
}
}
</style>

View File

@@ -1,74 +1,131 @@
---
import Icon from './Icon.astro';
import { Image } from 'astro:assets';
import { readSingleton } from '@directus/sdk';
import BrandLogo from '@components/images/BrandLogo.astro';
import directus from '@lib/directus';
import { NavigationLinks, FooterLinks } from '@/config';
import footerImg from '@images/flowers.png';
const global = await directus.request(readSingleton('site_global'));
const currentYear = new Date().getFullYear();
---
<footer>
<div class="group">
<p>
Designed & Developed in Minnesota with <a href="https://astro.build/">Astro</a>
<Icon icon="rocket-launch" size="1.2em" />
</p>
<p>&copy; {currentYear} Alex Lebens</p>
</div>
<p class="socials">
<a href="https://github.com/alexlebens"> GitHub</a>
<a href="https://www.linkedin.com/in/alexanderlebens"> LinkedIn</a>
</p>
<footer
class="bg-background-accent w-full overflow-hidden"
transition:animate="none"
>
<div class="relative px-4 sm:px-6 pt-16 pb-12">
<div class="max-w-340 mx-auto">
<div class="grid grid-cols-1 md:grid-cols-12 gap-10">
<!-- Brand section -->
<div class="col-span-1 md:col-span-3">
<a href="/" class="group inline-block">
<div class="flex items-center">
<div class="mx-auto aspect-square overflow-hidden">
<BrandLogo class="rounded-lg max-h-10 max-w-10"/>
</div>
<span class="text-header text-lg lg:text-2xl font-semibold leading-tight tracking-tight text-balance ml-3">
{global.name}
</span>
</div>
</a>
<p class="text-primary text-sm lg:text-base text-pretty leading-relaxed mt-4">
{global.about}
</p>
</div>
<!-- Left links -->
<div class="col-span-1 md:col-span-2">
<h3 class="relative inline-block text-header after:bg-main text-sm uppercase font-semibold tracking-wider pb-2 after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-8 after:content-['']">
Site
</h3>
<ul class="mt-4 space-y-3">
{NavigationLinks.map((link) => (
<li>
<a
href={link.url}
class="inline-flex items-center text-secondary hover:text-secondary-hover text-base transition-all duration-300 overflow-hidden"
>
{link.name}
</a>
</li>
))}
</ul>
</div>
<!-- Right links -->
<div class="col-span-1 md:col-span-3">
<h3 class="relative inline-block text-header after:bg-main text-sm uppercase font-semibold tracking-wider pb-2 after:absolute after:bottom-0 after:left-0 after:h-0.5 after:w-8 after:content-['']">
Other
</h3>
<ul class="mt-4 space-y-3">
{FooterLinks.map((link) => (
<li>
<a
href={link.url}
class="inline-flex items-center text-secondary hover:text-secondary-hover text-base transition-all duration-300 overflow-hidden"
>
{link.name}
</a>
</li>
))}
</ul>
</div>
<!-- Right image -->
<div class="flex justify-center col-span-4 mt-10 md:mt-0">
<div class="md:block max-h-115 max-w-55 -mt-10 scale-80 hidden">
<Image
src={footerImg}
alt={global.footer_image_alt}
class="h-full w-full object-cover object-center"
draggable="false"
loading="eager"
format="webp"
quality="low"
widths={[440]}
inferSize={true}
/>
</div>
</div>
</div>
<!-- Bottom section -->
<div class="border-t border-divider pt-8 mt-12">
<div class="flex flex-col md:flex-row items-center justify-between gap-4">
<p class="text-secondary text-sm">
&copy; {currentYear} All rights reserved.
</p>
<div class="flex items-center">
<span class="text-secondary text-sm">
Weather provided by
</span>
<a
href="https://open-meteo.com/"
target="_blank"
rel="noopener noreferrer"
class="group inline-flex items-center text-secondary hover:text-secondary-hover text-sm transition-all duration-300"
>
<span class="relative underline ml-1">
Open-Meteo.
</span>
</a>
<div class="ml-4"/>
<span class="text-secondary text-sm">
Built with
</span>
<a
href="https://astro.build"
target="_blank"
rel="noopener noreferrer"
class="group inline-flex items-center text-secondary hover:text-secondary-hover text-sm transition-all duration-300"
>
<span class="relative underline ml-1">
Astro.
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</footer>
<style>
footer {
display: flex;
flex-direction: column;
gap: 3rem;
margin-top: auto;
padding: 3rem 2rem 3rem;
text-align: center;
color: var(--gray-400);
font-size: var(--text-sm);
}
footer a {
color: var(--gray-400);
text-decoration: 1px solid underline transparent;
text-underline-offset: 0.25em;
transition: text-decoration-color var(--theme-transition);
}
footer a:hover,
footer a:focus {
text-decoration-color: currentColor;
}
.group {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.socials {
display: flex;
justify-content: center;
gap: 1rem;
flex-wrap: wrap;
}
@media (min-width: 50em) {
footer {
flex-direction: row;
justify-content: space-between;
padding: 2.5rem 5rem;
}
.group {
flex-direction: row;
gap: 1rem;
flex-wrap: wrap;
}
.socials {
justify-content: flex-end;
}
}
</style>

View File

@@ -1,62 +0,0 @@
---
interface Props {
variant?: 'offset' | 'small';
}
const { variant } = Astro.props;
---
<ul class:list={['grid', { offset: variant === 'offset', small: variant === 'small' }]}>
<slot />
</ul>
<style>
.grid {
display: grid;
grid-auto-rows: 1fr;
gap: 1rem;
list-style: none;
padding: 0;
}
.grid.small {
grid-template-columns: 1fr 1fr;
gap: 1.5rem;
}
.grid.small > :global(:last-child:nth-child(odd)) {
grid-column: 1 / 3;
}
@media (min-width: 50em) {
.grid {
grid-template-columns: 1fr 1fr;
gap: 4rem;
}
.grid.offset {
--row-offset: 7.5rem;
padding-bottom: var(--row-offset);
}
.grid.offset > :global(:nth-child(odd)) {
transform: translateY(var(--row-offset));
}
.grid.offset > :global(:last-child:nth-child(odd)) {
grid-column: 2 / 3;
transform: none;
}
.grid.small {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2rem;
}
.grid.small > :global(*) {
flex-basis: 20rem;
}
}
</style>

View File

@@ -0,0 +1,99 @@
---
import BrandLogo from '@components/images/BrandLogo.astro';
import ThemeToggleButton from '@components/buttons/ThemeToggleButton.astro';
import { NavigationLinks } from '@/config';
const pathname = new URL(Astro.request.url).pathname;
const currentPath = pathname.slice(1);
---
<header
id="nav"
class="fixed flex flex-wrap md:flex-nowrap md:justify-start inset-x-0 top-0 w-full z-50"
>
<nav
class="nav-base relative md:flex md:items-center md:justify-between rounded-[36px] w-full px-4 mx-2 py-3 mt-4"
aria-label="Global"
>
<div class="flex items-center justify-between ml-0">
<a
class="flex-none rounded-full h-10.5"
href="/"
aria-label="Brand"
>
<BrandLogo class="h-full w-auto rounded-full object-cover"/>
</a>
<div class="md:hidden mr-auto ml-4">
<button
type="button"
class="hs-collapse-toggle flex items-center justify-center text-secondary text-sm font-bold hover:bg-neutral-200 dark:hover:bg-neutral-700 rounded-full transition duration-300 disabled:pointer-events-none disabled:opacity-50 h-8 w-8"
data-hs-collapse="#navbar-collapse-with-animation"
aria-controls="navbar-collapse-with-animation"
aria-label="Toggle navigation"
>
<svg
class="hs-collapse-open:hidden shrink-0 h-5 w-5"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="3" x2="21" y1="6" y2="6"></line>
<line x1="3" x2="21" y1="12" y2="12"></line>
<line x1="3" x2="21" y1="18" y2="18"></line>
</svg>
<svg
class="hs-collapse-open:block shrink-0 h-5 w-5 hidden"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 6 6 18"></path>
<path d="m6 6 12 12"></path>
</svg>
</button>
</div>
<div class="md:hidden ml-2 mr-2">
<span class="">
<ThemeToggleButton />
</span>
</div>
</div>
<div class="flex md:flex-row items-center justify-between">
<div
id="navbar-collapse-with-animation"
class="hs-collapse grow basis-full md:block transition-all duration-300 ml-2 mb-2 md:mb-0 hidden overflow-hidden md:overflow-visible"
>
<div class="flex flex-col md:flex-row md:items-center md:justify-end gap-x-0 md:gap-x-4 lg:gap-x-7 gap-y-4 md:gap-y-0 md:ps-7 mr-2 mt-5 md:mt-0">
{NavigationLinks.map((item) => {
const isActive = currentPath === (item.url === '/' ? '' : item.url.slice(1));
return (
<a
href={item.url}
class={`text-sm font-medium ${isActive ? 'text-active' : 'text-secondary hover:text-secondary-hover'}`}
>
{item.name}
</a>
);
})}
</div>
</div>
<div class="hidden md:flex ml-2">
<span class="">
<ThemeToggleButton />
</span>
</div>
</div>
</nav>
</header>
<script is:inline src="/vendor/preline/collapse2.1.0.min.js"></script>

View File

@@ -1,54 +0,0 @@
---
interface Props {
title: string;
tagline?: string;
align?: 'start' | 'center';
}
const { align = 'center', tagline, title } = Astro.props;
---
<div class:list={['hero stack gap-4', align]}>
<div class="stack gap-2">
<h1 class="title">{title}</h1>
{tagline && <p class="tagline">{tagline}</p>}
</div>
<slot />
</div>
<style>
.hero {
font-size: var(--text-lg);
text-align: center;
}
.title,
.tagline {
max-width: 37ch;
margin-inline: auto;
}
.title {
font-size: var(--text-3xl);
color: var(--gray-0);
}
@media (min-width: 50em) {
.hero {
font-size: var(--text-xl);
}
.start {
text-align: start;
}
.start .title,
.start .tagline {
margin-inline: unset;
}
.title {
font-size: var(--text-5xl);
}
}
</style>

View File

@@ -1,56 +0,0 @@
---
import type { HTMLAttributes } from 'astro/types';
import { iconPaths } from './IconPaths';
interface Props {
icon: keyof typeof iconPaths;
color?: string;
gradient?: boolean;
size?: string;
}
const { color = 'currentcolor', gradient, icon, size } = Astro.props;
const iconPath = iconPaths[icon];
const attrs: HTMLAttributes<'svg'> = {};
if (size) attrs.style = { '--size': size };
const gradientId = 'icon-gradient-' + Math.round(Math.random() * 10e12).toString(36);
---
<svg
xmlns="http://www.w3.org/2000/svg"
width="40"
height="40"
viewBox="0 0 256 256"
aria-hidden="true"
stroke={gradient ? `url(#${gradientId})` : color}
fill={gradient ? `url(#${gradientId})` : color}
{...attrs}
>
<g set:html={iconPath} />
{
gradient && (
<linearGradient
id={gradientId}
x1="23"
x2="235"
y1="43"
y2="202"
gradientUnits="userSpaceOnUse"
>
<stop stop-color="var(--gradient-stop-1)" />
<stop offset=".5" stop-color="var(--gradient-stop-2)" />
<stop offset="1" stop-color="var(--gradient-stop-3)" />
</linearGradient>
)
}
</svg>
<style>
svg {
vertical-align: middle;
width: var(--size, 1em);
height: var(--size, 1em);
}
</style>

View File

@@ -1,33 +0,0 @@
/**
* Icons adapted from https://phosphoricons.com/
*
* Want to add more?
* 1. Find the icon you want on Phosphor Icons.
* 2. Click “Copy SVG”.
* 3. Paste the SVG code in your editor.
* 4. Remove the `<svg>` wrapper so you only have elements like `<path>`, `<circle>`, `<rect>` etc.
* 5. Remove any `stroke="#000000"` attributes
* 6. Replace any `fill="#000000"` attributes with `stroke="none"`
* (or add `stroke="none"` on shapes with no `fill` or `stroke` specified).
*/
export const iconPaths = {
'terminal-window': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m80 96 40 32-40 32m56 0h40"/><rect width="192" height="160" x="32" y="48" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16.97" rx="8.5"/>`,
trophy: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M56 56v55.1c0 39.7 31.8 72.6 71.5 72.9a72 72 0 0 0 72.5-72V56a8 8 0 0 0-8-8H64a8 8 0 0 0-8 8Zm40 168h64m-32-40v40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M198.2 128h9.8a32 32 0 0 0 32-32V80a8 8 0 0 0-8-8h-32M58 128H47.9a32 32 0 0 1-32-32V80a8 8 0 0 1 8-8h32"/>`,
strategy: `<circle cx="68" cy="188" r="28" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m40 72 40 40m0-40-40 40m136 56 40 40m0-40-40 40M136 80V40h40"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m136 40 16 16c40 40 8 88-24 96"/>`,
'paper-plane-tilt': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M210.3 35.9 23.9 88.4a8 8 0 0 0-1.2 15l85.6 40.5a7.8 7.8 0 0 1 3.8 3.8l40.5 85.6a8 8 0 0 0 15-1.2l52.5-186.4a7.9 7.9 0 0 0-9.8-9.8Zm-99.4 109.2 45.2-45.2"/>`,
'arrow-right': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176m-72-72 72 72-72 72"/>`,
'arrow-left': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 128H40m72-72-72 72 72 72"/>`,
code: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m64 88-48 40 48 40m128-80 48 40-48 40M160 40 96 216"/>`,
'hard-drives': `<path d="M208,136H48a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V152A16,16,0,0,0,208,136Zm0,64H48V152H208v48Zm0-160H48A16,16,0,0,0,32,56v48a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V56A16,16,0,0,0,208,40Zm0,64H48V56H208v48ZM192,80a12,12,0,1,1-12-12A12,12,0,0,1,192,80Zm0,96a12,12,0,1,1-12-12A12,12,0,0,1,192,176Z"/>`,
'cloud': `<path d="M160,40A88.09,88.09,0,0,0,81.29,88.67,64,64,0,1,0,72,216h88a88,88,0,0,0,0-176Zm0,160H72a48,48,0,0,1,0-96c1.1,0,2.2,0,3.29.11A88,88,0,0,0,72,128a8,8,0,0,0,16,0,72,72,0,1,1,72,72Z"/>`,
'network': '<path d="M232,112H136V88h8a16,16,0,0,0,16-16V40a16,16,0,0,0-16-16H112A16,16,0,0,0,96,40V72a16,16,0,0,0,16,16h8v24H24a8,8,0,0,0,0,16H56v32H48a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16H80a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16H72V128H184v32h-8a16,16,0,0,0-16,16v32a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V176a16,16,0,0,0-16-16h-8V128h32a8,8,0,0,0,0-16ZM112,40h32V72H112ZM80,208H48V176H80Zm128,0H176V176h32Z"/>',
'microphone-stage': `<circle cx="168" cy="88" r="64" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m213.3 133.3-90.6-90.6M100 156l-12 12m16.8-70.1L28.1 202.5a7.9 7.9 0 0 0 .8 10.4l14.2 14.2a7.9 7.9 0 0 0 10.4.8l104.6-76.7"/>`,
'pencil-line': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M96 216H48a8 8 0 0 1-8-8v-44.7a7.9 7.9 0 0 1 2.3-5.6l120-120a8 8 0 0 1 11.4 0l44.6 44.6a8 8 0 0 1 0 11.4Zm40-152 56 56"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 216H96l-55.5-55.5M164 92l-96 96"/>`,
'rocket-launch': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M94.1 184.6c-11.4 33.9-56.6 33.9-56.6 33.9s0-45.2 33.9-56.6m124.5-56.5L128 173.3 82.7 128l67.9-67.9C176.3 34.4 202 34.7 213 36.3a7.8 7.8 0 0 1 6.7 6.7c1.6 11 1.9 36.7-23.8 62.4Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M184.6 116.7v64.6a8 8 0 0 1-2.4 5.6l-32.3 32.4a8 8 0 0 1-13.5-4.1l-8.4-41.9m11.3-101.9H74.7a8 8 0 0 0-5.6 2.4l-32.4 32.3a8 8 0 0 0 4.1 13.5l41.9 8.4"/>`,
list: `<path stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M40 128h176M40 64h176M40 192h176"/>`,
heart: `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 216S28 160 28 92a52 52 0 0 1 100-20h0a52 52 0 0 1 100 20c0 68-100 124-100 124Z"/>`,
'moon-stars': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M216 112V64m24 24h-48m-24-64v32m16-16h-32m65 113A92 92 0 0 1 103 39h0a92 92 0 1 0 114 114Z"/>`,
sun: `<circle cx="128" cy="128" r="60" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 36V16M63 63 49 49m-13 79H16m47 65-14 14m79 13v20m65-47 14 14m13-79h20m-47-65 14-14"/>`,
'github-logo': `<g stroke-linecap="round" stroke-linejoin="round"><path fill="none" stroke-width="14.7" d="M55.7 167.2c13.9 1 21.3 13.1 22.2 14.6 4.2 7.2 10.4 9.6 18.3 7.1l1.1-3.4a60.3 60.3 0 0 1-25.8-11.9c-12-10.1-18-25.6-18-46.3"/><path fill="none" stroke-width="16" d="M61.4 205.1a24.5 24.5 0 0 1-3-6.1c-3.2-7.9-7.1-10.6-7.8-11.1l-1-.6c-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.7 46.7 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4 0 42.6-25.8 54.7-43.6 58.7 1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3"/><path fill="none" stroke-width="16" d="M160.9 185.7c1.4 4.1 2.2 8.8 2.2 13.7l-.1 23.4v2.3A98.6 98.6 0 1 0 61.4 205c-1.4-2.1-11.3-17.5-11.8-17.8-2.4-1.6-9.5-6.5-7.2-13.9 1.4-4.5 6-7.2 12.3-7.2h.8c4 .3 7.6 1.5 10.7 3.2-9.1-10.1-13.6-24.3-13.6-42.3 0-11.3 3.5-21.7 10.1-30.4A46.4 46.4 0 0 1 65 67.3a8.3 8.3 0 0 1 5-4.7c2.8-.9 13.3-2.7 33.2 9.9a105 105 0 0 1 50.5 0c19.9-12.6 30.4-10.8 33.2-9.9 2.3.7 4.1 2.4 5 4.7 5 12.7 4 23.2 2.6 29.4 6.7 8.7 10 18.9 10 30.4.1 42.6-25.8 54.7-43.6 58.6z"/><path fill="none" stroke-width="18.7" d="m170.1 203.3 17.3-12 17.2-18.7 9.5-26.6v-27.9l-9.5-27.5" /><path fill="none" stroke-width="22.7" d="m92.1 57.3 23.3-4.6 18.7-1.4 29.3 5.4m-110 32.6-8 16-4 21.4.6 20.3 3.4 13" /><path fill="none" stroke-width="13.3" d="M28.8 133a100 100 0 0 0 66.9 94.4v-8.7c-22.4 1.8-33-11.5-35.6-19.8-3.4-8.6-7.8-11.4-8.5-11.8"/></g>`,
'linkedin-logo': `<rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M120 112v64m-32-64v64m32-36a28 28 0 0 1 56 0v36"/><circle stroke="none" cx="88" cy="80" r="12"/>`,
};

View File

@@ -1,46 +0,0 @@
---
import '../styles/global.css';
interface Props {
title?: string | undefined;
description?: string | undefined;
}
const {
title = 'Alex Lebens',
description = 'A profile of Alex Lebens',
} = Astro.props;
---
<meta charset="UTF-8" />
<meta name="description" property="og:description" content={description} />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,400;0,700;1,400&family=Rubik:wght@500;600&display=swap"
rel="stylesheet"
/>
<script is:inline>
const getThemePreference = () => {
if (typeof localStorage !== 'undefined' && localStorage.getItem('theme')) {
return localStorage.getItem('theme');
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
};
const isDark = getThemePreference() === 'dark';
document.documentElement.classList[isDark ? 'add' : 'remove']('theme-dark');
if (typeof localStorage !== 'undefined') {
const observer = new MutationObserver(() => {
const isDark = document.documentElement.classList.contains('theme-dark');
localStorage.setItem('theme', isDark ? 'dark' : 'light');
});
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
}
</script>

View File

@@ -1,355 +0,0 @@
---
import Icon from './Icon.astro';
import ThemeToggle from './ThemeToggle.astro';
import type { iconPaths } from './IconPaths';
const textLinks: { label: string; href: string }[] = [
{ label: 'Home', href: '/' },
{ label: 'Projects', href: '/projects/' },
{ label: 'About', href: '/about/' },
];
const iconLinks: { label: string; href: string; icon: keyof typeof iconPaths }[] = [
{ label: 'GitHub', href: 'https://github.com/alexlebens', icon: 'github-logo' },
{ label: 'LinkedIn', href: 'https://www.linkedin.com/in/alexanderlebens', icon: 'linkedin-logo' },
];
---
<nav>
<div class="menu-header">
<a href="/" class="site-title">
<Icon icon="terminal-window" color="var(--accent-regular)" size="1.6em" gradient />
Alex Lebens
</a>
<menu-button>
<template>
<button class="menu-button" aria-expanded="false">
<span class="sr-only">Menu</span>
<Icon icon="list" />
</button>
</template>
</menu-button>
</div>
<noscript>
<ul class="nav-items">
{
textLinks.map(({ label, href }) => (
<li>
<a
aria-current={Astro.url.pathname === href}
class:list={[
'link',
{
active:
Astro.url.pathname === href ||
(href !== '/' && Astro.url.pathname.startsWith(href)),
},
]}
href={href}
>
{label}
</a>
</li>
))
}
</ul>
</noscript>
<noscript>
<div class="menu-footer">
<div class="socials">
{
iconLinks.map(({ href, icon, label }) => (
<a href={href} class="social">
<span class="sr-only">{label}</span>
<Icon icon={icon} />
</a>
))
}
</div>
</div>
</noscript>
<div id="menu-content" hidden>
<ul class="nav-items">
{
textLinks.map(({ label, href }) => (
<li>
<a
aria-current={Astro.url.pathname === href}
class:list={[
'link',
{
active:
Astro.url.pathname === href ||
(href !== '/' && Astro.url.pathname.startsWith(href)),
},
]}
href={href}
>
{label}
</a>
</li>
))
}
</ul>
<div class="menu-footer">
<div class="socials">
{
iconLinks.map(({ href, icon, label }) => (
<a href={href} class="social">
<span class="sr-only">{label}</span>
<Icon icon={icon} />
</a>
))
}
</div>
<div class="theme-toggle">
<ThemeToggle />
</div>
</div>
</div>
</nav>
<script>
class MenuButton extends HTMLElement {
constructor() {
super();
this.appendChild(this.querySelector('template')!.content.cloneNode(true));
const btn = this.querySelector('button')!;
const menu = document.getElementById('menu-content')!;
menu.hidden = true;
menu.classList.add('menu-content');
const setExpanded = (expand: boolean) => {
btn.setAttribute('aria-expanded', expand ? 'true' : 'false');
menu.hidden = !expand;
};
btn.addEventListener('click', () => setExpanded(menu.hidden));
const handleViewports = (e: MediaQueryList | MediaQueryListEvent) => {
setExpanded(e.matches);
btn.hidden = e.matches;
};
const mediaQueries = window.matchMedia('(min-width: 50em)');
handleViewports(mediaQueries);
mediaQueries.addEventListener('change', handleViewports);
}
}
customElements.define('menu-button', MenuButton);
</script>
<style>
nav {
z-index: 9999;
position: relative;
font-family: var(--font-brand);
font-weight: 500;
margin-bottom: 3.5rem;
}
.menu-header {
display: flex;
justify-content: space-between;
gap: 0.5rem;
padding: 1.5rem;
}
.site-title {
display: flex;
gap: 0.5rem;
align-items: center;
line-height: 1.1;
color: var(--gray-0);
text-decoration: none;
}
.menu-button {
position: relative;
display: flex;
border: 0;
border-radius: 999rem;
padding: 0.5rem;
font-size: 1.5rem;
color: var(--gray-300);
background: radial-gradient(var(--gray-900), var(--gray-800) 150%);
box-shadow: var(--shadow-md);
}
.menu-button[aria-expanded='true'] {
color: var(--gray-0);
background: linear-gradient(180deg, var(--gray-600), transparent),
radial-gradient(var(--gray-900), var(--gray-800) 150%);
}
.menu-button[hidden] {
display: none;
}
.menu-button::before {
position: absolute;
inset: -1px;
content: '';
background: var(--gradient-stroke);
border-radius: 999rem;
z-index: -1;
}
.menu-content {
position: absolute;
left: 0;
right: 0;
}
.nav-items {
margin: 0;
display: flex;
flex-direction: column;
gap: 1rem;
font-size: var(--text-md);
line-height: 1.2;
list-style: none;
padding: 2rem;
background-color: var(--gray-999);
border-bottom: 1px solid var(--gray-800);
}
.link {
display: inline-block;
color: var(--gray-300);
text-decoration: none;
}
.link.active {
color: var(--gray-0);
}
.menu-footer {
--icon-size: var(--text-xl);
--icon-padding: 0.5rem;
display: flex;
justify-content: space-between;
gap: 0.75rem;
padding: 1.5rem 2rem 1.5rem 1.5rem;
background-color: var(--gray-999);
border-radius: 0 0 0.75rem 0.75rem;
box-shadow: var(--shadow-lg);
}
.socials {
display: flex;
flex-wrap: wrap;
gap: 0.625rem;
font-size: var(--icon-size);
}
.social {
display: flex;
padding: var(--icon-padding);
text-decoration: none;
color: var(--accent-dark);
transition: color var(--theme-transition);
}
.social:hover,
.social:focus {
color: var(--accent-text-over);
}
.theme-toggle {
display: flex;
align-items: center;
height: calc(var(--icon-size) + 2 * var(--icon-padding));
}
@media (min-width: 50em) {
nav {
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
padding: 2.5rem 5rem;
gap: 1rem;
}
.menu-header {
padding: 0;
}
.site-title {
font-size: var(--text-lg);
}
.menu-content {
display: contents;
}
.nav-items {
position: relative;
flex-direction: row;
font-size: var(--text-sm);
border-radius: 999rem;
border: 0;
padding: 0.5rem 0.5625rem;
background: radial-gradient(var(--gray-900), var(--gray-800) 150%);
box-shadow: var(--shadow-md);
}
.nav-items::before {
position: absolute;
inset: -1px;
content: '';
background: var(--gradient-stroke);
border-radius: 999rem;
z-index: -1;
}
.link {
padding: 0.5rem 1rem;
border-radius: 999rem;
transition:
color var(--theme-transition),
background-color var(--theme-transition);
}
.link:hover,
.link:focus {
color: var(--gray-100);
background-color: var(--accent-subtle-overlay);
}
.link.active {
color: var(--accent-text-over);
background-color: var(--accent-regular);
}
.menu-footer {
--icon-padding: 0.375rem;
justify-self: flex-end;
align-items: center;
padding: 0;
background-color: transparent;
box-shadow: none;
}
.socials {
display: none;
}
}
@media (min-width: 60em) {
.socials {
display: flex;
justify-content: flex-end;
gap: 0;
}
}
@media (forced-colors: active) {
.link.active {
color: SelectedItem;
}
}
</style>

View File

@@ -1,16 +0,0 @@
<div class="pill"><slot /></div>
<style>
.pill {
display: flex;
padding: 0.5rem 1rem;
gap: 0.5rem;
color: var(--accent-text-over);
border: 1px solid var(--accent-regular);
background-color: var(--accent-regular);
border-radius: 999rem;
font-size: var(--text-md);
line-height: 1.35;
white-space: nowrap;
}
</style>

View File

@@ -1,64 +0,0 @@
---
import type { CollectionEntry } from 'astro:content';
interface Props {
project: CollectionEntry<'projects'>;
}
const { data, slug } = Astro.props.project;
---
<a class="card" href={`/projects/${slug}`}>
<span class="title">{data.title}</span>
<img src={data.img} alt={data.img_alt || ''} loading="lazy" decoding="async" />
</a>
<style>
.card {
display: grid;
grid-template: auto 1fr / auto 1fr;
height: 11rem;
background: var(--gradient-subtle);
border: 1px solid var(--gray-800);
border-radius: 0.75rem;
overflow: hidden;
box-shadow: var(--shadow-sm);
text-decoration: none;
font-family: var(--font-brand);
font-size: var(--text-lg);
font-weight: 500;
transition: box-shadow var(--theme-transition);
}
.card:hover {
box-shadow: var(--shadow-md);
}
.title {
grid-area: 1 / 1 / 2 / 2;
z-index: 1;
margin: 0.5rem;
padding: 0.5rem 1rem;
background: var(--gray-999);
color: var(--gray-200);
border-radius: 0.375rem;
}
img {
grid-area: 1 / 1 / 3 / 3;
width: 100%;
height: 100%;
object-fit: cover;
}
@media (min-width: 50em) {
.card {
height: 22rem;
border-radius: 1.5rem;
}
.title {
border-radius: 0.9375rem;
}
}
</style>

View File

@@ -1,62 +0,0 @@
---
import Icon from './Icon.astro';
---
<section class="box skills">
<div class="stack gap-2 lg:gap-4">
<Icon icon="cloud" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>AWS</h2>
<p>Certified DevOps Engineer and former AWS Cloud Engineer skilled in deploying, managing, and architecting a wide range of AWS services.</p>
</div>
<div class="stack gap-2 lg:gap-4">
<Icon icon="network" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>Kubernetes</h2>
<p>My skills encompass Kubernetes administration and application development, validated by my CKA and CKAD certifications.</p>
</div>
<div class="stack gap-2 lg:gap-4">
<Icon icon="strategy" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>GitOps</h2>
<p>Hands-on experience leveraging a variety of IaC tools such as CloudFormation, CDK, Helm, and ArgoCD to streamline infrastructure provisioning and management across multiple projects.</p>
</div>
</section>
<style>
.box {
border: 1px solid var(--gray-800);
border-radius: 0.75rem;
padding: 1.5rem;
background-color: var(--gray-999_40);
box-shadow: var(--shadow-sm);
}
.skills {
display: flex;
flex-direction: column;
gap: 3rem;
}
.skills h2 {
font-size: var(--text-lg);
}
.skills p {
color: var(--gray-400);
}
@media (min-width: 50em) {
.box {
border-radius: 1.5rem;
padding: 2.5rem;
}
.skills {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 5rem;
}
.skills h2 {
font-size: var(--text-2xl);
}
}
</style>

View File

@@ -1,92 +0,0 @@
---
import Icon from './Icon.astro';
---
<theme-toggle>
<button>
<span class="sr-only">Dark theme</span>
<span class="icon light"><Icon icon="sun" /></span>
<span class="icon dark"><Icon icon="moon-stars" /></span>
</button>
</theme-toggle>
<style>
button {
display: flex;
border: 0;
border-radius: 999rem;
padding: 0;
background-color: var(--gray-999);
box-shadow: inset 0 0 0 1px var(--accent-overlay);
cursor: pointer;
}
.icon {
z-index: 1;
position: relative;
display: flex;
padding: 0.5rem;
width: 2rem;
height: 2rem;
font-size: 1rem;
color: var(--accent-overlay);
}
.icon.light::before {
content: '';
z-index: -1;
position: absolute;
inset: 0;
background-color: var(--accent-regular);
border-radius: 999rem;
}
:global(.theme-dark) .icon.light::before {
transform: translateX(100%);
}
:global(.theme-dark) .icon.dark,
:global(html:not(.theme-dark)) .icon.light,
button[aria-pressed='false'] .icon.light {
color: var(--accent-text-over);
}
@media (prefers-reduced-motion: no-preference) {
.icon,
.icon.light::before {
transition:
transform var(--theme-transition),
color var(--theme-transition);
}
}
@media (forced-colors: active) {
.icon.light::before {
background-color: SelectedItem;
}
}
</style>
<script>
class ThemeToggle extends HTMLElement {
constructor() {
super();
const button = this.querySelector('button')!;
const setTheme = (dark: boolean) => {
document.documentElement.classList[dark ? 'add' : 'remove']('theme-dark');
button.setAttribute('aria-pressed', String(dark));
};
button.addEventListener('click', () => setTheme(!this.isDark()));
setTheme(this.isDark());
}
isDark() {
return document.documentElement.classList.contains('theme-dark');
}
}
customElements.define('theme-toggle', ThemeToggle);
</script>

View File

@@ -0,0 +1,100 @@
---
---
<button
type="button"
class="button-base button-bg-blue group inline-flex items-center rounded-lg p-2.5"
data-bookmark-button="bookmark-button"
>
<svg
class="h-6 w-6 fill-none transition duration-300"
height=24
width=24
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="1.5"
stroke-linecap="round"
stroke-linejoin="round"
>
<path
d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"
class="fill-current text-neutral-500 transition duration-300 group-hover:text-red-400 group-hover:dark:text-red-400"
/>
</svg>
</button>
<script>
class Bookmark {
private static readonly BOOKMARKS_KEY = 'bookmarks';
private bookmarkButton: Element | null;
constructor(private dataAttrValue: string) {
this.bookmarkButton = document.querySelector(`[data-bookmark-button="${dataAttrValue}"]`);
}
private getStoredBookmarks(): string[] {
const item = localStorage.getItem(Bookmark.BOOKMARKS_KEY);
return item ? JSON.parse(item) : [];
}
init(): void {
if (this.bookmarkButton && this.isStored()) {
this.markAsStored();
}
this.bookmarkButton?.addEventListener('click', () => this.toggleBookmark());
}
isStored(): boolean {
return this.getStoredBookmarks().includes(window.location.pathname);
}
markAsStored(): void {
if (this.bookmarkButton) {
this.bookmarkButton.classList.add('bookmarked');
const svgElement = this.bookmarkButton.querySelector('svg');
if (svgElement) {
svgElement.setAttribute('class', 'h-6 w-6 fill-red-500 dark:fill-red-500');
}
const pathElement = svgElement?.querySelector('path');
if (pathElement) {
pathElement.setAttribute('class', 'fill-current text-red-500 dark:text-red-500');
}
}
}
unmarkAsStored(): void {
if (this.bookmarkButton) {
this.bookmarkButton.classList.remove('bookmarked');
const svgElement = this.bookmarkButton.querySelector('svg');
if (svgElement) {
svgElement.setAttribute('class', 'h-6 w-6 fill-none');
}
const pathElement = svgElement?.querySelector('path');
if (pathElement) {
pathElement.setAttribute(
'class',
'fill-current text-neutral-500 group-hover:text-red-400 dark:text-neutral-500 group-hover:dark:text-red-400'
);
}
}
}
toggleBookmark(): void {
const storedBookmarks = this.getStoredBookmarks();
const index = storedBookmarks.indexOf(window.location.pathname);
if (index !== -1) {
storedBookmarks.splice(index, 1);
this.unmarkAsStored();
} else {
storedBookmarks.push(window.location.pathname);
this.markAsStored();
}
localStorage.setItem(Bookmark.BOOKMARKS_KEY, JSON.stringify(storedBookmarks));
}
}
new Bookmark('bookmark-button').init();
</script>

View File

@@ -0,0 +1,30 @@
---
import { Icon } from 'astro-icon/components';
interface Props {
url?: string;
}
const { url } = Astro.props;
---
<a
class="button-base button-bg-gitea group inline-flex rounded-full gap-x-2"
href={url}
target="_blank"
rel="noopener noreferrer"
>
<div class="button-text-title flex relative items-center text-center">
<Icon
name="pajamas:gitea"
class="h-4 w-4 md:h-6 md:w-6"
/>
<span class="ml-2">
Continue to Gitea
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="button-hover-arrow"
/>
</div>
</a>

View File

@@ -0,0 +1,34 @@
---
---
<button
class="button-base button-bg-blue group inline-flex rounded-lg gap-x-2"
id="back-button"
data-astro-prefetch
>
<div class="button-text-title flex relative items-center text-center">
<svg
class=" shrink-0 group-hover:-translate-x-1 transition duration-300 h-4 w-4"
height=24
width=24
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="m15 18-6-6 6-6"/>
</svg>
<span class="ml-2">
Go Back
</span>
</div>
</button>
<script>
document.getElementById('back-button')?.addEventListener('click', () => {
window.history.back();
});
</script>

View File

@@ -0,0 +1,25 @@
---
import { Icon } from 'astro-icon/components';
interface Props {
url?: string;
}
const { url } = Astro.props;
---
<a
class="button-base button-bg-teal group inline-flex rounded-lg gap-x-2"
href={url}
data-astro-prefetch
>
<div class="button-text-title flex relative items-center text-center">
<Icon
name="mdi:home-variant-outline"
class="card-hover-icon-scale h-3 w-3 md:h-5 md:w-5"
/>
<span class="ml-2">
Return Home
</span>
</div>
</a>

View File

@@ -0,0 +1,29 @@
---
import { Icon } from 'astro-icon/components';
interface Props {
title?: string;
url?: string;
noArrow?: boolean;
}
const { title, url, noArrow } = Astro.props;
---
<a
class="button-base button-bg-teal group inline-flex rounded-lg gap-x-2"
href={url}
data-astro-prefetch
>
<div class="button-text-title flex relative items-center text-center">
<span class="mr-2">
{title}
</span>
{noArrow ? null : (
<Icon
name="mdi:keyboard-arrow-right"
class="button-hover-arrow"
/>
)}
</div>
</a>

View File

@@ -0,0 +1,20 @@
---
interface Props {
title?: string;
url?: string;
}
const { title, url } = Astro.props;
---
<a
class="button-base button-bg-neutral group inline-flex rounded-lg gap-x-2"
href={url}
data-astro-prefetch
>
<div class="button-text-title flex relative items-center text-center">
<span>
{title}
</span>
</div>
</a>

View File

@@ -0,0 +1,59 @@
---
import Logo from "@components/images/Logo.astro"
type SocialPlatform = {
name: string;
url: string;
iconLight: string;
iconDark: string;
};
interface Props {
pageTitle: string;
}
const { pageTitle } = Astro.props;
const socialPlatforms: SocialPlatform[] = [
{
name: 'Facebook',
url: `https://www.facebook.com/sharer/sharer.php?u=${Astro.url}`,
iconLight: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/facebook.webp',
iconDark: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/facebook.webp',
},
{
name: 'Twitter',
url: `https://x.com/intent/tweet?url=${Astro.url}&text=${pageTitle}`,
iconLight: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/twitter.webp',
iconDark: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/twitter.webp',
},
{
name: 'LinkedIn',
url: `https://www.linkedin.com/sharing/share-offsite/?url=${Astro.url}`,
iconLight: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/linkedin.webp',
iconDark: 'https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/linkedin.webp',
},
];
---
<div class="inline-flex items-center gap-x-2">
{socialPlatforms.map((platform) => (
<a
class="button-base-hidden group inline-flex rounded-lg gap-x-2"
href={platform.url}
target="_blank"
rel="noopener noreferrer"
title={`Share on ${platform.name}`}
>
<div class="button-text-title-hidden flex relative items-center text-center">
<Logo
srcLight={platform.iconLight}
srcDark={platform.iconDark}
alt={platform.name}
width="24"
height="24"
/>
</div>
</a>
))}
</div>

View File

@@ -0,0 +1,216 @@
---
---
<button
id="theme-toggle"
data-theme-toggle
class="group dark:hover:bg-steel/30 hover:bg-yellow-300/20 transition-all duration-300 relative rounded-full p-1.5 sm:p-2 touch-manipulation"
aria-label="Toggle dark mode"
>
<div class="relative flex h-5 w-5 items-center justify-center">
<!-- Sun icon -->
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon-light absolute h-5 w-5 text-neutral-600 dark:text-neutral-400 scale-100 dark:scale-0 rotate-0 dark:-rotate-90 transition-all duration-500"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="5"></circle>
<path
d="M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"
></path>
</svg>
<!-- Moon icon -->
<svg
xmlns="http://www.w3.org/2000/svg"
class="icon-dark absolute h-5 w-5 text-neutral-600 dark:text-neutral-400 scale-0 dark:scale-100 rotate-90 dark:rotate-0 transition-all duration-500"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
</div>
</button>
<script is:inline>
const applyTheme = () => {
const isDark =
localStorage.theme === 'dark' ||
(!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches);
document.documentElement.classList.toggle('dark', isDark);
};
applyTheme();
document.addEventListener('astro:after-swap', applyTheme);
</script>
<script>
function setupThemeToggle() {
const themeToggles = document.querySelectorAll('[data-theme-toggle]');
// Create theme switch overlay element
if (!document.querySelector('.theme-switch-overlay')) {
const overlay = document.createElement('div');
overlay.className = 'theme-switch-overlay fixed inset-0 pointer-events-none z-50';
overlay.style.opacity = '0';
overlay.style.transition = 'opacity 0.3s ease-out';
document.body.appendChild(overlay);
}
themeToggles.forEach((toggle) => {
['click', 'touchend'].forEach((eventType) => {
toggle.addEventListener(
eventType,
(e) => {
e.preventDefault();
e.stopPropagation();
// Get click/touch position for radial animation
let x, y;
if (e.type === 'touchend' && e.changedTouches && e.changedTouches[0]) {
const rect = toggle.getBoundingClientRect();
x = e.changedTouches[0].clientX - rect.left;
y = e.changedTouches[0].clientY - rect.top;
} else {
const rect = toggle.getBoundingClientRect();
x = e.clientX - rect.left;
y = e.clientY - rect.top;
}
document.documentElement.style.setProperty('--x', `${x}px`);
document.documentElement.style.setProperty('--y', `${y}px`);
const overlay = document.querySelector('.theme-switch-overlay');
const isDark = document.documentElement.classList.contains('dark');
const newTheme = isDark ? 'light' : 'dark';
// Show overlay during transition
if (overlay) {
overlay.style.backgroundColor =
newTheme === 'dark' ? 'rgba(24, 24, 27, 0.3)' : 'rgba(255, 255, 255, 0.3)';
overlay.style.opacity = '1';
}
document.documentElement.classList.add('theme-switching');
// Force a reflow to ensure all elements update
document.body.offsetHeight;
// Toggle dark mode with a slight delay to allow overlay to appear
setTimeout(() => {
if (isDark) {
document.documentElement.classList.remove('dark');
} else {
document.documentElement.classList.add('dark');
}
localStorage.setItem('theme', newTheme);
document.dispatchEvent(
new CustomEvent('themeChanged', {
detail: { isDark: newTheme === 'dark' },
})
);
// Force another reflow to ensure all elements update
document.body.offsetHeight;
setTimeout(() => {
if (overlay) {
overlay.style.opacity = '0';
}
document.documentElement.classList.remove('theme-switching');
}, 300);
}, 50);
},
{ passive: false }
);
});
});
}
// Run setup on load
document.addEventListener('astro:page-load', setupThemeToggle);
// Also run on page visibility change to ensure theme is consistent
document.addEventListener('visibilitychange', () => {
if (document.visibilityState === 'visible') {
const currentTheme = localStorage.getItem('theme');
if (currentTheme === 'dark') {
document.documentElement.classList.add('dark');
} else if (currentTheme === 'light') {
document.documentElement.classList.remove('dark');
}
}
});
// Listen for system preference changes
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', ({ matches }) => {
if (!localStorage.getItem('theme')) {
if (matches) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
}
});
</script>
<style>
/* Subtle hover animation */
#theme-toggle {
transform: translateY(0);
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
-webkit-tap-highlight-color: transparent;
min-height: 32px;
min-width: 32px;
}
@media (hover: hover) {
#theme-toggle:hover {
transform: translateY(-2px);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
:global(:root:not(.dark)) #theme-toggle:hover .icon-light {
filter: drop-shadow(0 0 2px rgba(251, 191, 36, 0.6));
transform: scale(1.1) rotate(15deg);
}
:global(:root.dark) #theme-toggle:hover .icon-dark {
filter: drop-shadow(0 0 2px rgba(129, 140, 248, 0.6));
transform: scale(1.1) rotate(-15deg);
}
}
/* Optimize animations for mobile */
@media (prefers-reduced-motion: reduce) {
.icon-light,
.icon-dark {
transition: all 0.2s ease-out !important;
}
#theme-toggle,
#theme-toggle:hover {
transform: none;
transition: none;
}
}
/* Adjust size for very small screens */
@media (max-width: 320px) {
#theme-toggle {
padding: 0.25rem !important;
}
}
</style>

View File

@@ -0,0 +1,56 @@
---
import { Icon } from 'astro-icon/components';
import { Image } from 'astro:assets';
import type { Post } from '@lib/directusTypes';
import { formatDate } from '@support/time';
import { getDirectusImageURL } from '@/support/url';
interface Props {
post: Post;
}
const { post } = Astro.props;
---
<div class="smooth-reveal-cards group flex flex-col">
<a
class="card-base border-none!"
href={`/blog/${post.slug}/`}
data-astro-prefetch
>
<div class="relative shrink-0 rounded-t-xl w-full overflow-hidden before:absolute before:inset-x-0 before:z-1 before:size-full">
<Image
class="rounded-t-xl h-auto w-full"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="eager"
format="webp"
inferSize={true}
/>
</div>
<div class="rounded-xl p-4 md:p-5">
<h3 class="card-text-title text-xl">
{post.title}
</h3>
<div class="ml-6 flex">
<div class="relative inline-block w-full">
<div class="card-text-title card-hover-text-title flex relative items-center mx-auto min-h-11 sm:mx-0 sm:mt-4">
<span class="relative inline-block overflow-hidden ml-2">
Read more
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="translate-y-0.5 transition duration-300 group-hover:translate-x-1"
/>
<p class="card-text-description text-sm ml-auto">
{formatDate(post.published_date)}
</p>
</div>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,63 @@
---
interface Props {
slug: string;
title: string;
description: string;
count: number;
publishDate: string;
}
const { slug, title, description, count, publishDate } = Astro.props;
---
<div class="smooth-reveal-cards group h-full">
<a
class="card-base flex flex-col h-full min-h-55"
href={`/categories/${slug}/`}
data-astro-prefetch
>
<div class="relative grow overflow-hidden">
<div class="absolute inset-1 flex flex-col p-3 md:p-4 lg:p-5">
<div class="overflow-hidden">
<h3 class="card-text-title-major card-hover-text-title whitespace-nowrap mb-4">
{title}
</h3>
<p class="card-text-description mb-4">
{description}
</p>
</div>
<div class="card-text-description flex items-center justify-between text-xs mt-auto pt-1 md:pt-2">
<span class="inline-flex items-center">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
class="mr-1"
>
<path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20"></path>
</svg>
{count}
</span>
<span class="inline-flex items-center">
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
class="mr-1"
>
<circle cx="12" cy="12" r="10"></circle>
<polyline points="12 6 12 12 16 14"></polyline>
</svg>
{publishDate}
</span>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,65 @@
---
import { Icon } from 'astro-icon/components';
import Logo from '@components/images/Logo.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
topic: string;
area: string;
date: string;
url: string;
logoUrlLight?: string;
logoUrlDark?: string;
logoIcon?: string;
}
const { topic, area, date, url, logoUrlLight, logoIcon } = Astro.props;
const logoUrlDark = Astro.props.logoUrlDark || logoUrlLight;
---
<div class="smooth-reveal group flex flex-col">
<a
class="card-base flex items-center"
href={url}
>
<div class="p-4 md:p-10">
<div class="flex items-center">
{logoUrlLight ? (
<div class="card-hover-icon-scale mr-5">
<Logo
srcLight={getDirectusImageURL(logoUrlLight)}
srcDark={getDirectusImageURL(logoUrlDark!)}
alt={`Logo of ${topic}`}
/>
</div>
) : logoIcon ? (
<div class="mr-5 text-header">
<Icon name={logoIcon} class="card-hover-icon-scale h-12 w-12" />
</div>
) : null}
<div class="grow text-left">
<span class="card-text-title block text-lg">
{topic}
</span>
<span class="card-text-description block mt-1 font-medium text-xs uppercase">
{area} - {new Date(date).getFullYear()}
</span>
</div>
</div>
<div class="ml-6 flex">
<div class="relative inline-block">
<div class="card-text-title card-hover-text-title flex relative mx-auto min-h-11 items-center font-semibold text-md sm:mx-0 sm:mt-4">
<span class="relative inline-block overflow-hidden">
Visit Page
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="translate-y-0.5 transition duration-300 group-hover:translate-x-1"
/>
</div>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,44 @@
---
import Logo from "@components/images/Logo.astro"
interface Props {
title?: string;
description?: string;
url?: string;
logoUrlLight?: string;
logoUrlDark?: string;
}
const { title, description, url, logoUrlLight }: Props = Astro.props;
const logoUrlDark = Astro.props.logoUrlDark || logoUrlLight;
---
<div class="smooth-reveal-2 group flex flex-col">
<a
class="card-base flex items-center h-30 w-100 md:w-75"
href={url}
data-astro-prefetch
>
<div class="p-5 w-full">
<div class="flex items-center">
{logoUrlLight && (
<div class="card-hover-icon-scale">
<Logo
srcLight={logoUrlLight}
srcDark={logoUrlDark}
alt={`Logo of ${title}`}
/>
</div>
)}
<div class="ms-5 grow text-left">
<span class="card-text-title card-hover-text-title block text-lg">
{title}
</span>
<p class="card-text-description block mt-1">
{description}
</p>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,72 @@
---
import { Icon } from 'astro-icon/components';
import Logo from '@components/images/Logo.astro';
interface Props {
title?: string;
description?: string;
url?: string;
logoUrlLight?: string;
logoUrlDark?: string;
highlights?: string[];
visitSource?: boolean;
}
const { title, description, url, logoUrlLight, logoUrlDark, highlights, visitSource } = Astro.props;
const visitText = visitSource ? 'Visit Source' : 'Visit Page';
const visitClass = visitSource ? 'card-hover-text-gitea' : 'card-hover-text-title';
---
<div class="smooth-reveal group flex flex-col">
<a
class="card-base flex items-center"
href={url}
>
<div class="p-4 md:p-10">
<div class="flex items-center mb-4">
{logoUrlLight && (
<div class="card-hover-icon-scale mr-5">
<Logo
srcLight={logoUrlLight}
srcDark={logoUrlDark}
alt={`Logo of ${title}`}
/>
</div>
)}
<div class="grow text-left">
<span class="card-text-title block text-lg">
{title}
</span>
<p class="card-text-description block mt-1">
{description}
</p>
</div>
</div>
{highlights && (
<ul class="card-text-description text-sm mt-1 flex flex-col list-disc gap-2 [&>li]:ml-4">
{highlights.map((highlight) => (
<li class="marker:text-accent">
{highlight}
</li>
))}
</ul>
)}
<div class="ml-6 flex">
<div class="relative inline-block">
<div class={`card-text-title ${visitClass} flex relative items-center font-semibold text-md min-h-11 mx-auto sm:mx-0 sm:mt-4`}>
{visitSource && <Icon name="pajamas:gitea" />}
<span class="relative inline-block overflow-hidden ml-2">
{visitText}
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="translate-y-0.5 transition duration-300 group-hover:translate-x-1"
/>
</div>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,56 @@
---
import { Icon } from 'astro-icon/components';
import { Image } from 'astro:assets';
import { getDirectusImageURL } from '@/support/url';
interface Props {
title: string;
subTitle: string;
url: string;
img: string;
imgAlt: string;
}
const { title, subTitle, url, img, imgAlt } = Astro.props;
---
<div class="smooth-reveal flex flex-col px-4 py-10 mx-auto">
<a
class="md:card-base-hidden group items-center md:grid md:grid-cols-2 lg:grid lg:grid-cols-2 gap-8 xl:gap-16 max-w-340 2xl:max-w-full md:px-8 md:py-8"
href={url}
data-astro-prefetch
>
<div>
<Image
class="rounded-2xl rounded-b-none md:rounded-2xl w-full h-full sm:max-h-80 md:max-h-90 object-cover"
src={getDirectusImageURL(img)}
alt={imgAlt}
draggable="false"
loading="lazy"
width="850"
height="420"
inferSize={true}
/>
</div>
<div class="bg-background-card md:bg-transparent group-hover:bg-neutral-100 md:group-hover:bg-transparent dark:group-hover:bg-neutral-800/90 md:dark:group-hover:bg-transparent rounded-b-2xl transition-all duration-300 p-6">
<h2 class="card-text-header mb-2">
{title}
</h2>
<p class="card-text-title font-light text-pretty sm:text-lg max-w-prose mb-8">
{subTitle}
</p>
<div class="button-base button-bg-teal inline-flex rounded-lg gap-x-2">
<div class="button-text-title flex relative items-center text-center">
<span class="mr-2">
Read More
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="button-hover-arrow"
/>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,86 @@
---
import { Icon } from 'astro-icon/components';
import { Image } from 'astro:assets';
import { getDirectusImageURL } from '@/support/url';
interface Props {
title: string;
subTitle: string;
url: string;
single?: boolean;
imgOne: any;
imgOneAlt: any;
imgTwo?: any;
imgTwoAlt?: any;
}
const { title, subTitle, url, single, imgOne, imgOneAlt, imgTwo, imgTwoAlt } = Astro.props;
---
<div class="smooth-reveal flex flex-col px-5 py-10 mx-auto">
<a
class="md:card-base-hidden group flex flex-col-reverse md:items-center md:grid md:grid-cols-2 lg:grid lg:grid-cols-2 md:gap-8 xl:gap-16 max-w-340 2xl:max-w-full md:px-8 md:py-8"
href={url}
data-astro-prefetch
>
<div class="bg-background-card md:bg-transparent group-hover:bg-neutral-100 md:group-hover:bg-transparent dark:group-hover:bg-neutral-800/90 md:dark:group-hover:bg-transparent rounded-b-2xl transition-all duration-300 p-6">
<h2 class="card-text-header mb-2">
{title}
</h2>
<p class="card-text-title font-light text-pretty sm:text-lg max-w-prose mb-8">
{subTitle}
</p>
<div class="button-base button-bg-teal inline-flex rounded-lg gap-x-2">
<div class="button-text-title flex relative items-center text-center">
<span class="mr-2">
Read More
</span>
<Icon
name="mdi:keyboard-arrow-right"
class="button-hover-arrow"
/>
</div>
</div>
</div>
{single ? (
<div>
<Image
class="rounded-2xl rounded-b-none md:rounded-2xl w-full"
src={getDirectusImageURL(imgOne)}
alt={imgOneAlt}
format="webp"
loading="lazy"
width="850"
height="420"
inferSize={true}
/>
</div>
) : (
<div class="grid grid-cols-2 gap-4">
<Image
class="rounded-xl w-full"
src={getDirectusImageURL(imgOne)}
alt={imgOneAlt}
draggable="false"
format="webp"
loading="lazy"
width="400"
height="230"
inferSize={true}
/>
<Image
class="rounded-xl w-full mt-4 lg:mt-10"
src={getDirectusImageURL(imgTwo)}
alt={imgTwoAlt}
draggable="false"
format="webp"
loading="lazy"
width="400"
height="230"
inferSize={true}
/>
</div>
)}
</a>
</div>

View File

@@ -0,0 +1,35 @@
---
interface Props {
dayName: string;
label: string;
icon: string;
temp: number;
}
const { dayName, label, icon, temp } = Astro.props;
---
<div class="smooth-reveal-2 group flex flex-col">
<div class="card-base w-32 md:w-40">
<div class="p-5 text-center">
<span class="card-text-description block font-bold text-xs uppercase tracking-widest">
{dayName}
</span>
<div class="flex justify-center my-2">
<img
src={`https://openweathermap.org/img/wn/${icon}@2x.png`}
alt={label}
class="card-hover-icon-scale h-12 w-12"
/>
</div>
<div class="mt-2">
<span class="card-text-title card-hover-text-title block text-2xl">
{temp}°F
</span>
<span class="card-text-description mt-1 block text-xs capitalize">
{label}
</span>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,18 @@
---
import { Image } from 'astro:assets';
import { readSingleton } from '@directus/sdk';
import logo from '@images/brand_logo.png';
import directus from '@lib/directus';
const global = await directus.request(readSingleton('site_global'));
---
<Image
src={logo}
alt={global.name}
draggable="false"
loading="eager"
inferSize={true}
{...Astro.props}
/>

View File

@@ -0,0 +1,46 @@
---
import { Image } from 'astro:assets';
const { srcLight, srcDark, alt, style, width, height } = Astro.props;
---
<div class="themed-image-container">
<Image
src={srcLight}
alt={alt}
class={`light-logo ${style}`}
inferSize={true}
width={width}
height={height}
inferSize={true}
/>
<Image
src={srcDark}
alt={alt}
class={`dark-logo ${style}`}
inferSize={true}
width={width}
height={height}
inferSize={true}
/>
</div>
<style>
.themed-image-container {
display: grid;
grid-template-areas: "stack";
}
.themed-image-container :global(img) {
grid-area: stack;
}
:global(.dark) .light-logo {
display: none !important;
}
:global(.dark) .dark-logo {
display: block !important;
}
</style>

View File

@@ -0,0 +1,22 @@
---
import ImageTheme from '@components/images/ImageTheme.astro';
const {
srcLight,
srcDark,
alt,
width = 48,
height = 48,
} = Astro.props;
---
<ImageTheme
srcLight={srcLight}
srcDark={srcDark}
alt={alt}
style=`color: transparent; width: ${width}px; height: ${height}px; object-fit: contain; max-height: 100%; max-width: 100%;`
draggable="false"
loading="lazy"
width={width}
height={height}
/>

View File

@@ -0,0 +1,30 @@
---
import { readItems } from '@directus/sdk';
import type { Application } from '@lib/directusTypes';
import HighlightsCard from '@components/cards/HighlightsCard.astro';
import directus from '@lib/directus';
const applications = ((await directus.request(
readItems('site_applications' as any, {
fields: ['*'],
sort: ['-isActive'],
})
)) as unknown) as Application[];
---
<section class:list={['mx-auto max-w-7xl px-4 py-10 sm:px-6 lg:px-8 lg:py-14', Astro.props.className]}>
<div class="grid grid-cols-1 gap-6 md:grid-cols-2 lg:gap-8 print:flex print:flex-col">
{applications.map((application: Application) => (
<HighlightsCard
title={application.name}
description={application.description}
url={application.url}
logoUrlLight={application.logoUrl}
logoUrlDark={application.logoUrl}
highlights={application.highlights}
/>
))}
</div>
</section>

View File

@@ -0,0 +1,93 @@
---
import { getCollection } from 'astro:content';
import { readItems } from '@directus/sdk';
import type { Post } from '@lib/directusTypes';
import CategoryCard from '@components/cards/CategoryCard.astro';
import directus from '@lib/directus';
import { timeago } from '@support/time';
const posts = await directus.request(
readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*'],
sort: ['-published_date'],
})
);
const layoutPattern = [
{ col: 2, row: 2 },
{ col: 2, row: 1 },
{ col: 1, row: 1 },
{ col: 1, row: 1 },
{ col: 1, row: 2 },
{ col: 2, row: 1 },
{ col: 1, row: 1 },
{ col: 1, row: 1 },
{ col: 1, row: 1 },
{ col: 1, row: 1 },
];
const postMap: Map<string, Post[]> = posts
.sort((a: Post, b: Post) => b.published_date.valueOf() - a.published_date.valueOf())
.reduce((acc, obj) => {
let posts = acc.get(obj.category);
if (!posts) {
posts = [];
}
posts.push(obj);
acc.set(obj.category, posts);
return acc;
}, new Map<string, Post[]>());
const categories = (await getCollection('categories'))
.sort((a, b) => {
const aCount = postMap.get(a.slug)?.length ?? 0;
const bCount = postMap.get(b.slug)?.length ?? 0;
return bCount - aCount;
})
.map((c, index) => {
const posts = postMap.get(c.slug);
const pattern = layoutPattern[index % layoutPattern.length];
const smColSpan = Math.min(pattern.col, 2);
const mdColSpan = Math.min(pattern.col, 4);
const rowSpan = pattern.row;
const rowSpanClass = rowSpan > 1 ? `row-span-${rowSpan}` : 'row-span-1';
const gridItemClass = `col-span-${smColSpan} md:col-span-${mdColSpan} ${rowSpanClass}`;
return {
...c,
posts,
gridItemClass,
layoutPattern: {
smCol: smColSpan,
mdCol: mdColSpan,
row: rowSpan,
index,
},
};
});
---
<section class="mx-auto px-4 py-10 sm:px-6 lg:px-8 lg:py-14 lg:pt-10 2xl:max-w-full">
<div class="grid grid-flow-row-dense grid-cols-2 md:grid-cols-4 gap-4">
{categories.map((category) => {
return (
<div
class={category.gridItemClass}
style={category.layoutPattern.row > 1 ? 'grid-row: span 2 / span 2;' : ''}
>
<CategoryCard
slug={category.slug}
title={category.data.title}
description={category.data.description}
count={postMap.get(category.slug)?.length ?? 0}
publishDate={timeago(postMap.get(category.slug)?.[0]?.published_date)}
/>
</div>
);
})}
</div>
</section>

View File

@@ -0,0 +1,65 @@
---
import { readItems } from '@directus/sdk';
import type { Education, Certificate} from '@lib/directusTypes';
import EducationCard from '@components/cards/EducationCard.astro';
import directus from '@lib/directus';
const educations = ((await directus.request(
readItems('site_education' as any, {
fields: ['*'],
sort: ['-graduationDate'],
})
)) as unknown) as Education[];
const certificates = ((await directus.request(
readItems('site_certificate' as any, {
fields: ['*'],
sort: ['-issuerDate'],
})
)) as unknown) as Certificate[];
---
<section class:list={['flex flex-col gap-4', Astro.props.className]}>
<h3 class="smooth-reveal card-text-header flex relative items-center w-full gap-3 pb-5">
Education
</h3>
<div class="mx-8">
<h4 class="smooth-reveal card-text-header-minor pt-5">
College
</h4>
<div class="grid md:grid-cols-2 sm:grid-cols-1 gap-4 py-3">
{educations.map((education: Education) => (
<EducationCard
topic={education.institution}
area={education.area}
date={education.graduationDate}
url={education.url}
logoUrlLight={education.logo}
logoUrlDark={education.logoDark}
/>
))}
</div>
</div>
{certificates.length > 0 && (
<div class="mx-8">
<h4 class="smooth-reveal card-text-header-minor pt-8">
Certificates
</h4>
<div class="grid md:grid-cols-2 sm:grid-cols-1 gap-4 py-3">
{certificates.map((certificate: Certificate) => (
<EducationCard
topic={certificate.name}
area={certificate.issuer}
date={certificate.issuerDate}
url={certificate.url}
logoUrlLight={certificate.logo}
logoUrlDark={certificate.logoDark}
/>
))}
</div>
</div>
)}
</section>

View File

@@ -0,0 +1,159 @@
---
import { Icon } from 'astro-icon/components';
import { readItems } from '@directus/sdk';
import type { Experience } from '@lib/directusTypes';
import directus from '@lib/directus';
const experiences = ((await directus.request(
readItems('site_experience'as any, {
fields: ['*'],
sort: ['-endDate'],
})
)) as unknown) as Experience[];
---
<section class:list={['flex flex-col gap-8', Astro.props.className]}>
<h3 class="smooth-reveal card-text-header flex relative items-center w-full gap-3 pb-10">
Experience
</h3>
<ul class="flex flex-col w-full ml-8 pr-8">
{experiences.map((experience: Experience) => {
const startYear = new Date(experience.startDate).getFullYear();
const endYear = experience.endDate != null ? new Date(experience.endDate).getFullYear() : 'Present';
return (
<li class="relative">
<div class="smooth-reveal group relative grid sm:grid-cols-18 sm:gap-8 md:gap-6 pb-16">
<header class="relative sm:col-span-3 text-header font-semibold text-lg mt-1">
<time datetime={experience.startDate} data-title={experience.startDate}>
{startYear}
</time>
{' '}-{' '}
<time datetime={experience.endDate} data-title={experience.endDate}>
{endYear}
</time>
</header>
<div class="relative flex flex-col sm:col-span-12 pb-6">
<div class="absolute bg-accent -translate-x-[1.71rem] rounded-full h-2 w-2 mt-3"/>
<h3>
<div
class="inline-flex items-center text-2xl leading-tight font-semibold"
aria-label="{position} - {company}"
>
<span class="text-header">
{experience.position} <span>@</span>
{experience.url ? (
<a
class="hover:text-main"
href={experience.url}
title={`Ver ${experience.name}`}
target="_blank"
>
{experience.name}
</a>
) : (
<span>{experience.name}</span>
)}
</span>
</div>
</h3>
{(experience.location || experience.location_type) && (
<div class="text-secondary text-sm">
{experience.location} {experience.location && experience.location_type && '-'} {experience.location_type}
</div>
)}
<div class="text-md mt-4 flex flex-col gap-4" x-data="{ expanded: false }">
{experience.summary && (
<div class="flex flex-col gap-1">
<h4 class="text-header font-semibold">
Summary:
</h4>
<ul class="flex flex-col text-primary list-disc gap-2 [&>li]:ml-4">
<li class="marker:text-main">
{experience.summary}
</li>
</ul>
</div>
)}
{(experience.responsibilities || experience.achievements) && (
<div class="relative flex flex-col gap-4" :class="expanded ? '' : 'mask-[linear-gradient(to_bottom,black_50%,transparent)]'" x-show="expanded" x-collapse.min.50px>
{experience.responsibilities && (
<div class="flex flex-col gap-1">
<h4 class="text-header font-semibold">
Responsibilities:
</h4>
<ul class="flex flex-col text-primary list-disc gap-2 [&>li]:ml-4">
{experience.responsibilities.map(responsibility => (
<li class="marker:text-main">
{responsibility}
</li>
))}
</ul>
</div>
)}
{experience.achievements && (
<div class="flex flex-col gap-1">
<h4 class="text-header font-semibold">
Achievements:
</h4>
<ul class="flex flex-col text-primary list-disc gap-2 [&>li]:ml-4">
{experience.achievements.map(achievement => (
<li class="marker:text-main">
{achievement}
</li>
))}
</ul>
</div>
)}
</div>
<button @click="expanded = ! expanded" class="group/more flex items-center justify-center text-primary hover:text-primary-hover text-xs underline transition-all gap-1.5 w-fit cursor-pointer">
<span x-text="expanded ? 'Show less' : 'Show more'">
Show more
</span>
<svg
class="group-hover/more:translate-y-0.5 ease-out duration-300 h-4 w-4"
:class="{ 'rotate-180': expanded }"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polyline points="6 9 12 15 18 9" />
</svg>
</button>
<ul
class="flex print:hidden flex-wrap gap-2 mt-2"
aria-label="Technologies used"
>
{experience.skills && experience.skills.map(skill => {
const iconName = skill.toLowerCase();
const skillName = skill.split(':')[1].replace(/^language-/, '').replace(/-/g, ' ').replace(/\b\w/g, (l) => l.toUpperCase());
return (
<li class="flex items-center bg-steel/20 dark:bg-bermuda/20 text-neutral-800 dark:text-neutral-200 text-xs rounded-md border border-solid border-steel/20 dark:border-bermuda/20 gap-1 px-2 py-0.5">
<Icon name={`${iconName}`} class="h-4 w-4" /> <span>{skillName}</span>
</li>
)
})}
</ul>
)}
</div>
</div>
</div>
</li>
);
})}
</ul>
</section>
<!-- Alpine Plugins -->
<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.x.x/dist/cdn.min.js"></script>
<!-- Alpine Core -->
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>

View File

@@ -0,0 +1,41 @@
---
import { readSingleton } from '@directus/sdk';
import FeaturesCard from '@components/cards/FeaturesCard.astro';
import directus from '@lib/directus';
const global = await directus.request(readSingleton('site_global'));
---
<section class="max-w-340 2xl:max-w-full px-4 sm:px-6 lg:px-8 py-10 lg:py-14 mx-auto mb-2 md:mb-8">
<div class="flex flex-col sm:flex-row items-center justify-center gap-y-2 sm:gap-x-12 sm:gap-y-0 lg:gap-x-24">
<div class="max-w-5xl sm:px-6 lg:px-8">
<div class="flex flex-wrap gap-6 sm:grid-cols-2 sm:gap-6 lg:grid-cols-3 justify-center">
<FeaturesCard
title="Cloud Engineer"
description="Full stack and cloud engineer."
url="/about"
logoUrlLight="https://img.icons8.com/cotton/64/cloud-development--v2.png"
/>
<FeaturesCard
title="Homelab"
description="Tinkering, testing, deploying, etc, etc ..."
url="/categories/homelab/"
logoUrlLight="https://img.icons8.com/cotton/64/smart-home-connection.png"
/>
<FeaturesCard
title="Documentation"
description="Reference and guides for my homelab."
url="https://docs.alexlebens.dev"
logoUrlLight="https://img.icons8.com/cotton/64/bookmarked-document--v1.png"
/>
<FeaturesCard
title="Email"
description={`Send me a message.`}
url=`mailto:${global.email}`
logoUrlLight="https://img.icons8.com/cotton/64/secured-letter--v3.png"
/>
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,155 @@
---
import GiteaButton from '@components/buttons/GiteaButton.astro';
interface Props {
title: string;
subTitle?: string;
url?: string;
}
const { title, subTitle, url } = Astro.props;
---
<section class="relative max-w-340 pt-30 pb-30 px-4 sm:px-6 lg:px- mx-auto mb-2 md:mb-10">
<!-- Animated shapes -->
<div class="smooth-reveal absolute top-[55%] left-0 scale-90 md:top-[20%] xl:top-[25%] xl:left-[10%]">
<svg
class="gitea-animate-hover gitea-animate-hover-1"
width="64"
height="64"
fill="none"
stroke-width="1.5"
color="#ea580c"
viewBox="0 0 24 24"
>
<path
fill="#ea580c"
stroke="#ea580c"
stroke-linecap="round"
stroke-linejoin="round"
d="M12 23a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM3 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM3 18a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
></path>
<path
stroke="#ea580c"
stroke-linecap="round"
stroke-linejoin="round"
d="M21 7.353v9.294a.6.6 0 0 1-.309.525l-8.4 4.666a.6.6 0 0 1-.582 0l-8.4-4.666A.6.6 0 0 1 3 16.647V7.353a.6.6 0 0 1 .309-.524l8.4-4.667a.6.6 0 0 1 .582 0l8.4 4.667a.6.6 0 0 1 .309.524Z"
></path>
<path
stroke="#ea580c"
stroke-linecap="round"
stroke-linejoin="round"
d="m3.528 7.294 8.18 4.544a.6.6 0 0 0 .583 0l8.209-4.56M12 21v-9"></path>
</svg>
</div>
<div class="smooth-reveal absolute top-0 left-[85%] scale-75">
<svg
class="gitea-animate-hover gitea-animate-hover-2"
width="64"
height="64"
fill="none"
stroke-width="1.5"
color="#fbbf24"
viewBox="0 0 24 24"
>
<path
stroke="#fbbf24"
stroke-linecap="round"
stroke-linejoin="round"
d="M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z"></path>
<path
fill="#fbbf24"
stroke="#fbbf24"
stroke-linecap="round"
stroke-linejoin="round"
d="M5 6a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
<path stroke="#fbbf24" stroke-linecap="round" stroke-linejoin="round" d="M5 10.5V9M5 15v-1.5"
></path>
<path
fill="#fbbf24"
stroke="#fbbf24"
stroke-linecap="round"
stroke-linejoin="round"
d="M5 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM19 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
<path
stroke="#fbbf24"
stroke-linecap="round"
stroke-linejoin="round"
d="M10.5 19H9M15 19h-1.5"></path>
</svg>
</div>
<div class="smooth-reveal absolute bottom-[5%] left-[60%] scale-[.6] xl:bottom-[15%] xl:left-[35%]">
<svg
class="gitea-animate-hover gitea-animate-hover-3"
width="64"
height="64"
fill="none"
stroke-width="1.5"
color="#a3a3a3"
viewBox="0 0 24 24"
>
<path
stroke="#a3a3a3"
stroke-linecap="round"
stroke-linejoin="round"
d="M5.164 17c.29-1.049.67-2.052 1.132-3M11.5 7.794A16.838 16.838 0 0 1 14 6.296M4.5 22a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z"
></path>
<path
stroke="#a3a3a3"
stroke-linecap="round"
stroke-linejoin="round"
d="M9.5 12a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5ZM19.5 7a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z"
></path>
</svg>
</div>
<!-- Heading -->
<div class="smooth-reveal-2 mx-auto mt-5 max-w-xl text-center">
<h1 class="card-text-header block">
{title}
</h1>
</div>
<!-- Sub-heading -->
<div class="smooth-reveal-2 mx-auto mt-5 max-w-3xl text-center">
{subTitle && (
<p class="card-text-header-description">
{subTitle}
</p>
)}
</div>
<!-- Gitea Button -->
{url && (
<div class="smooth-reveal-2 flex justify-center mt-8 gap-3">
<GiteaButton url={url}/>
</div>
)}
</section>
<style>
@keyframes gitea-animate-hover {
from {
transform: translateY(15px);
}
to {
transform: translateY(-15px);
}
}
.gitea-animate-hover {
animation: gitea-animate-hover ease-in-out;
animation-iteration-count: infinite;
animation-direction: alternate;
}
.gitea-animate-hover-1 {
animation-duration: 5s;
}
.gitea-animate-hover-2 {
animation-duration: 5.5s;
}
.gitea-animate-hover-3 {
animation-duration: 6s;
}
</style>

View File

@@ -0,0 +1,31 @@
---
import GoLinkPrimaryButton from '@components/buttons/GoLinkPrimaryButton.astro';
interface Props {
title: string;
subTitle: string;
btnExists?: boolean;
btnTitle?: string;
btnURL?: string;
}
const { title, subTitle, btnExists, btnTitle, btnURL } = Astro.props;
---
<section class="mx-auto mt-10 px-4 sm:px-6 lg:px-8 lg:pt-10 2xl:max-w-full">
<div class="flex-wrap md:flex md:items-center md:justify-between">
<div class="w-full md:w-auto">
<h1 class="smooth-reveal card-text-header block lg:text-6xl">
{title}
</h1>
<p class="smooth-reveal card-text-header-description mt-4">
{subTitle}
</p>
{btnExists ? (
<div class="smooth-reveal mt-4 md:mt-8">
<GoLinkPrimaryButton title={btnTitle} url={btnURL}/>
</div>
) : null}
</div>
</div>
</section>

View File

@@ -0,0 +1,57 @@
---
import { Image } from 'astro:assets';
import GoLinkPrimaryButton from '@components/buttons/GoLinkPrimaryButton.astro';
import GoLinkSecondaryButton from '@components/buttons/GoLinkSecondaryButton.astro';
interface Props {
title: string;
subTitle?: string;
primaryBtn?: string;
primaryBtnURL?: string;
secondaryBtn?: string;
secondaryBtnURL?: string;
src?: any;
alt?: string;
rounded?: boolean;
}
const { title, subTitle, primaryBtn, primaryBtnURL, secondaryBtn, secondaryBtnURL, src, alt } = Astro.props;
const roundedClasses = Astro.props.rounded ? "rounded-2xl" : null;
---
<section class="mx-auto grid max-w-340 gap-4 px-4 py-14 sm:px-6 md:grid-cols-2 md:items-center md:gap-8 lg:px-8 2xl:max-w-full">
<div>
<h1 class="smooth-reveal card-text-header block lg:text-7xl">
<Fragment set:html={title} />
</h1>
{subTitle && (
<p class="smooth-reveal card-text-header-description lg:w-4/5 mt-6">
{subTitle}
</p>
)}
<div class="smooth-reveal grid sm:inline-flex mt-7 w-full gap-3">
{primaryBtn && <GoLinkPrimaryButton title={primaryBtn} url={primaryBtnURL} />}
{secondaryBtn && <GoLinkSecondaryButton title={secondaryBtn} url={secondaryBtnURL} />}
</div>
</div>
<div class="smooth-reveal-fade md:block w-full hidden">
<div class="flex justify-center w-full top-12 md:ml-4 overflow-hidden">
{src && alt && (
<Image
src={src}
alt={alt}
class={`h-full w-105 scale-100 object-cover object-center ${roundedClasses}`}
draggable="false"
loading="eager"
format="webp"
quality="low"
widths={[840]}
inferSize={true}
/>
)}
</div>
</div>
</section>

View File

@@ -0,0 +1,32 @@
---
import { readItems } from '@directus/sdk';
import type { Project } from '@lib/directusTypes';
import HighlightsCard from '@components/cards/HighlightsCard.astro';
import directus from '@lib/directus';
const projects = ((await directus.request(
readItems('site_projects' as any, {
fields: ['*'],
sort: ['-isActive'],
})
)) as unknown) as Project[];
---
<section class:list={['flex flex-col gap-y-8', Astro.props.className]}>
<h3 class="smooth-reveal card-text-header flex relative items-center w-full gap-3 pb-5">
Projects
</h3>
<div class="grid grid-cols-1 gap-6 md:grid-cols-2 lg:gap-8 print:flex print:flex-col">
{projects.map((project: Project) => (
<HighlightsCard
title={project.name}
description={project.description}
url={project.source}
highlights={project.highlights}
visitSource={true}
/>
))}
</div>
</section>

View File

@@ -0,0 +1,29 @@
---
import type { Post } from '@lib/directusTypes';
import BlogCard from '@components/cards/BlogCard.astro';
interface Props {
posts: Post[];
title: string;
subTitle?: string;
}
const { posts, title, subTitle } = Astro.props;
---
<section class="max-w-340 2xl:max-w-full px-4 sm:px-6 lg:px-8 py-10 lg:py-14 mx-auto mb-2 md:mb-8">
<div class="text-center max-w-2xl mx-auto mb-10 lg:mb-14">
<h1 class="smooth-reveal card-text-header block">
{title}
</h1>
<div class="smooth-reveal mx-auto mt-5 max-w-3xl text-center">
<span class="card-text-header-description">
{subTitle}
</span>
</div>
</div>
<div class="grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
{posts.map((b) => <BlogCard post={b} />)}
</div>
</section>

View File

@@ -0,0 +1,35 @@
---
import type { Post } from '@lib/directusTypes';
import LargeBlogLeftCard from '@components/cards/LargeBlogLeftCard.astro';
import LargeBlogRightCard from '@components/cards/LargeBlogRightCard.astro';
interface Props {
posts: Post[];
}
const { posts } = Astro.props;
---
<section class="smooth-reveal flex flex-col gap-4">
{posts.map((post, index) => index % 2 === 0 ? (
<LargeBlogLeftCard
title={post.title}
subTitle={post.description}
url={`/blog/${post.slug}`}
img={post.image}
imgAlt={post.image_alt}
/>
) : (
<LargeBlogRightCard
title={post.title}
subTitle={post.description}
url={`/blog/${post.slug}`}
single={!post.image_second}
imgOne={post.image}
imgOneAlt={post.image_alt}
imgTwo={post?.image_second}
imgTwoAlt={post?.image_second_alt}
/>
))}
</section>

View File

@@ -0,0 +1,223 @@
---
import { Icon } from 'astro-icon/components';
import { readItems } from '@directus/sdk';
import type { Skill } from '@lib/directusTypes';
import directus from '@lib/directus';
const skills = ((await directus.request(
readItems('site_skills' as any, {
fields: ['*'],
sort: ['-date_created'],
})
)) as unknown) as Skill[];
---
<section class:list={['flex flex-col gap-4', Astro.props.className]}>
<h3 class="smooth-reveal card-text-header flex relative items-center w-full gap-3 pb-5">
Skills
</h3>
<div>
<div class="tech-stack-slider relative overflow-hidden py-4 sm:py-8 mask-[linear-gradient(to_right,transparent,black_10%,black_90%,transparent)]">
<!-- Main slider container -->
<div class="slider-track animate-slide flex">
{[...skills, ...skills, ...skills].map((skill: Skill) => {
return (
<div class="skill-card card-base transform hover:-translate-y-2 hover:scale-105 transition-all duration-300 mx-2 min-w-55 sm:mx-4 sm:min-w-70">
<div class="p-4 sm:p-6">
<div class="flex items-center justify-between mb-4 sm:mb-6">
<div class="flex items-center gap-2 sm:gap-4">
<div class="flex items-center justify-center rounded-lg text-primary">
<Icon name={skill.icon} class="h-8 w-8 sm:h-12 sm:w-12" />
</div>
<h3 class="text-neutral-900 dark:text-neutral-100 text-base font-semibold sm:text-xl">
{skill.title}
</h3>
</div>
<span class=" bg-neutral-200 dark:bg-neutral-800 text-neutral-700 dark:text-neutral-300 font-mono text-xs sm:text-sm rounded-full px-2 sm:px-2.5 py-0.5 sm:py-1">
{skill.level}%
</span>
</div>
<div class="relative bg-stone-500/20 dark:bg-stone-500/20 rounded-full h-1.5 sm:h-2 w-full overflow-hidden">
<div
class="progress-bar-animate bg-linear-to-r from-steel via-bermuda to-steel absolute top-0 left-0 h-full rounded-full transition-all duration-1000"
style={`width: ${skill.level}%`}
/>
</div>
<div class="flex justify-between text-secondary font-mono text-[10px] mt-1 sm:mt-2 sm:text-xs">
<span>Beginner</span>
<span>Advanced</span>
</div>
</div>
</div>
);
})}
</div>
</div>
</div>
</section>
<script>
document.addEventListener('astro:page-load', () => {
function setupInfiniteScroll() {
const cards = document.querySelectorAll('.skill-card');
if (!cards.length) return;
}
setupInfiniteScroll();
const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0;
const cards = document.querySelectorAll('.skill-card');
if (!isTouchDevice) {
cards.forEach((card) => {
card.addEventListener('mousemove', (e) => {
const rect = card.getBoundingClientRect();
const x = e.clientX - rect.left;
const y = e.clientY - rect.top;
const centerX = rect.width / 2;
const centerY = rect.height / 2;
const angleX = (y - centerY) / 15;
const angleY = (centerX - x) / 15;
card.style.transform = `perspective(1000px) rotateX(${angleX}deg) rotateY(${angleY}deg) scale(1.08) translateZ(20px)`;
// Dynamic shadow based on tilt
const shadowX = (x - centerX) / 25;
const shadowY = (y - centerY) / 25;
card.style.boxShadow = `
${shadowX}px ${shadowY}px 20px rgba(0, 0, 0, 0.1),
0 10px 20px rgba(0, 0, 0, 0.05)
`;
});
card.addEventListener('mouseleave', () => {
card.style.transform = '';
card.style.boxShadow = '';
});
});
} else {
// Simpler effects for touch devices
cards.forEach((card) => {
card.addEventListener('touchstart', () => {
card.classList.add('is-touched');
});
card.addEventListener('touchend', () => {
setTimeout(() => {
card.classList.remove('is-touched');
}, 300);
});
});
}
});
</script>
<style>
/* Specific css to enable sliding effect */
.slider-track {
width: fit-content;
animation: scroll 40s linear infinite;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(calc(-220px * 6 - 16px * 6));
}
}
@media (min-width: 640px) {
.slider-track {
animation: scroll 80s linear infinite;
}
@keyframes scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(calc(-280px * 6 - 32px * 6));
}
}
}
.tech-stack-slider:hover .slider-track {
animation-play-state: paused;
}
.skill-card {
transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
position: relative;
overflow: hidden;
}
.skill-card:hover {
z-index: 10;
}
/* Reduce animation complexity on mobile */
@media (max-width: 640px) {
.skill-card {
transition:
transform 0.3s ease,
box-shadow 0.3s ease;
}
.skill-card:hover {
transform: translateY(-5px) !important;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
}
}
.skill-card:before {
content: '';
position: absolute;
top: -10%;
left: -10%;
width: 120%;
height: 120%;
background: radial-gradient(
circle at center,
rgba(255, 255, 255, 0.1) 0%,
rgba(255, 255, 255, 0) 70%
);
opacity: 0;
transition: opacity 0.5s ease;
pointer-events: none;
}
.skill-card:hover:before {
opacity: 1;
}
.progress-bar-animate {
position: relative;
overflow: hidden;
}
.progress-bar-animate:after {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
animation: progress-shine 2s infinite;
}
@keyframes progress-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
</style>

Some files were not shown because too many files have changed in this diff Show More