Compare commits

..

1132 Commits
0.1.1 ... 3.7.0

Author SHA1 Message Date
semantic-release-bot
505f8d6a36 chore(release): 3.7.0 [skip ci]
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)

### Bug Fixes

* incorrect name of step ([db79f91](db79f912ee))
* use semantic release outputs ([578e166](578e1661cd))

### Features

* add automation to release using release-please in workflows ([99032f7](99032f7a62))
* add if to ignore harbor release result ([ce75e7c](ce75e7ca5e))
* add outputs of semantic release ([36eaa0c](36eaa0c132))
* add release branch, update and merge release workflow ([68f2080](68f2080bda))
* add semantic release ([620b496](620b496957))
* add token ([e0a3d39](e0a3d391b3))
* change release format ([24c837c](24c837cf84))
* ignore on docs updates ([4b58117](4b58117454))
* install deps ([f32b75e](f32b75e31d))
* remove old release workflows ([7882c3e](7882c3ecc7))
* remove release-please ([07fa86b](07fa86b17c))
* setup node for semantic release ([bf3a7ef](bf3a7ef261))
* use different workflow for gitea ([1577ee4](1577ee4c27))
2026-03-12 20:09:59 +00:00
26a2a9dc96 Merge pull request 'fix: use semantic release outputs' (#382) from main into release
All checks were successful
release-image / semantic-release (push) Successful in 1m47s
release-image / guarddog (push) Successful in 1m21s
release-image / build (push) Successful in 3m47s
release-image / release-harbor (push) Successful in 12m42s
release-image / release-gitea (push) Successful in 6m52s
Reviewed-on: #382
2026-03-12 20:08:51 +00:00
578e1661cd fix: use semantic release outputs
All checks were successful
renovate / renovate (push) Successful in 1m11s
2026-03-12 15:07:38 -05:00
semantic-release-bot
3e2e9196a2 chore(release): 3.7.0 [skip ci]
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)

### Bug Fixes

* incorrect name of step ([db79f91](db79f912ee))

### Features

* add automation to release using release-please in workflows ([99032f7](99032f7a62))
* add if to ignore harbor release result ([ce75e7c](ce75e7ca5e))
* add outputs of semantic release ([36eaa0c](36eaa0c132))
* add release branch, update and merge release workflow ([68f2080](68f2080bda))
* add semantic release ([620b496](620b496957))
* add token ([e0a3d39](e0a3d391b3))
* change release format ([24c837c](24c837cf84))
* ignore on docs updates ([4b58117](4b58117454))
* install deps ([f32b75e](f32b75e31d))
* remove old release workflows ([7882c3e](7882c3ecc7))
* remove release-please ([07fa86b](07fa86b17c))
* setup node for semantic release ([bf3a7ef](bf3a7ef261))
* use different workflow for gitea ([1577ee4](1577ee4c27))
2026-03-12 19:45:09 +00:00
338accdd22 Merge pull request 'Release' (#381) from main into release
All checks were successful
release-image / semantic-release (push) Successful in 1m24s
release-image / guarddog (push) Successful in 16s
release-image / build (push) Successful in 2m5s
release-image / release-harbor (push) Successful in 6m15s
release-image / release-gitea (push) Successful in 4m56s
Reviewed-on: #381
2026-03-12 19:44:08 +00:00
7882c3ecc7 feat: remove old release workflows
All checks were successful
renovate / renovate (push) Successful in 1m8s
2026-03-12 14:41:45 -05:00
db79f912ee fix: incorrect name of step 2026-03-12 14:41:25 -05:00
semantic-release-bot
e165c5fea0 chore(release): 3.7.0 [skip ci]
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)

### Features

* add automation to release using release-please in workflows ([99032f7](99032f7a62))
* add if to ignore harbor release result ([ce75e7c](ce75e7ca5e))
* add outputs of semantic release ([36eaa0c](36eaa0c132))
* add release branch, update and merge release workflow ([68f2080](68f2080bda))
* add semantic release ([620b496](620b496957))
* add token ([e0a3d39](e0a3d391b3))
* change release format ([24c837c](24c837cf84))
* ignore on docs updates ([4b58117](4b58117454))
* install deps ([f32b75e](f32b75e31d))
* remove release-please ([07fa86b](07fa86b17c))
* setup node for semantic release ([bf3a7ef](bf3a7ef261))
* use different workflow for gitea ([1577ee4](1577ee4c27))
2026-03-12 19:36:52 +00:00
8e32c5aaff Merge pull request 'Release' (#380) from main into release
All checks were successful
release-image / semantic-release (push) Successful in 1m38s
release-image / build (push) Has been skipped
release-image / guarddog (push) Has been skipped
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #380
2026-03-12 19:35:47 +00:00
36eaa0c132 feat: add outputs of semantic release
All checks were successful
test-build / guarddog (push) Successful in 20s
renovate / renovate (push) Successful in 1m25s
test-build / build (push) Successful in 3m17s
2026-03-12 14:30:23 -05:00
24c837cf84 feat: change release format 2026-03-12 14:25:28 -05:00
semantic-release-bot
420b971044 chore(release): 1.0.0 [skip ci]
# 1.0.0 (2026-03-12)

### Bug Fixes

* add comments ([a0f83c8](a0f83c874c))
* add env ([ea9ae01](ea9ae016d7))
* add paths ([976bc0c](976bc0c413))
* add remote patterns for images ([ba73c1b](ba73c1b24f))
* change selected count ([fe38992](fe3899242a))
* clean up comments ([4d7886b](4d7886b93c))
* command order ([0a2979e](0a2979ecfe))
* correct credentials ([1a34b93](1a34b932b0))
* correct matchhost ([882063e](882063ea43))
* create new Date to compare posts ([01ee8fa](01ee8fac98))
* debug logs ([8d5c02e](8d5c02e2d1))
* **deps:** update astro monorepo ([ef810ef](ef810efd24))
* **deps:** update dependency shiki to v4 ([da28e5b](da28e5b50e))
* downgrade python ([7a77f0d](7a77f0d2d2))
* fix footer accent color ([9eb0f37](9eb0f37cb2))
* fix lint error ([4c4421c](4c4421c8a8))
* force 3d scaling for button transform ([959d3bd](959d3bd71d))
* hidden button background color on light mode, darken ([0d87af3](0d87af3aca))
* info logs ([c927235](c927235a5a))
* install and run ([e29631c](e29631c4af))
* move host rules to workflow ([ba2477e](ba2477e7af))
* only binary ([31aad55](31aad5511f))
* padding, margin, and width issues ([6d3f3a4](6d3f3a49ab))
* path ([d9833e1](d9833e1c27))
* remove argument ([093e1e2](093e1e2ccb))
* remove border from blog cards ([875b8a7](875b8a7f47))
* remove description ([c2bf64c](c2bf64c6cc))
* remove errant semicolon ([1ddc76a](1ddc76ae69))
* remove unused property ([3d9120c](3d9120c570))
* run theme on page swap ([c4be465](c4be4653be))
* update lock ([fb8f642](fb8f642c52))
* use uvx ([c3e4519](c3e4519682))

### Features

* add additional layout for small screens ([890dbdf](890dbdf313))
* add an all page with cards to link to it ([7327795](7327795d39))
* add applications page ([9678b3c](9678b3c718))
* add automation to release using release-please in workflows ([99032f7](99032f7a62))
* add background shimmer effect, use mask for content scroll fade ([5e37e2b](5e37e2bb53))
* add category logo to blog page ([5b94283](5b94283498))
* add client:load ([ceb70c7](ceb70c7049))
* add creds for dhi ([8797864](879786484d))
* add dark mode logo ([f984a1f](f984a1f759))
* add dark mode swap to logo ([97b1fa0](97b1fa0316))
* add dates to selected ([091af90](091af909d4))
* add docker login ([a8d6446](a8d6446674))
* add docs link to footer ([22860c4](22860c4714))
* add gap to distinguish ([f030da5](f030da549e))
* add gap to header above md ([d3b2b40](d3b2b40ccb))
* add guarddog scan to workflow ([14f7bdc](14f7bdc024))
* add if to ignore harbor release result ([ce75e7c](ce75e7ca5e))
* add logos to category cards ([4c1da43](4c1da43c68))
* add logos to category header pages ([d7d4336](d7d43369dc))
* add margin to bring in the content ([fa618b0](fa618b0524))
* add photoswipe to view images embeded in posts ([ae57c60](ae57c60935))
* add release branch, update and merge release workflow ([68f2080](68f2080bda))
* add rounded option to hero component and use it for about page ([95432d9](95432d9059))
* add rybbit tracking ([efad6c3](efad6c30d1))
* add scroll reset on navigation ([07c7ede](07c7edeb0f))
* add security feature ([a7e7e5b](a7e7e5b0e8))
* add semantic release ([620b496](620b496957))
* add shiki to markdown rendering for code highlighting ([b7f76c5](b7f76c5847))
* add thanks for Icons8 ([6cddae6](6cddae61ed))
* add token ([e0a3d39](e0a3d391b3))
* add weather widget ([b6dfc73](b6dfc738f1))
* adjust height of fade effect ([7498870](7498870d92))
* adjust layout of recent posts ([568220d](568220d39c))
* adjustment pass on spacing between sections ([b3c377f](b3c377f62d))
* better reactive layout for small screen sizes ([56d841a](56d841a335))
* change cache path ([30b2e98](30b2e980c0))
* change responsive height of image ([e25a3d0](e25a3d0189))
* change selected blogs to switch to card form on small screens ([44bd1e4](44bd1e4810))
* consistent gaps and margins ([05d7ad6](05d7ad6557))
* convert hero section to use randomly selected images stored in directus ([c9cb15f](c9cb15f201))
* convert to bun ([1f2820e](1f2820e4b4))
* disable ([1573331](1573331f87))
* disable security feature ([04dfecc](04dfecc099))
* enable cache ([16e14f6](16e14f63ef))
* enable guarddog ([19e8080](19e80809c1))
* enable security feature ([0434480](04344808bd))
* final refactor of sections ([a74cc77](a74cc775d0))
* hide cards on small screens ([e2f5bbb](e2f5bbbe9c))
* ignore on docs updates ([4b58117](4b58117454))
* imporve theme toggle button ([a09a4ee](a09a4ee240))
* imporvement pass over sections ([8a649b7](8a649b7647))
* improve behavior of showmore, fix alignment ([7f2a272](7f2a27248a))
* improve layout for single and two images ([e6d4e34](e6d4e34a0a))
* improve logos and clickability of cards on about and apps ([63cbcdf](63cbcdf39b))
* improve navbar, add opacity fade beneath, layout, and refactor ([5ac23f0](5ac23f08a4))
* install deps ([f32b75e](f32b75e31d))
* major refactor of cards to standardize styles ([104fe35](104fe35ee8))
* make cards fixed height ([9dfcf6f](9dfcf6f006))
* make weather fetching dynamic ([7f7f710](7f7f710fe8))
* markdown support for rss ([6156012](6156012c00))
* minor tweaks ([d42ba08](d42ba08041))
* move all categories card to bottom of category section ([2fbc9a7](2fbc9a764f))
* move all posts to bottom of recent section ([940342c](940342cc3f))
* move categories to directus ([93bf44f](93bf44f89a))
* move directus to local endpoint ([197ad63](197ad63ada))
* move improved components out of ui folder ([47a6373](47a637353c))
* move post metadata to snippet component ([cc8bade](cc8bade886))
* move url configuration to support file ([6f1728a](6f1728a909))
* organize footer to consistency ([c6f3179](c6f3179efb))
* organize layout to consistency ([8270728](8270728e8f))
* organize to consistency ([21085a1](21085a1620))
* organize to consistency ([62dd636](62dd636d4e))
* organize to consistency ([0497731](0497731c45))
* organize to consistency ([6c2c6da](6c2c6da91d))
* organize to consistency pass on sections ([429cf94](429cf94023))
* redo how images, icons, and logos are handled ([76dfef4](76dfef4177))
* redo layout, smaller and with logo ([3414535](341453510f))
* reduce scale effect ([b8379bb](b8379bbc38))
* refactor blog components ([6423ffb](6423ffba63))
* refactor buttons, except for theme ([342ae89](342ae8900a))
* refactor how blog cards layout, add metadata, better responsiveness ([265fd4f](265fd4f2cb))
* refactor pass along pages ([e52d85f](e52d85f931))
* release 2.10.0 ([fcd3057](fcd3057f40))
* release 2.10.1 ([2cdef1a](2cdef1a553))
* release 2.11.0 ([440c952](440c95224d))
* release 2.12.0 ([1a8473b](1a8473b964))
* release 2.13.0 ([2c9486f](2c9486f687))
* release 2.13.1 ([db2711d](db2711d878))
* release 2.14.0 ([0416ab7](0416ab7f9e))
* release 2.14.1 ([d415dda](d415dda661))
* release 2.15.0 ([f3b8d10](f3b8d10106))
* release 2.15.1 ([c5cda00](c5cda006bb))
* release 2.16.0 ([c69eb58](c69eb58a49))
* release 2.17.0 ([d19433a](d19433ae4e))
* release 2.17.1 ([cc5e975](cc5e975ea6))
* release 2.17.2 ([469d9ba](469d9ba3f7))
* release 2.18.0 ([ddbcb33](ddbcb33812))
* release 2.18.1 ([62066c6](62066c6f3b))
* release 2.19.0 ([6ddc382](6ddc382dac))
* release 2.19.1 ([f4676d1](f4676d151f))
* release 2.20.0 ([2c20770](2c2077053b))
* release 2.20.1 ([95ea235](95ea235f9f))
* release 2.21.0 ([89fd0eb](89fd0eb7ce))
* release 2.22.0 ([8b07837](8b07837c0d))
* release 2.23.0 ([50f050c](50f050c0b6))
* release 2.24.0 ([ce9c9c3](ce9c9c3857))
* release 2.25.0 ([e91ffd8](e91ffd8686))
* release 2.3.0 ([bf73905](bf73905658))
* release 2.3.2 ([49969e2](49969e27b0))
* release 2.4.0 ([d0ff16c](d0ff16c8dc))
* release 2.5.0 ([880bafd](880bafd41e))
* release 2.6.0 ([3f5682f](3f5682f80c))
* release 2.7.0 ([00ef91b](00ef91b644))
* release 2.8.0 ([a57f43e](a57f43e082))
* release 2.9.0 ([0f403fa](0f403fa274))
* release 3.0.0, major astro update to 6.0 ([962f354](962f354208))
* release 3.2.0 ([ec10d45](ec10d45fd0))
* release 3.3.0 ([8184d42](8184d42942))
* release 3.5.0 ([6ec2734](6ec27345c3))
* release 3.6.0 ([03f74a8](03f74a8181))
* remove emoji ([734e9ca](734e9cacae))
* remove extra spacing ([5877086](5877086cc3))
* remove hardcoded descriptions ([754f6a2](754f6a22f0))
* remove hardcoded descriptions ([c7d3ca7](c7d3ca7252))
* remove mdx ([4203b63](4203b63893))
* remove option ([19e17ea](19e17ea947))
* remove partytown int ([b55c3a0](b55c3a0e31))
* remove partytown int ([e63abf0](e63abf03ef))
* remove release-please ([07fa86b](07fa86b17c))
* remove security feature ([5e02443](5e02443409))
* remove static robots ([4dbc5d1](4dbc5d12a3))
* remove text-justify from content ([a45a4d7](a45a4d7dd7))
* remove unused files ([00a86b1](00a86b1206))
* remove unused packages ([505670d](505670dbf8))
* remove unused properties ([0a17e3b](0a17e3b8af))
* rename button components to include button in name for consistency ([5271be5](5271be52a2))
* reorganize blog layout ([1f3fed9](1f3fed93a1))
* replace timeago with dayjs ([405fdf2](405fdf297c))
* responsive for small screen ([5b6b6e4](5b6b6e479f))
* reword titles and descriptions ([68f1794](68f179456a))
* scale logos ([0fc359a](0fc359a973))
* setup node ([113f42c](113f42ca21))
* setup node for semantic release ([bf3a7ef](bf3a7ef261))
* shorten transition time ([3eae720](3eae720221))
* simplify layout of the features cards ([31621e4](31621e4f7e))
* slight optimization ([fe6604a](fe6604a5d9))
* tweak to gradient ([20d8c73](20d8c7323f))
* tweaks to background to be more pastel ([ea15224](ea15224eae))
* update BaseHead ([18211ad](18211ad485))
* update features ([7fafa5c](7fafa5c4cf))
* update layout's width ([6fca640](6fca640fd8))
* update robots.txt ([744e72e](744e72efc9))
* update workflow to major version ([dc08830](dc088306ce))
* use different workflow for gitea ([1577ee4](1577ee4c27))
* use hardened image ([d464f0f](d464f0fe43))
* use latest alpine ([e476efb](e476efb96b))
* use many to one relationship for categories in directus ([e7c660c](e7c660c142))
* use mask to blend content to background ([0c63c6b](0c63c6bef4))
* use masonary style layout ([8a7b6b9](8a7b6b97b7))
* use metadata snippet for blog cards ([18c2b54](18c2b54f65))
* use slate for accent ([8c5488f](8c5488fad5))

### Reverts

* release 2.2.2 ([f34f4b2](f34f4b2532))
* release 2.2.3 ([b3bb769](b3bb769c47))
* release 2.2.4 ([fde3973](fde397386c))
* release 2.2.5 ([00b63a5](00b63a5bea))
2026-03-12 19:22:30 +00:00
2c86390c7f Merge pull request 'Release' (#379) from main into release
All checks were successful
release-image / semantic-release (push) Successful in 1m26s
release-image / guarddog (push) Has been skipped
release-image / build (push) Has been skipped
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #379
2026-03-12 19:21:33 +00:00
f32b75e31d feat: install deps
All checks were successful
renovate / renovate (push) Successful in 1m10s
2026-03-12 14:20:25 -05:00
4bcd542e7b Merge pull request 'Release' (#378) from main into release
Some checks failed
release-image / semantic-release (push) Failing after 27s
release-image / guarddog (push) Has been skipped
release-image / build (push) Has been skipped
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Has been skipped
Reviewed-on: #378
2026-03-12 19:16:18 +00:00
ce75e7ca5e feat: add if to ignore harbor release result
All checks were successful
renovate / renovate (push) Successful in 58s
2026-03-12 14:13:19 -05:00
bf3a7ef261 feat: setup node for semantic release
All checks were successful
renovate / renovate (push) Successful in 1m41s
2026-03-12 14:08:57 -05:00
b09e2dc849 Merge pull request 'Generate New Release' (#377) from main into release
Some checks failed
release-image / semantic-release (push) Failing after 16s
release-image / guarddog (push) Has been skipped
release-image / build (push) Has been skipped
release-image / release-harbor (push) Has been skipped
release-image / release-gitea (push) Successful in 7m15s
Reviewed-on: #377
2026-03-12 19:07:16 +00:00
cae8cd3a39 chore(deps): update deps
All checks were successful
test-build / guarddog (push) Successful in 27s
renovate / renovate (push) Successful in 1m21s
test-build / build (push) Successful in 2m40s
2026-03-12 14:02:50 -05:00
620b496957 feat: add semantic release 2026-03-12 14:01:14 -05:00
4b58117454 feat: ignore on docs updates
All checks were successful
renovate / renovate (push) Successful in 28s
2026-03-12 13:55:39 -05:00
68f2080bda feat: add release branch, update and merge release workflow
All checks were successful
test-build / guarddog (push) Successful in 50s
renovate / renovate (push) Successful in 58s
test-build / build (push) Successful in 4m4s
2026-03-12 13:54:11 -05:00
07fa86b17c feat: remove release-please
All checks were successful
renovate / renovate (push) Successful in 58s
test-build / guarddog (push) Successful in 1m16s
test-build / build (push) Successful in 3m22s
2026-03-12 13:26:28 -05:00
1577ee4c27 feat: use different workflow for gitea
Some checks failed
test-build / guarddog (push) Successful in 21s
renovate / renovate (push) Successful in 39s
test-build / build (push) Successful in 3m2s
release-image-harbor / release-please (push) Failing after 2m39s
release-image-gitea / release-please (push) Failing after 2m41s
release-image-harbor / build (push) Has been skipped
release-image-harbor / guarddog (push) Has been skipped
release-image-gitea / build (push) Has been skipped
release-image-gitea / guarddog (push) Has been skipped
release-image-harbor / release (push) Has been skipped
release-image-gitea / release (push) Has been skipped
2026-03-12 13:05:12 -05:00
e0a3d391b3 feat: add token
Some checks failed
release-image-harbor / release-please (push) Failing after 6s
release-image-harbor / build (push) Has been skipped
release-image-harbor / guarddog (push) Has been skipped
release-image-harbor / release (push) Has been skipped
renovate / renovate (push) Successful in 30s
release-image-gitea / release-please (push) Failing after 38s
release-image-gitea / build (push) Has been skipped
release-image-gitea / guarddog (push) Has been skipped
release-image-gitea / release (push) Has been skipped
test-build / guarddog (push) Successful in 58s
test-build / build (push) Successful in 1m49s
2026-03-12 13:03:26 -05:00
99032f7a62 feat: add automation to release using release-please in workflows
Some checks failed
renovate / renovate (push) Successful in 38s
release-image-harbor / release-please (push) Failing after 42s
release-image-harbor / build (push) Has been skipped
release-image-harbor / guarddog (push) Has been skipped
release-image-harbor / release (push) Has been skipped
release-image-gitea / release-please (push) Failing after 1m44s
release-image-gitea / build (push) Has been skipped
release-image-gitea / guarddog (push) Has been skipped
release-image-gitea / release (push) Has been skipped
test-build / guarddog (push) Successful in 59s
test-build / build (push) Has been cancelled
2026-03-12 12:59:16 -05:00
03f74a8181 feat: release 3.6.0
Some checks failed
renovate / renovate (push) Successful in 30s
test-build / guarddog (push) Successful in 1m3s
test-build / build (push) Failing after 1m10s
release-image-harbor / build (push) Failing after 1m30s
release-image-harbor / release (push) Has been skipped
release-image-gitea / build (push) Failing after 2m10s
release-image-gitea / release (push) Has been skipped
2026-03-12 12:42:45 -05:00
405fdf297c feat: replace timeago with dayjs
All checks were successful
renovate / renovate (push) Successful in 49s
test-build / guarddog (push) Successful in 1m8s
test-build / build (push) Successful in 3m24s
2026-03-12 12:35:23 -05:00
5b6b6e479f feat: responsive for small screen 2026-03-11 22:44:11 -05:00
04344808bd feat: enable security feature
All checks were successful
test-build / guarddog (push) Successful in 20s
renovate / renovate (push) Successful in 35s
test-build / build (push) Successful in 2m13s
release-image-gitea / build (push) Successful in 2m27s
release-image-gitea / release (push) Successful in 5m2s
release-image-harbor / build (push) Successful in 1m17s
release-image-harbor / release (push) Successful in 2m35s
2026-03-11 21:50:38 -05:00
6ec27345c3 feat: release 3.5.0 2026-03-11 19:44:49 -05:00
5e02443409 feat: remove security feature 2026-03-11 19:44:30 -05:00
8184d42942 feat: release 3.3.0
All checks were successful
test-build / guarddog (push) Successful in 45s
renovate / renovate (push) Successful in 51s
test-build / build (push) Successful in 5m44s
release-image-gitea / build (push) Successful in 1m7s
release-image-harbor / build (push) Successful in 1m45s
release-image-gitea / release (push) Successful in 3m14s
release-image-harbor / release (push) Successful in 3m11s
2026-03-11 19:31:54 -05:00
04dfecc099 feat: disable security feature 2026-03-11 19:31:35 -05:00
ec10d45fd0 feat: release 3.2.0
All checks were successful
test-build / guarddog (push) Successful in 43s
test-build / build (push) Successful in 1m28s
release-image-gitea / build (push) Successful in 1m29s
release-image-harbor / build (push) Successful in 1m44s
release-image-gitea / release (push) Successful in 4m38s
renovate / renovate (push) Successful in 1m3s
release-image-harbor / release (push) Successful in 6m0s
2026-03-11 18:54:42 -05:00
ceb70c7049 feat: add client:load
Some checks failed
renovate / renovate (push) Successful in 29s
test-build / build (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
2026-03-11 18:54:07 -05:00
4dbc5d12a3 feat: remove static robots 2026-03-11 18:53:56 -05:00
b55c3a0e31 feat: remove partytown int
All checks were successful
test-build / guarddog (push) Successful in 17s
renovate / renovate (push) Successful in 23s
test-build / build (push) Successful in 1m25s
2026-03-11 02:04:32 -05:00
e63abf03ef feat: remove partytown int
Some checks failed
renovate / renovate (push) Successful in 25s
test-build / build (push) Failing after 29s
test-build / guarddog (push) Successful in 42s
2026-03-11 02:01:40 -05:00
a7e7e5b0e8 feat: add security feature
Some checks failed
test-build / guarddog (push) Successful in 23s
renovate / renovate (push) Successful in 43s
test-build / build (push) Failing after 1m50s
2026-03-11 01:49:07 -05:00
96724d0016 chore(deps): update deps 2026-03-11 01:47:26 -05:00
30b2e980c0 feat: change cache path
All checks were successful
test-build / guarddog (push) Successful in 20s
renovate / renovate (push) Successful in 34s
test-build / build (push) Successful in 1m9s
2026-03-11 01:25:58 -05:00
113f42ca21 feat: setup node
All checks were successful
test-build / guarddog (push) Successful in 25s
renovate / renovate (push) Successful in 59s
test-build / build (push) Successful in 1m31s
release-image-gitea / build (push) Successful in 1m33s
release-image-harbor / build (push) Successful in 1m48s
release-image-gitea / release (push) Successful in 3m53s
release-image-harbor / release (push) Successful in 4m40s
2026-03-11 01:09:20 -05:00
1f2820e4b4 feat: convert to bun
Some checks failed
test-build / guarddog (push) Successful in 19s
renovate / renovate (push) Successful in 53s
test-build / build (push) Failing after 1m20s
2026-03-11 01:03:51 -05:00
dc088306ce feat: update workflow to major version
All checks were successful
test-build / guarddog (push) Successful in 13s
renovate / renovate (push) Successful in 40s
test-build / build (push) Successful in 1m57s
2026-03-11 00:15:25 -05:00
f6c1cf1bf5 chore(deps): update deps
All checks were successful
renovate / renovate (push) Successful in 30s
test-build / guarddog (push) Successful in 25s
test-build / build (push) Successful in 2m10s
2026-03-11 00:00:51 -05:00
962f354208 feat: release 3.0.0, major astro update to 6.0
Some checks failed
renovate / renovate (push) Successful in 44s
test-build / guarddog (push) Successful in 1m6s
test-build / build (push) Has been cancelled
2026-03-10 23:58:53 -05:00
bf43212afc Merge pull request 'fix(deps): update astro monorepo (major)' (#376) from renovate/major-astro-monorepo into main
Some checks failed
test-build / guarddog (push) Successful in 21s
renovate / renovate (push) Successful in 36s
test-build / build (push) Failing after 3m19s
Reviewed-on: #376
2026-03-11 04:55:31 +00:00
ef810efd24 fix(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 19s
test-build / build (pull_request) Successful in 1m31s
2026-03-11 04:53:28 +00:00
b8379bbc38 feat: reduce scale effect
All checks were successful
test-build / guarddog (push) Successful in 24s
renovate / renovate (push) Successful in 41s
test-build / build (push) Successful in 3m2s
2026-03-10 23:40:28 -05:00
e2f5bbbe9c feat: hide cards on small screens
Some checks failed
test-build / guarddog (push) Successful in 19s
renovate / renovate (push) Successful in 50s
test-build / build (push) Failing after 1m38s
2026-03-10 23:30:23 -05:00
f030da549e feat: add gap to distinguish 2026-03-10 23:11:45 -05:00
2fbc9a764f feat: move all categories card to bottom of category section
All checks were successful
test-build / guarddog (push) Successful in 18s
renovate / renovate (push) Successful in 32s
test-build / build (push) Successful in 1m43s
2026-03-10 23:08:43 -05:00
940342cc3f feat: move all posts to bottom of recent section 2026-03-10 22:57:38 -05:00
05d7ad6557 feat: consistent gaps and margins 2026-03-10 22:54:41 -05:00
31621e4f7e feat: simplify layout of the features cards 2026-03-10 22:48:17 -05:00
6156012c00 feat: markdown support for rss 2026-03-10 22:37:55 -05:00
af6554985e chore(deps): update deps 2026-03-10 22:37:09 -05:00
e25a3d0189 feat: change responsive height of image 2026-03-10 22:27:15 -05:00
18c2b54f65 feat: use metadata snippet for blog cards 2026-03-10 22:27:15 -05:00
265fd4f2cb feat: refactor how blog cards layout, add metadata, better responsiveness 2026-03-10 22:27:15 -05:00
cc8bade886 feat: move post metadata to snippet component 2026-03-10 22:27:15 -05:00
c92fb72a73 Merge pull request 'chore(deps): update dependency @iconify-json/simple-icons to v1.2.73' (#375) from renovate/iconify-json-simple-icons-1.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 25s
test-build / build (push) Successful in 4m16s
renovate / renovate (push) Successful in 1m29s
2026-03-10 21:24:46 +00:00
5da828f5a7 chore(deps): update dependency @iconify-json/simple-icons to v1.2.73
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 31s
test-build / build (pull_request) Successful in 2m26s
2026-03-10 21:24:34 +00:00
f30f5cf933 Merge pull request 'chore(deps): update astro monorepo' (#374) from renovate/astro-monorepo into main
Some checks failed
test-build / guarddog (push) Successful in 20s
renovate / renovate (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-03-10 21:24:12 +00:00
48231fc441 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 33s
test-build / build (pull_request) Successful in 6m24s
2026-03-10 21:23:54 +00:00
d42ba08041 feat: minor tweaks
All checks were successful
test-build / guarddog (push) Successful in 23s
renovate / renovate (push) Successful in 1m0s
test-build / build (push) Successful in 1m54s
2026-03-09 23:17:02 -05:00
fa618b0524 feat: add margin to bring in the content 2026-03-09 23:17:02 -05:00
0a17e3b8af feat: remove unused properties 2026-03-09 23:17:01 -05:00
341453510f feat: redo layout, smaller and with logo 2026-03-09 23:17:01 -05:00
c9cb15f201 feat: convert hero section to use randomly selected images stored in directus 2026-03-09 23:17:01 -05:00
74e9aff4cc Merge pull request 'chore(deps): update dependency typescript-eslint to v8.57.0' (#373) from renovate/typescript-eslint-monorepo into main
All checks were successful
test-build / guarddog (push) Successful in 35s
test-build / build (push) Successful in 3m0s
renovate / renovate (push) Successful in 1m24s
Reviewed-on: #373
2026-03-09 22:28:39 +00:00
d48d61ce91 chore(deps): update dependency typescript-eslint to v8.57.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 32s
test-build / build (pull_request) Successful in 1m31s
2026-03-09 22:00:16 +00:00
68f179456a feat: reword titles and descriptions
Some checks failed
renovate / renovate (push) Successful in 1m30s
test-build / guarddog (push) Successful in 19s
test-build / build (push) Has been cancelled
2026-03-09 16:58:34 -05:00
568220d39c feat: adjust layout of recent posts 2026-03-09 16:58:34 -05:00
9dfcf6f006 feat: make cards fixed height 2026-03-09 16:58:34 -05:00
62886ba2b3 Merge pull request 'chore(deps): update dependency shiki to v4.0.2' (#372) from renovate/shiki-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 1m9s
test-build / guarddog (push) Successful in 48s
test-build / build (push) Successful in 2m2s
2026-03-09 21:18:05 +00:00
90bc982371 chore(deps): update dependency shiki to v4.0.2
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 26s
test-build / build (pull_request) Successful in 2m4s
2026-03-09 21:17:55 +00:00
e91ffd8686 feat: release 2.25.0
All checks were successful
test-build / guarddog (push) Successful in 28s
renovate / renovate (push) Successful in 42s
release-image-harbor / build (push) Successful in 1m29s
test-build / build (push) Successful in 5m35s
release-image-harbor / release (push) Successful in 6m9s
release-image-gitea / build (push) Successful in 3m15s
release-image-gitea / release (push) Successful in 6m17s
2026-03-08 21:45:08 -05:00
00a86b1206 feat: remove unused files 2026-03-08 21:41:53 -05:00
7327795d39 feat: add an all page with cards to link to it
All checks were successful
test-build / guarddog (push) Successful in 27s
renovate / renovate (push) Successful in 41s
test-build / build (push) Successful in 3m17s
2026-03-08 21:40:02 -05:00
ae57c60935 feat: add photoswipe to view images embeded in posts 2026-03-08 21:40:02 -05:00
245e0f0624 Merge pull request 'chore(deps): update actions/cache action to v5' (#371) from renovate/actions-cache-5.x into main
All checks were successful
test-build / build (push) Successful in 2m26s
test-build / guarddog (push) Successful in 2m34s
renovate / renovate (push) Successful in 1m21s
Reviewed-on: #371
2026-03-07 18:25:26 +00:00
082afca9da chore(deps): update actions/cache action to v5
All checks were successful
test-build / guarddog (pull_request) Successful in 3m11s
test-build / build (pull_request) Successful in 8m56s
2026-03-07 05:27:59 +00:00
16e14f63ef feat: enable cache
All checks were successful
renovate / renovate (push) Successful in 6m46s
test-build / build (push) Successful in 7m51s
test-build / guarddog (push) Successful in 14m55s
2026-03-06 23:12:14 -06:00
ce9c9c3857 feat: release 2.24.0
All checks were successful
test-build / guarddog (push) Successful in 26s
renovate / renovate (push) Successful in 36s
test-build / build (push) Successful in 2m29s
release-image-gitea / build (push) Successful in 2m26s
release-image-harbor / build (push) Successful in 2m38s
release-image-gitea / release (push) Successful in 2m38s
release-image-harbor / release (push) Successful in 2m40s
2026-03-06 23:04:00 -06:00
345ab93e0c chore(deps): update deps
All checks were successful
renovate / renovate (push) Successful in 1m32s
test-build / guarddog (push) Successful in 1m40s
test-build / build (push) Successful in 3m30s
2026-03-06 23:02:00 -06:00
07c7edeb0f feat: add scroll reset on navigation 2026-03-06 23:01:10 -06:00
d3b2b40ccb feat: add gap to header above md 2026-03-06 23:01:10 -06:00
091af909d4 feat: add dates to selected 2026-03-06 23:01:10 -06:00
8a7b6b97b7 feat: use masonary style layout 2026-03-06 23:01:10 -06:00
fe3899242a fix: change selected count 2026-03-06 23:01:10 -06:00
e6d4e34a0a feat: improve layout for single and two images 2026-03-06 23:01:10 -06:00
5877086cc3 feat: remove extra spacing 2026-03-06 23:01:10 -06:00
6cfc1f62a7 Merge pull request 'chore(deps): update dependency eslint to v10.0.3' (#370) from renovate/eslint-monorepo into main
All checks were successful
renovate / renovate (push) Successful in 57s
test-build / guarddog (push) Successful in 1m27s
test-build / build (push) Successful in 2m54s
2026-03-07 01:09:34 +00:00
0b452b919a chore(deps): update dependency eslint to v10.0.3
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m13s
test-build / build (pull_request) Successful in 1m40s
2026-03-07 01:09:12 +00:00
50f050c0b6 feat: release 2.23.0
All checks were successful
test-build / guarddog (push) Successful in 30s
release-image-harbor / build (push) Successful in 1m8s
test-build / build (push) Successful in 2m11s
release-image-gitea / build (push) Successful in 2m55s
release-image-harbor / release (push) Successful in 2m20s
release-image-gitea / release (push) Successful in 2m21s
renovate / renovate (push) Successful in 1m39s
2026-03-06 17:30:52 -06:00
8b07837c0d feat: release 2.22.0
All checks were successful
test-build / guarddog (push) Successful in 34s
release-image-gitea / build (push) Successful in 1m12s
renovate / renovate (push) Successful in 1m43s
release-image-harbor / build (push) Successful in 2m45s
test-build / build (push) Successful in 3m5s
release-image-gitea / release (push) Successful in 2m41s
release-image-harbor / release (push) Successful in 2m36s
2026-03-06 16:22:34 -06:00
6fca640fd8 feat: update layout's width 2026-03-06 16:22:01 -06:00
89fd0eb7ce feat: release 2.21.0
All checks were successful
test-build / guarddog (push) Successful in 44s
release-image-harbor / build (push) Successful in 1m59s
renovate / renovate (push) Successful in 2m8s
test-build / build (push) Successful in 3m37s
release-image-gitea / build (push) Successful in 3m38s
release-image-harbor / release (push) Successful in 5m59s
release-image-gitea / release (push) Successful in 6m54s
2026-03-05 19:28:13 -06:00
95ea235f9f feat: release 2.20.1
All checks were successful
test-build / guarddog (push) Successful in 41s
renovate / renovate (push) Successful in 1m40s
test-build / build (push) Successful in 1m52s
release-image-harbor / build (push) Successful in 2m2s
release-image-gitea / build (push) Successful in 4m38s
release-image-harbor / release (push) Successful in 8m26s
release-image-gitea / release (push) Successful in 15m39s
2026-03-05 19:12:58 -06:00
fe6604a5d9 feat: slight optimization 2026-03-05 19:12:39 -06:00
2c2077053b feat: release 2.20.0
All checks were successful
test-build / guarddog (push) Successful in 39s
renovate / renovate (push) Successful in 1m56s
test-build / build (push) Successful in 2m59s
release-image-harbor / build (push) Successful in 1m34s
release-image-harbor / release (push) Successful in 6m3s
release-image-gitea / build (push) Successful in 3m47s
release-image-gitea / release (push) Successful in 9m40s
2026-03-05 18:57:07 -06:00
e7c660c142 feat: use many to one relationship for categories in directus 2026-03-05 18:56:44 -06:00
f4676d151f feat: release 2.19.1
All checks were successful
test-build / guarddog (push) Successful in 1m7s
test-build / build (push) Successful in 1m35s
release-image-harbor / build (push) Successful in 1m50s
release-image-harbor / release (push) Successful in 8m29s
release-image-gitea / build (push) Successful in 1m24s
release-image-gitea / release (push) Successful in 10m38s
renovate / renovate (push) Successful in 2m44s
2026-03-05 17:21:53 -06:00
ed0a691442 Merge pull request 'chore(deps): update docker/setup-buildx-action action to v4' (#369) from renovate/docker-setup-buildx-action-4.x 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
Reviewed-on: #369
2026-03-05 23:21:43 +00:00
2aa17cd9c7 Merge pull request 'chore(deps): update docker/metadata-action action to v6' (#368) from renovate/docker-metadata-action-6.x 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
Reviewed-on: #368
2026-03-05 23:20:43 +00:00
48991d411d chore(deps): update docker/setup-buildx-action action to v4
All checks were successful
test-build / guarddog (pull_request) Successful in 30s
test-build / build (pull_request) Successful in 3m0s
2026-03-05 23:19:35 +00:00
724c85332f chore(deps): update docker/metadata-action action to v6
All checks were successful
test-build / guarddog (pull_request) Successful in 37s
test-build / build (pull_request) Successful in 1m56s
2026-03-05 23:19:29 +00:00
bb4b9600e8 Merge pull request 'chore(deps): update docker/build-push-action action to v7' (#367) from renovate/docker-build-push-action-7.x into main
Some checks failed
renovate / renovate (push) Successful in 1m20s
test-build / guarddog (push) Successful in 1m17s
test-build / build (push) Has been cancelled
Reviewed-on: #367
2026-03-05 23:18:08 +00:00
42c24882ff Merge pull request 'chore(deps): update dependency @directus/sdk to v21.2.0' (#366) from renovate/directus-sdk-21.x-lockfile 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
Reviewed-on: #366
2026-03-05 23:16:21 +00:00
daef38d80d chore(deps): update docker/build-push-action action to v7
All checks were successful
test-build / guarddog (pull_request) Successful in 42s
test-build / build (pull_request) Successful in 1m49s
2026-03-05 23:15:44 +00:00
e4de55fab3 chore(deps): update dependency @directus/sdk to v21.2.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m1s
test-build / build (pull_request) Successful in 2m51s
2026-03-05 23:15:28 +00:00
afa1f36285 Merge pull request 'chore(deps): update docker/login-action action to v4' (#364) from renovate/docker-login-action-4.x into main
All checks were successful
test-build / guarddog (push) Successful in 45s
test-build / build (push) Successful in 1m59s
renovate / renovate (push) Successful in 2m28s
Reviewed-on: #364
2026-03-05 23:13:36 +00:00
93df739ea1 Merge pull request 'chore(deps): update dependency marked to v17.0.4' (#365) from renovate/marked-17.x-lockfile into main
All checks were successful
renovate / renovate (push) Successful in 1m27s
test-build / guarddog (push) Successful in 26s
test-build / build (push) Successful in 2m32s
2026-03-05 23:00:38 +00:00
667950f053 chore(deps): update dependency marked to v17.0.4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 51s
test-build / build (pull_request) Successful in 5m43s
2026-03-05 23:00:14 +00:00
14402954f5 chore(deps): update docker/login-action action to v4
All checks were successful
test-build / guarddog (pull_request) Successful in 50s
test-build / build (pull_request) Successful in 2m11s
2026-03-05 00:03:11 +00:00
6ddc382dac feat: release 2.19.0
All checks were successful
test-build / build (push) Successful in 4m49s
test-build / guarddog (push) Successful in 13m7s
release-image-gitea / build (push) Successful in 6m0s
release-image-harbor / build (push) Successful in 6m25s
release-image-gitea / release (push) Successful in 8m10s
release-image-harbor / release (push) Successful in 14m46s
renovate / renovate (push) Successful in 1m52s
2026-03-03 14:43:48 -06:00
3eae720221 feat: shorten transition time 2026-03-03 14:00:40 -06:00
f984a1f759 feat: add dark mode logo 2026-03-03 13:55:25 -06:00
62066c6f3b feat: release 2.18.1
Some checks failed
test-build / guarddog (push) Successful in 2m20s
test-build / build (push) Successful in 3m20s
renovate / renovate (push) Successful in 9m38s
release-image-gitea / build (push) Successful in 15m42s
release-image-gitea / release (push) Failing after 29s
release-image-harbor / build (push) Successful in 11m25s
release-image-harbor / release (push) Failing after 13m15s
2026-03-02 22:21:18 -06:00
97b1fa0316 feat: add dark mode swap to logo 2026-03-02 22:20:36 -06:00
7f31880b51 chore(deps): update deps
Some checks failed
test-build / guarddog (push) Successful in 43s
renovate / renovate (push) Successful in 1m5s
test-build / build (push) Successful in 2m40s
release-image-harbor / build (push) Successful in 5m34s
release-image-harbor / release (push) Failing after 4m11s
release-image-gitea / build (push) Successful in 2m50s
release-image-gitea / release (push) Failing after 24m58s
2026-03-02 21:40:10 -06:00
ddbcb33812 feat: release 2.18.0
Some checks failed
renovate / renovate (push) Has been cancelled
test-build / guarddog (push) Has been cancelled
test-build / build (push) Has been cancelled
2026-03-02 21:39:40 -06:00
4e9ca2759a Merge pull request 'chore(deps): update dependency shiki to v4.0.1' (#363) from renovate/shiki-monorepo into main
All checks were successful
test-build / guarddog (push) Successful in 34s
test-build / build (push) Successful in 1m39s
renovate / renovate (push) Successful in 1m59s
2026-03-02 22:09:53 +00:00
eae55da29d chore(deps): update dependency shiki to v4.0.1
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 34s
test-build / build (pull_request) Successful in 1m47s
2026-03-02 22:09:43 +00:00
b40a58a4e0 Merge pull request 'chore(deps): update dependency @iconify-json/simple-icons to v1.2.72' (#362) 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
test-build / guarddog (push) Has been cancelled
2026-03-02 22:09:31 +00:00
157a7bcdc5 chore(deps): update dependency @iconify-json/simple-icons to v1.2.72
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m14s
test-build / build (pull_request) Successful in 2m48s
2026-03-02 22:09:23 +00:00
469d9ba3f7 feat: release 2.17.2
All checks were successful
test-build / guarddog (push) Successful in 1m13s
renovate / renovate (push) Successful in 1m28s
test-build / build (push) Successful in 1m41s
release-image-gitea / build (push) Successful in 1m57s
release-image-harbor / build (push) Successful in 1m57s
release-image-harbor / release (push) Successful in 4m40s
release-image-gitea / release (push) Successful in 5m44s
2026-03-02 15:54:42 -06:00
8c5488fad5 feat: use slate for accent 2026-03-02 15:53:29 -06:00
eff067a743 Merge pull request 'fix(deps): update dependency shiki to v4' (#361) from renovate/major-shiki-monorepo into main
All checks were successful
test-build / guarddog (push) Successful in 39s
test-build / build (push) Successful in 3m3s
renovate / renovate (push) Successful in 1m49s
Reviewed-on: #361
2026-03-01 03:14:06 +00:00
da28e5b50e fix(deps): update dependency shiki to v4
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 31s
test-build / build (pull_request) Successful in 2m36s
2026-02-28 18:11:16 +00:00
f376f2e1e4 Merge pull request 'chore(deps): update dependency preline to v4.1.2' (#360) from renovate/preline-4.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 57s
test-build / build (push) Successful in 2m30s
renovate / renovate (push) Successful in 1m36s
2026-02-28 18:08:14 +00:00
a1cfa4ef24 chore(deps): update dependency preline to v4.1.2
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 3m19s
2026-02-28 18:07:57 +00:00
cc5e975ea6 feat: release 2.17.1
All checks were successful
test-build / guarddog (push) Successful in 1m5s
release-image-harbor / build (push) Successful in 2m44s
release-image-gitea / build (push) Successful in 2m48s
test-build / build (push) Successful in 4m40s
release-image-gitea / release (push) Successful in 8m7s
release-image-harbor / release (push) Successful in 8m15s
renovate / renovate (push) Successful in 2m7s
2026-02-26 21:23:28 -06:00
ea15224eae feat: tweaks to background to be more pastel 2026-02-26 21:23:08 -06:00
d19433ae4e feat: release 2.17.0
All checks were successful
test-build / guarddog (push) Successful in 33s
release-image-harbor / build (push) Successful in 1m27s
test-build / build (push) Successful in 5m25s
release-image-harbor / release (push) Successful in 5m16s
release-image-gitea / build (push) Successful in 1m28s
release-image-gitea / release (push) Successful in 6m29s
renovate / renovate (push) Successful in 1m6s
2026-02-26 17:02:25 -06:00
7498870d92 feat: adjust height of fade effect
All checks were successful
test-build / guarddog (push) Successful in 1m26s
renovate / renovate (push) Successful in 1m30s
test-build / build (push) Successful in 1m56s
2026-02-26 16:15:18 -06:00
d7d43369dc feat: add logos to category header pages 2026-02-26 16:01:02 -06:00
5b94283498 feat: add category logo to blog page 2026-02-26 15:53:40 -06:00
4c1da43c68 feat: add logos to category cards 2026-02-26 15:47:26 -06:00
6cddae61ed feat: add thanks for Icons8 2026-02-26 15:47:12 -06:00
890dbdf313 feat: add additional layout for small screens 2026-02-26 15:46:59 -06:00
6dd2209e21 chore(deps): update deps
All checks were successful
test-build / guarddog (push) Successful in 1m40s
renovate / renovate (push) Successful in 1m43s
test-build / build (push) Successful in 2m39s
2026-02-26 15:01:24 -06:00
93bf44f89a feat: move categories to directus 2026-02-26 15:00:52 -06:00
734e9cacae feat: remove emoji 2026-02-26 14:11:42 -06:00
c69eb58a49 feat: release 2.16.0
All checks were successful
test-build / guarddog (push) Successful in 53s
renovate / renovate (push) Successful in 1m42s
release-image-gitea / build (push) Successful in 3m1s
release-image-harbor / build (push) Successful in 2m55s
test-build / build (push) Successful in 4m38s
release-image-harbor / release (push) Successful in 5m39s
release-image-gitea / release (push) Successful in 9m19s
2026-02-25 20:02:41 -06:00
543b57647b chore(deps): update node 2026-02-25 20:02:13 -06:00
01cbfab2f7 Merge pull request 'chore(deps): update dependency node to v24.14.0' (#354) from renovate/node-24.x 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
Reviewed-on: #354
2026-02-26 02:01:34 +00:00
b4ecac7396 Merge pull request 'chore(deps): update dependency shiki to v3.23.0' (#359) from renovate/shiki-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
Reviewed-on: #359
2026-02-26 02:01:10 +00:00
1a51ccb516 Merge pull request 'chore(deps): update dependency astro to v5.18.0' (#358) 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
Reviewed-on: #358
2026-02-26 02:00:44 +00:00
522cd20fe3 chore(deps): update preline
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-25 19:57:11 -06:00
d8bad121f6 chore(deps): update dependency shiki to v3.23.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 2m0s
test-build / build (pull_request) Successful in 3m20s
2026-02-26 01:56:28 +00:00
d6176bd89d chore(deps): update dependency node to v24.14.0
All checks were successful
test-build / guarddog (pull_request) Successful in 1m33s
test-build / build (pull_request) Successful in 3m35s
2026-02-26 01:54:37 +00:00
594ff43110 chore(deps): update dependency astro to v5.18.0
Some checks are pending
renovate/stability-days Updates have not met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m8s
test-build / build (pull_request) Successful in 3m54s
2026-02-26 01:54:20 +00:00
7fd443535a Merge pull request 'chore(deps): update dependency eslint-plugin-format to v2' (#356) from renovate/eslint-plugin-format-2.x into main
Some checks failed
test-build / guarddog (push) Successful in 40s
test-build / build (push) Successful in 3m37s
renovate / renovate (push) Has been cancelled
Reviewed-on: #356
2026-02-26 01:52:55 +00:00
f8d926199f chore(deps): update dependency eslint-plugin-format to v2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m17s
test-build / build (pull_request) Successful in 3m3s
2026-02-26 01:47:46 +00:00
8c57f970d6 Merge pull request 'chore(deps): update dependency eslint-plugin-format to v1.5.0' (#353) from renovate/eslint-plugin-format-1.x-lockfile into main
All checks were successful
test-build / guarddog (push) Successful in 47s
renovate / renovate (push) Successful in 3m12s
test-build / build (push) Successful in 3m23s
Reviewed-on: #353
2026-02-26 01:44:57 +00:00
779946cfec Merge pull request 'chore(deps): update tailwindcss monorepo to v4.2.1' (#351) from renovate/tailwindcss-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
Reviewed-on: #351
2026-02-26 01:44:02 +00:00
1f926d4184 Merge pull request 'chore(deps): update dependency typescript-eslint to v8.56.1' (#350) from renovate/typescript-eslint-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
Reviewed-on: #350
2026-02-26 01:43:43 +00:00
f99638ffe2 Merge pull request 'chore(deps): update dependency eslint-plugin-react-refresh to v0.5.2' (#349) 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 started running
test-build / guarddog (push) Has been cancelled
Reviewed-on: #349
2026-02-26 01:43:33 +00:00
eda954542b chore(deps): update dependency eslint-plugin-format to v1.5.0
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m32s
test-build / build (pull_request) Failing after 3m29s
2026-02-26 00:07:59 +00:00
af79a0d4c4 chore(deps): update dependency typescript-eslint to v8.56.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m35s
test-build / build (pull_request) Successful in 3m29s
2026-02-26 00:05:56 +00:00
466cbd790e chore(deps): update tailwindcss monorepo to v4.2.1
Some checks failed
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m1s
test-build / build (pull_request) Failing after 2m28s
2026-02-25 00:10:11 +00:00
46c69d30aa chore(deps): update dependency eslint-plugin-react-refresh to v0.5.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m30s
test-build / build (pull_request) Successful in 3m35s
2026-02-25 00:08:18 +00:00
9dad4aa5bb Merge pull request 'chore(deps): update dependency eslint to v10.0.2' (#348) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 2m42s
test-build / guarddog (push) Successful in 2m37s
renovate / renovate (push) Successful in 11m0s
2026-02-25 00:03:13 +00:00
08ece5b478 chore(deps): update dependency eslint to v10.0.2
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 1m57s
test-build / build (pull_request) Successful in 4m56s
2026-02-25 00:02:41 +00:00
ac38bafb9b Merge pull request 'chore(deps): update dependency eslint to v10.0.1' (#347) from renovate/eslint-monorepo into main
All checks were successful
test-build / build (push) Successful in 1m18s
test-build / guarddog (push) Successful in 2m26s
renovate / renovate (push) Successful in 6m30s
2026-02-21 20:19:56 +00:00
f08b754adc chore(deps): update dependency eslint to v10.0.1
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
test-build / guarddog (pull_request) Successful in 28s
test-build / build (pull_request) Successful in 54s
2026-02-21 20:19:31 +00:00
c5cda006bb feat: release 2.15.1
All checks were successful
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
renovate / renovate (push) Successful in 2m51s
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
fd85557d6b replace placeholder info with my own 2024-08-23 22:01:12 -05:00
f6c05b8a0c change work to projects 2024-08-23 21:01:26 -05:00
b8efef1a00 polishing pass 2024-08-23 20:46:46 -05:00
ad88da00e6 enable hyrbide rendering 2024-08-23 00:13:47 -05:00
ff50ff7e9a remove main release 2024-08-19 21:57:31 -05:00
a37da0c6ed add gitignore 2024-08-19 21:49:57 -05:00
5dfe806e6b remove default content and replace with myself 2024-08-19 21:47:37 -05:00
7ef4b48b18 add directus
Some checks failed
release-image / release-image (push) Has been cancelled
2024-08-19 21:31:24 -05:00
d321c805e1 bump version 2024-08-19 17:21:25 -05:00
ba28de9f61 change tags in release workflow 2024-08-19 17:19:56 -05:00
29bdf18fd6 change release workflow 2024-08-19 17:17:33 -05:00
3d5a1e12c0 bump docker tag 2024-08-19 17:15:19 -05:00
75284a9696 add labels 2024-08-19 17:11:51 -05:00
2701cbe8c5 fix lock file 2024-08-19 17:08:56 -05:00
e055360b68 used staged docker build 2024-08-19 17:03:41 -05:00
5a1a6ef72a add dockerignore 2024-08-19 17:00:40 -05:00
3ad8ec7a64 change default port 2024-08-19 16:59:04 -05:00
142 changed files with 10325 additions and 6442 deletions

5
.dockerignore Normal file
View File

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

View File

@@ -0,0 +1,346 @@
name: release-image
on:
push:
branches:
- release
workflow_dispatch:
jobs:
semantic-release:
runs-on: ubuntu-js
outputs:
new-release-published: ${{ steps.semantic.outputs.new-release-published }}
new-release-version: ${{ steps.semantic.outputs.new-release-version }}
new-release-git-tag: ${{ steps.semantic.outputs.new-release-git-tag }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
token: ${{ secrets.BOT_TOKEN }}
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.0
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10
- name: Install Dependencies
run: bun install --frozen-lockfile
- name: Run Semantic Release
id: semantic
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
NODE_PATH: ${{ github.workspace }}/node_modules
run: |
bun run semantic-release
build:
needs: semantic-release
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.0
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10
- name: Install Dependencies
run: bun install --frozen-lockfile
- name: Cache Astro Build Cache
uses: actions/cache@v5
with:
path: |
.astro
node_modules/.vite
key: ${{ runner.os }}-astro-${{ hashFiles('**/*.astro', 'astro.config.mjs') }}
restore-keys: |
${{ runner.os }}-astro-
- name: Lint Code
run: bun run lint
- name: Build Project
run: bun run 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: 'During release tests 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=release-image.yaml", "clear": true}]'
image: true
guarddog:
needs: semantic-release
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- 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: 'During release 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=release-image.yaml", "clear": true}]'
image: true
release-harbor:
runs-on: ubuntu-js
needs: [semantic-release, build, guarddog, ]
if: ${{ needs.semantic-release.outputs.new-release-published == 'true' }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Login to Harbor Registry
uses: docker/login-action@v4
with:
registry: ${{ vars.REGISTRY_HOST }}
username: ${{ vars.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_SECRET }}
- name: Login to Docker
uses: docker/login-action@v4
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@v4
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@v6
with:
images: |
${{ vars.REGISTRY_HOST }}/images/site-profile
tags: |
type=ref,event=branch
type=sha,format=long
type=raw,value=latest,enable=${{ needs.semantic-release.outputs.new-release-published == 'true' }}
type=semver,pattern={{version}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}}.{{minor}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image
uses: docker/build-push-action@v7
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
APP_VERSION=${{ needs.semantic-release.outputs.new-release-version }}
COMMIT_SHA=${{ github.sha }}
IS_RELEASE=true
file: ./Dockerfile
cache-from: type=gha
cache-to: type=gha,mode=max
- 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: 'Harbor 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: 'Harbor 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
release-gitea:
runs-on: ubuntu-js
needs: [ semantic-release, build, guarddog, release-harbor ]
if: |
always() &&
needs.semantic-release.result == 'success' &&
needs.semantic-release.outputs.new-release-published == 'true' &&
needs.build.result == 'success' &&
needs.guarddog.result == 'success'
steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: release
- name: Login to Gitea Registry
uses: docker/login-action@v4
with:
registry: ${{ vars.REPOSITORY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.REPOSITORY_TOKEN }}
- name: Login to Docker
uses: docker/login-action@v4
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@v4
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@v6
with:
images: |
${{ vars.REPOSITORY_HOST }}/${{ gitea.repository }}
tags: |
type=ref,event=branch
type=sha,format=long
type=raw,value=latest,enable=${{ needs.semantic-release.outputs.new-release-published == 'true' }}
type=semver,pattern={{version}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}}.{{minor}},value=${{ needs.semantic-release.outputs.new-release-version }}
type=semver,pattern={{major}},value=${{ needs.semantic-release.outputs.new-release-version }}
- name: Build and Push Image
uses: docker/build-push-action@v7
with:
context: .
push: true
platforms: linux/amd64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
APP_VERSION=${{ needs.semantic-release.outputs.new-release-version }}
COMMIT_SHA=${{ github.sha }}
IS_RELEASE=true
file: ./Dockerfile
cache-from: type=gha
cache-to: type=gha,mode=max
- 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: 'Gitea 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: 'Gitea 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.yaml", "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,99 @@
name: test-build
on:
push:
branches:
- main
paths-ignore:
- '.gitea/workflows/**'
- '**.md'
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: 24.14.0
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10
- name: Install Dependencies
run: bun install --frozen-lockfile
- name: Cache Astro Build Cache
uses: actions/cache@v5
with:
path: |
.astro
node_modules/.vite
key: ${{ runner.os }}-astro-${{ hashFiles('**/*.astro', 'astro.config.mjs') }}
restore-keys: |
${{ runner.os }}-astro-
- name: Lint Code
run: bun run lint
- name: Build Project
run: bun run 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,47 +0,0 @@
name: release-image
on:
push:
branches:
- main
tags:
- 6.*
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

7
.gitignore vendored
View File

@@ -10,8 +10,6 @@ node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
@@ -20,5 +18,6 @@ pnpm-debug.log*
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/
# ide
.vscode/
site-profile.code-workspace

1
.prettierignore Normal file
View File

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

18
.releaserc.json Normal file
View File

@@ -0,0 +1,18 @@
{
"branches": ["release"],
"tagFormat": "${version}",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"semantic-release-export-data",
["@semantic-release/npm", { "npmPublish": false }],
["@semantic-release/git", {
"assets": ["package.json", "CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}],
["@saithodev/semantic-release-gitea", {
"giteaUrl": "https://gitea.alexlebens.dev"
}]
]
}

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"
}
]
}

277
CHANGELOG.md Normal file
View File

@@ -0,0 +1,277 @@
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)
### Bug Fixes
* incorrect name of step ([db79f91](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/db79f912eeb4f3741945c95d42508451e9558c1e))
* use semantic release outputs ([578e166](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/578e1661cd3966b9886c952dbb564d1a2290f5dc))
### Features
* add automation to release using release-please in workflows ([99032f7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/99032f7a62a88bd8310a0eacfa2ab03c17ed9685))
* add if to ignore harbor release result ([ce75e7c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ce75e7ca5ec723c6a30f760f930d027012da6de9))
* add outputs of semantic release ([36eaa0c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/36eaa0c13264cfc9acfb311d4e9fba35ced95d39))
* add release branch, update and merge release workflow ([68f2080](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/68f2080bdaa4b5a10a0d72657d511d287288e68c))
* add semantic release ([620b496](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/620b496957e49aa5615c043dbebb31367df38aaf))
* add token ([e0a3d39](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e0a3d391b314717402b9577899c37c131a73c71d))
* change release format ([24c837c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/24c837cf84a2bffb2a9b44a6905f2cbdb58facc6))
* ignore on docs updates ([4b58117](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4b58117454109cbc3f40df0d1edc5185ca6415f0))
* install deps ([f32b75e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f32b75e31d8ac4a3e55f86812bfa0790bfaede57))
* remove old release workflows ([7882c3e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7882c3ecc763b2fe396e412d2ba81d7a0629bb11))
* remove release-please ([07fa86b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/07fa86b17cab585088e299aab081b122db386ade))
* setup node for semantic release ([bf3a7ef](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/bf3a7ef261b437e877fd7c9d1a477dfac1ee0400))
* use different workflow for gitea ([1577ee4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1577ee4c2791cb40d2af4b891e37c6c3f4db459a))
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)
### Bug Fixes
* incorrect name of step ([db79f91](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/db79f912eeb4f3741945c95d42508451e9558c1e))
### Features
* add automation to release using release-please in workflows ([99032f7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/99032f7a62a88bd8310a0eacfa2ab03c17ed9685))
* add if to ignore harbor release result ([ce75e7c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ce75e7ca5ec723c6a30f760f930d027012da6de9))
* add outputs of semantic release ([36eaa0c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/36eaa0c13264cfc9acfb311d4e9fba35ced95d39))
* add release branch, update and merge release workflow ([68f2080](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/68f2080bdaa4b5a10a0d72657d511d287288e68c))
* add semantic release ([620b496](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/620b496957e49aa5615c043dbebb31367df38aaf))
* add token ([e0a3d39](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e0a3d391b314717402b9577899c37c131a73c71d))
* change release format ([24c837c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/24c837cf84a2bffb2a9b44a6905f2cbdb58facc6))
* ignore on docs updates ([4b58117](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4b58117454109cbc3f40df0d1edc5185ca6415f0))
* install deps ([f32b75e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f32b75e31d8ac4a3e55f86812bfa0790bfaede57))
* remove old release workflows ([7882c3e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7882c3ecc763b2fe396e412d2ba81d7a0629bb11))
* remove release-please ([07fa86b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/07fa86b17cab585088e299aab081b122db386ade))
* setup node for semantic release ([bf3a7ef](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/bf3a7ef261b437e877fd7c9d1a477dfac1ee0400))
* use different workflow for gitea ([1577ee4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1577ee4c2791cb40d2af4b891e37c6c3f4db459a))
# [3.7.0](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.6.0...3.7.0) (2026-03-12)
### Features
* add automation to release using release-please in workflows ([99032f7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/99032f7a62a88bd8310a0eacfa2ab03c17ed9685))
* add if to ignore harbor release result ([ce75e7c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ce75e7ca5ec723c6a30f760f930d027012da6de9))
* add outputs of semantic release ([36eaa0c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/36eaa0c13264cfc9acfb311d4e9fba35ced95d39))
* add release branch, update and merge release workflow ([68f2080](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/68f2080bdaa4b5a10a0d72657d511d287288e68c))
* add semantic release ([620b496](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/620b496957e49aa5615c043dbebb31367df38aaf))
* add token ([e0a3d39](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e0a3d391b314717402b9577899c37c131a73c71d))
* change release format ([24c837c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/24c837cf84a2bffb2a9b44a6905f2cbdb58facc6))
* ignore on docs updates ([4b58117](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4b58117454109cbc3f40df0d1edc5185ca6415f0))
* install deps ([f32b75e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f32b75e31d8ac4a3e55f86812bfa0790bfaede57))
* remove release-please ([07fa86b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/07fa86b17cab585088e299aab081b122db386ade))
* setup node for semantic release ([bf3a7ef](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/bf3a7ef261b437e877fd7c9d1a477dfac1ee0400))
* use different workflow for gitea ([1577ee4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1577ee4c2791cb40d2af4b891e37c6c3f4db459a))
# 1.0.0 (2026-03-12)
### Bug Fixes
* add comments ([a0f83c8](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a0f83c874c8b4d66168ed54f93919ffaafe2250b))
* add env ([ea9ae01](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ea9ae016d706b03793a1f4218c9d407ed45e26a4))
* add paths ([976bc0c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/976bc0c413904bc5b8772a8e5674c1c92ae09eb4))
* add remote patterns for images ([ba73c1b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ba73c1b24ff48acc2589b3e7ad1a104a9c813a9d))
* change selected count ([fe38992](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fe3899242a0e2c951371f42561705ec8d2fa1093))
* clean up comments ([4d7886b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4d7886b93c78e89e3fa49d122573fc1a2d4feb39))
* command order ([0a2979e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0a2979ecfef952826138c0095ff917ac8926aedb))
* correct credentials ([1a34b93](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1a34b932b06b410e47653eb98e03cca06385bd14))
* correct matchhost ([882063e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/882063ea43004d26ccb6b6ccc706d99e4ef7f4be))
* create new Date to compare posts ([01ee8fa](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/01ee8fac98b5bb110670860cf87b1aa3e1b52a9a))
* debug logs ([8d5c02e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8d5c02e2d124d7b9c82e03f01b93ac5f8074335d))
* **deps:** update astro monorepo ([ef810ef](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ef810efd24a3bfb09ab0dd82fdd144ff92e9e7ef))
* **deps:** update dependency shiki to v4 ([da28e5b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/da28e5b50e60b4e01a7c9ec98297d272945cb1ce))
* downgrade python ([7a77f0d](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7a77f0d2d2489707bbf5cc815a531282393fa5eb))
* fix footer accent color ([9eb0f37](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/9eb0f37cb2c8dce3602616e490a6214adb6f2f10))
* fix lint error ([4c4421c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4c4421c8a897ea54472c3dd1696bcf0dc0ec4e3b))
* force 3d scaling for button transform ([959d3bd](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/959d3bd71d3c6ed3fc34196ff2edaee0441a36c5))
* hidden button background color on light mode, darken ([0d87af3](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0d87af3aca5e10f13358e480aa56f860ff0ae211))
* info logs ([c927235](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c927235a5aeb6e6d600eb4de78d4144dd7853d21))
* install and run ([e29631c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e29631c4af2d87d0e3518751d0e6327006d4e38d))
* move host rules to workflow ([ba2477e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ba2477e7af9ab97045c836634de57384e199f881))
* only binary ([31aad55](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/31aad5511fbf288991e5eab1551204fc9513e253))
* padding, margin, and width issues ([6d3f3a4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6d3f3a49ab80c7c49c0552fc18c09cff2a34be57))
* path ([d9833e1](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d9833e1c27c5b60d4dd1e180e4108623639d6681))
* remove argument ([093e1e2](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/093e1e2ccb55085f34595ffccecf322f9bba4199))
* remove border from blog cards ([875b8a7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/875b8a7f47698cb397992dbedf48b1d1a35c0cfa))
* remove description ([c2bf64c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c2bf64c6ccdf52345f3eecf52b59d472fde372da))
* remove errant semicolon ([1ddc76a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1ddc76ae693d6903226ae6ffef635d9ed3adad4f))
* remove unused property ([3d9120c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/3d9120c5700244137427b929c360920e7227ad6d))
* run theme on page swap ([c4be465](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c4be4653bea0b4101cfbe20c082b3268c01ddba8))
* update lock ([fb8f642](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fb8f642c52fe82469e4bc3b41f8b62ca5ca80e46))
* use uvx ([c3e4519](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c3e4519682599bafe0c9857be90937542be31fd8))
### Features
* add additional layout for small screens ([890dbdf](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/890dbdf313c4596e73734fdca5376c86d4cdc852))
* add an all page with cards to link to it ([7327795](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7327795d394f05039a3e0fe0e6615453138bcd6a))
* add applications page ([9678b3c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/9678b3c7185b166d710ab7e0a83cdbdc89cc0ff6))
* add automation to release using release-please in workflows ([99032f7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/99032f7a62a88bd8310a0eacfa2ab03c17ed9685))
* add background shimmer effect, use mask for content scroll fade ([5e37e2b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5e37e2bb539a8d35bd3de3c47f0b2c5d227197c5))
* add category logo to blog page ([5b94283](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5b94283498131c4265b7f5bb364d81e8ff642a88))
* add client:load ([ceb70c7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ceb70c70491d7075cd744a12158bf6a9bf7da367))
* add creds for dhi ([8797864](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/879786484d10a6be14e1cb7a5a6d28ebb6b1a95f))
* add dark mode logo ([f984a1f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f984a1f759b14e11c9d9ccd3d389ee3b4cd94d67))
* add dark mode swap to logo ([97b1fa0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/97b1fa0316dff19bbfc8e34041826fb95b71f2d8))
* add dates to selected ([091af90](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/091af909d49c31568edd00b195c10f4b45c843db))
* add docker login ([a8d6446](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a8d6446674d872456952146f0b31562f41a873f8))
* add docs link to footer ([22860c4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/22860c4714c353f407ad0e2383976819a059c232))
* add gap to distinguish ([f030da5](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f030da549ead68a2334ed70ae32b6c19ef686a93))
* add gap to header above md ([d3b2b40](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d3b2b40ccbbac494a02cddc1944d698627abcc6f))
* add guarddog scan to workflow ([14f7bdc](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/14f7bdc024868a02566b00bf2a3b52c74a210788))
* add if to ignore harbor release result ([ce75e7c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ce75e7ca5ec723c6a30f760f930d027012da6de9))
* add logos to category cards ([4c1da43](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4c1da43c6833a5e36e52a39fcbe93d2a2422418e))
* add logos to category header pages ([d7d4336](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d7d43369dc239af1775d99b631fb86368bcac102))
* add margin to bring in the content ([fa618b0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fa618b0524912eab62a670b926d70c1d29968780))
* add photoswipe to view images embeded in posts ([ae57c60](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ae57c6093599f3bb0b6bc6b0856a96fab997e1f6))
* add release branch, update and merge release workflow ([68f2080](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/68f2080bdaa4b5a10a0d72657d511d287288e68c))
* add rounded option to hero component and use it for about page ([95432d9](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/95432d9059cc05afc1a97033e42d7a4322c27a54))
* add rybbit tracking ([efad6c3](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/efad6c30d1387d97b74286d1dec158998b90c047))
* add scroll reset on navigation ([07c7ede](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/07c7edeb0f49fd082d109f85f3407c41ee1924ca))
* add security feature ([a7e7e5b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a7e7e5b0e803b604801ed7aee0bdcd81781c612f))
* add semantic release ([620b496](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/620b496957e49aa5615c043dbebb31367df38aaf))
* add shiki to markdown rendering for code highlighting ([b7f76c5](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b7f76c584752942d0beaec5f8d815dbe139dd1c1))
* add thanks for Icons8 ([6cddae6](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6cddae61ed40a4f30d121d8f054749c09ee4be59))
* add token ([e0a3d39](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e0a3d391b314717402b9577899c37c131a73c71d))
* add weather widget ([b6dfc73](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b6dfc738f15737937fbc6dd438d173c0f4b1e526))
* adjust height of fade effect ([7498870](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7498870d9221e8f2e403596cfdcb916a59e6bd4f))
* adjust layout of recent posts ([568220d](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/568220d39c4ede230b512b18eb28dc46d941dcca))
* adjustment pass on spacing between sections ([b3c377f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b3c377f62dbaf2f6f5e38dc5f023023db42e8baf))
* better reactive layout for small screen sizes ([56d841a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/56d841a3358df55b59b310247a4b862827ca116c))
* change cache path ([30b2e98](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/30b2e980c0c6d13e8b66de99ee7f811110999360))
* change responsive height of image ([e25a3d0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e25a3d0189941cb640c18d423d2b168975a7fd38))
* change selected blogs to switch to card form on small screens ([44bd1e4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/44bd1e48100dbeecdeecad1c2111cfdb3fd144e7))
* consistent gaps and margins ([05d7ad6](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/05d7ad6557da8aa190396361c57e6534bf02cc2d))
* convert hero section to use randomly selected images stored in directus ([c9cb15f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c9cb15f201136c0579bf44106e70efafbda2e0a6))
* convert to bun ([1f2820e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1f2820e4b49f827018a2cc1624cc9921a0a48241))
* disable ([1573331](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1573331f8775aebff7aa9fee896bdc0dd468c16b))
* disable security feature ([04dfecc](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/04dfecc099f4e319e6a673bcb1e774bdd07bc73e))
* enable cache ([16e14f6](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/16e14f63efdfabbca6a31e66495761eb53bb755d))
* enable guarddog ([19e8080](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/19e80809c16f6d30653d1e181fffa84bf4a4ffa1))
* enable security feature ([0434480](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/04344808bdd9a22f3c8ac4c21dec16e71b398b59))
* final refactor of sections ([a74cc77](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a74cc775d027c95dd989355126d74a3bc2502ef5))
* hide cards on small screens ([e2f5bbb](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e2f5bbbe9cefd893a40cbd9f14ce819da8ab1c0e))
* ignore on docs updates ([4b58117](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4b58117454109cbc3f40df0d1edc5185ca6415f0))
* imporve theme toggle button ([a09a4ee](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a09a4ee2404a5621568e141d32929353a78e750c))
* imporvement pass over sections ([8a649b7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8a649b7647804a63013bc9a44485f36e60dfdb7f))
* improve behavior of showmore, fix alignment ([7f2a272](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7f2a27248a986a1e8921269862220d82d75f89cf))
* improve layout for single and two images ([e6d4e34](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e6d4e34a0a55260c0f2ee1d166cb6eabcf8f1f61))
* improve logos and clickability of cards on about and apps ([63cbcdf](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/63cbcdf39b1e07a6307c6ab27d75f8edd4902e5b))
* improve navbar, add opacity fade beneath, layout, and refactor ([5ac23f0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5ac23f08a4e4519ac7179ec916fdc91abca5883a))
* install deps ([f32b75e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f32b75e31d8ac4a3e55f86812bfa0790bfaede57))
* major refactor of cards to standardize styles ([104fe35](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/104fe35ee8d6801d4cf1e6cfe4ad5bb9ff42d2a0))
* make cards fixed height ([9dfcf6f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/9dfcf6f00698b472753b96117c59a5f8e1c536ea))
* make weather fetching dynamic ([7f7f710](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7f7f710fe84eca8fbcadc9566f56942f63224d36))
* markdown support for rss ([6156012](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6156012c0068cb26ee5aad1045b7f8da04412092))
* minor tweaks ([d42ba08](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d42ba0804197e0f1813aff9178e001a4c5deded1))
* move all categories card to bottom of category section ([2fbc9a7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/2fbc9a764f6b93a088c46b88d6cbd9a0ad9a1152))
* move all posts to bottom of recent section ([940342c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/940342cc3f07a0002da4596d7f7047010faf0f96))
* move categories to directus ([93bf44f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/93bf44f89ab093563c58c5ce1f9bec530c852a87))
* move directus to local endpoint ([197ad63](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/197ad63ada2e5a2335b4e0984bbdf8ee96d07b2f))
* move improved components out of ui folder ([47a6373](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/47a637353cfe34d95558490474968e40c9d779c3))
* move post metadata to snippet component ([cc8bade](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/cc8bade886fee861f9ab7ad1d54fd5415ab2ec7b))
* move url configuration to support file ([6f1728a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6f1728a909c4b33a52a31677aeff29c9b5a83261))
* organize footer to consistency ([c6f3179](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c6f3179efba8920efed80e03eca09a3016d2ac16))
* organize layout to consistency ([8270728](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8270728e8fbf51b429617fbb6f14369791f58de5))
* organize to consistency ([21085a1](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/21085a1620687f60006cabcb9eef233768e286ea))
* organize to consistency ([62dd636](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/62dd636d4ee0b4a4fb0d4e8f10b50171aa694f15))
* organize to consistency ([0497731](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0497731c455158e09e7bd876fb8237910ce47826))
* organize to consistency ([6c2c6da](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6c2c6da91d94b04448f2b744414adeabdd6bec1c))
* organize to consistency pass on sections ([429cf94](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/429cf9402313d97feb486a91729fbf33f10160ca))
* redo how images, icons, and logos are handled ([76dfef4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/76dfef41774182ca4a3ec8ae36542c786a2a08b2))
* redo layout, smaller and with logo ([3414535](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/341453510fe707ecd2892a34e3af1eb295630d4d))
* reduce scale effect ([b8379bb](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b8379bbc38dae300e25caab2c1e77b993744cc20))
* refactor blog components ([6423ffb](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6423ffba639130cafd9d7d526588a6b707f81687))
* refactor buttons, except for theme ([342ae89](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/342ae8900af878b9ae77f82cf95eca62ad67a1d5))
* refactor how blog cards layout, add metadata, better responsiveness ([265fd4f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/265fd4f2cbe064c2d4a4f7b063b65b1ec623fa95))
* refactor pass along pages ([e52d85f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e52d85f9314fbb8b6aeb0667bcec8e475c1b2c5d))
* release 2.10.0 ([fcd3057](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fcd3057f40d1198012fba2754d95fb2109b2bcd4))
* release 2.10.1 ([2cdef1a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/2cdef1a5533da355daf4934d3e2a383ae65bfa4a))
* release 2.11.0 ([440c952](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/440c95224d9f5c6e9fdaff7e7d663ca87aa358fc))
* release 2.12.0 ([1a8473b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1a8473b96483bbac6ad26904916ecb2226e8243c))
* release 2.13.0 ([2c9486f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/2c9486f6872a1b2126661a0c5a44c1f1e68bf6c2))
* release 2.13.1 ([db2711d](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/db2711d8782977c639f031ac24213c356d05de57))
* release 2.14.0 ([0416ab7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0416ab7f9e299cbcaede6372f396a3f25bde12aa))
* release 2.14.1 ([d415dda](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d415dda6615cfc6b79e27212846e9b176a016ed9))
* release 2.15.0 ([f3b8d10](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f3b8d101064ebe4b6cf1adb17145156dbe2a209b))
* release 2.15.1 ([c5cda00](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c5cda006bb24b326e1d18a650689ba0590afd5db))
* release 2.16.0 ([c69eb58](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c69eb58a49bf99a8063b8d33118ac2a77febf9dc))
* release 2.17.0 ([d19433a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d19433ae4eedaa2fec3dcc0e839e6b08035d6f5d))
* release 2.17.1 ([cc5e975](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/cc5e975ea6adaa8acb8625de91091eb914ec67ce))
* release 2.17.2 ([469d9ba](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/469d9ba3f723c2d085dd3bda829291ef59c5a879))
* release 2.18.0 ([ddbcb33](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ddbcb338123ada672c90610ad40f9df578acbab6))
* release 2.18.1 ([62066c6](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/62066c6f3bdc7c0d9fa9cf9bf636310a60b6f045))
* release 2.19.0 ([6ddc382](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6ddc382dac0647231a60a976d351563368d0ffdc))
* release 2.19.1 ([f4676d1](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f4676d151fa288175db792288bbdb86bc044a822))
* release 2.20.0 ([2c20770](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/2c2077053bb6bff438d312c4e9df1a9764e30c90))
* release 2.20.1 ([95ea235](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/95ea235f9f4dd1bbdcb0c6b95c437c4703c77726))
* release 2.21.0 ([89fd0eb](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/89fd0eb7ce5cfc3b433c9a6ef11299976c94640c))
* release 2.22.0 ([8b07837](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8b07837c0d2ce15cf0243564dc51e863faa6cb9c))
* release 2.23.0 ([50f050c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/50f050c0b6db2affc331178b1a5e84fb74346635))
* release 2.24.0 ([ce9c9c3](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ce9c9c38574d907ea4c72f90e68d705c1f2f507f))
* release 2.25.0 ([e91ffd8](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e91ffd8686381c4e0ea39c13b4d05b3644f90799))
* release 2.3.0 ([bf73905](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/bf7390565846c3629edf4dc3a2daa00509478d15))
* release 2.3.2 ([49969e2](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/49969e27b0884b166f521e1b44d461551eebcdfd))
* release 2.4.0 ([d0ff16c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d0ff16c8dc13aaa4ca390684bea495f95914de04))
* release 2.5.0 ([880bafd](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/880bafd41ec25223c770148cb32e4b651c3997d2))
* release 2.6.0 ([3f5682f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/3f5682f80ca4ee0c857bc335d8729f7c28d4c038))
* release 2.7.0 ([00ef91b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/00ef91b644fbc96a0fc76ab7460c3619c5db76ae))
* release 2.8.0 ([a57f43e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a57f43e082fb43d438c058990bd245b62cd11bba))
* release 2.9.0 ([0f403fa](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0f403fa274566ad0e08b04d6566f2f922134e92a))
* release 3.0.0, major astro update to 6.0 ([962f354](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/962f3542089a96ffaf583c716d21ca9ccc0e26e4))
* release 3.2.0 ([ec10d45](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ec10d45fd0d73affd240eaea8b87c74c5e262bb6))
* release 3.3.0 ([8184d42](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8184d429421462d9e991129874293ed86e30a49a))
* release 3.5.0 ([6ec2734](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6ec27345c3e920be11e055e2eb370cecd4a6e651))
* release 3.6.0 ([03f74a8](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/03f74a8181c429eeb69ebdcec6bc23ad11c6bd00))
* remove emoji ([734e9ca](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/734e9cacaefad037c059decc41a7576315096a61))
* remove extra spacing ([5877086](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5877086cc3935378681035920138a708a919d374))
* remove hardcoded descriptions ([754f6a2](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/754f6a22f00a9e19cfdc5ace2632977530be8a57))
* remove hardcoded descriptions ([c7d3ca7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/c7d3ca725248cf5faf9c3f2b8c92816b892e02e9))
* remove mdx ([4203b63](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4203b638930daa3fce44de0d81c8e01bea601c01))
* remove option ([19e17ea](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/19e17ea94713b017f392eab90a982c29debf2eae))
* remove partytown int ([b55c3a0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b55c3a0e3151614cd400194922f1ac506202377d))
* remove partytown int ([e63abf0](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e63abf03ef1d8dbc2f81fade07bd7058bd8777dd))
* remove release-please ([07fa86b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/07fa86b17cab585088e299aab081b122db386ade))
* remove security feature ([5e02443](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5e02443409996b763f8dd4bc5c4e96ed38cc9083))
* remove static robots ([4dbc5d1](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/4dbc5d12a3c5bf60e4efe4d33ab9d9c8baa62b87))
* remove text-justify from content ([a45a4d7](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/a45a4d7dd7535ea67e738b028d87d7854165b8b3))
* remove unused files ([00a86b1](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/00a86b120624f81d4f4b4cff9aa89510f7fa90eb))
* remove unused packages ([505670d](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/505670dbf81bbf4b8306520e0df0683cfaea44db))
* remove unused properties ([0a17e3b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0a17e3b8af679df1624118bf7dea95e5fd877123))
* rename button components to include button in name for consistency ([5271be5](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5271be52a22d536f7b6662d4ebab98413f9e4dcd))
* reorganize blog layout ([1f3fed9](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1f3fed93a15101e26e766b34d906ddb7853b2a90))
* replace timeago with dayjs ([405fdf2](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/405fdf297cf5d57e499a600253741bfdd891cdd2))
* responsive for small screen ([5b6b6e4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/5b6b6e479f0c164ccc365587c669ea02850743a8))
* reword titles and descriptions ([68f1794](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/68f179456a6c677f5a900db984a58c6b0422ea3e))
* scale logos ([0fc359a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0fc359a973e0d7b2de191b76d828f89f3e6fe694))
* setup node ([113f42c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/113f42ca21d2a917b527e65d61934e34d5628b1a))
* setup node for semantic release ([bf3a7ef](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/bf3a7ef261b437e877fd7c9d1a477dfac1ee0400))
* shorten transition time ([3eae720](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/3eae720221fb5b895942589e3ac5b1cd9825b426))
* simplify layout of the features cards ([31621e4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/31621e4f7efe5f0bfe394453f24d8120ff6f2ade))
* slight optimization ([fe6604a](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fe6604a5d993c516d542a5988b78f78e123241ea))
* tweak to gradient ([20d8c73](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/20d8c7323f81a6801b7fc77b10351d3f4a24d8de))
* tweaks to background to be more pastel ([ea15224](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/ea15224eae8b3771f8d5cd5eb68809b12336d016))
* update BaseHead ([18211ad](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/18211ad4852ac0a0cb25d82309f91746f27ba0a1))
* update features ([7fafa5c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/7fafa5c4cf0d708dd750a46f207ac13c92cba0f3))
* update layout's width ([6fca640](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/6fca640fd8bca269e9295618175f62639b31053f))
* update robots.txt ([744e72e](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/744e72efc9e405ee86ab962fdfa5a8a99a5cb162))
* update workflow to major version ([dc08830](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/dc088306ceee7fc8ddbe0279e836511541350a90))
* use different workflow for gitea ([1577ee4](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/1577ee4c2791cb40d2af4b891e37c6c3f4db459a))
* use hardened image ([d464f0f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/d464f0fe43417e0965158ef5a99d3fb912fe0382))
* use latest alpine ([e476efb](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e476efb96b14b5bdd1a10e31a676e55f4222ffab))
* use many to one relationship for categories in directus ([e7c660c](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/e7c660c142010fd45d8fcf4027aad9f191ea394e))
* use mask to blend content to background ([0c63c6b](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/0c63c6bef4472dc078323c937ca516d42ff0b91e))
* use masonary style layout ([8a7b6b9](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8a7b6b97b79a1eafc525bd25e0132af0d36a551b))
* use metadata snippet for blog cards ([18c2b54](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/18c2b54f658e029f99e608fdfe5eb15d61fbe04a))
* use slate for accent ([8c5488f](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/8c5488fad58710074669d1ef7618110dd724447d))
### Reverts
* release 2.2.2 ([f34f4b2](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/f34f4b25324c2effae642ae96a8a88aed0028435))
* release 2.2.3 ([b3bb769](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/b3bb769c477fbc5b07256a8e16b376672633228b))
* release 2.2.4 ([fde3973](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/fde397386ce5eacc347812c8a1c6620ef387dd08))
* release 2.2.5 ([00b63a5](https://gitea.alexlebens.dev/alexlebens/site-profile/commit/00b63a5bea3969b5c587b330a4125e876093dcd8))

View File

@@ -1,21 +1,33 @@
FROM node:20.16.0-alpine3.20 AS base
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
FROM dhi.io/bun:1.3.10-debian13-dev AS builder
WORKDIR /app
COPY package.json bun.lock ./
FROM builder AS prod-deps
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --production --frozen-lockfile
FROM builder AS build-deps
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --frozen-lockfile
FROM build-deps AS build
COPY . .
RUN bun run build
FROM base AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
FROM base AS build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build
FROM base
FROM dhi.io/bun:1.3.10-alpine3.22 AS runtime
WORKDIR /app
COPY --from=prod-deps /app/node_modules /app/node_modules
COPY --from=build /app/dist /app/dist
EXPOSE 8000
CMD [ "pnpm", "start" ]
ARG APP_VERSION=latest
ARG APP_VERSION
ENV HOST=0.0.0.0
ENV PORT=4321
LABEL version=$APP_VERSION
LABEL description="Astro based personal website"
EXPOSE $PORT
CMD ["bun", "run", "./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,25 @@
# 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:
- `bun run build`: Bundles your site into static files for production.
- `bun run dev`: Starts a local development server with hot reloading enabled.
For detailed help with Astro CLI commands, visit [Astro's documentation](https://docs.astro.build/en/reference/cli-reference/).
## Thanks
Based the site on: [gblog-template](https://github.com/godruoyi/gblog/tree/gblog-template) and [ScrewFast](https://github.com/mearashadowfax/ScrewFast)
Using Icons from [Icons8](https://icons8.com/)
## 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,11 +1,90 @@
import { defineConfig } from 'astro/config';
import node from "@astrojs/node";
import node from '@astrojs/node';
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';
// https://astro.build/config
export default defineConfig({
output: "server",
site: getSiteURL(),
security: { csp: true },
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: [
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' : '',
},
});

3958
bun.lock Normal file

File diff suppressed because it is too large Load Diff

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,18 +1,89 @@
{
"name": "",
"name": "site-profile",
"type": "module",
"version": "0.0.1",
"version": "3.7.0",
"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",
"astro": "^4.14.2",
"typescript": "^5.5.4"
"@astrojs/check": "^0.9.7",
"@astrojs/node": "^10.0.1",
"@astrojs/react": "^5.0.0",
"@astrojs/rss": "^4.0.17",
"@astrojs/sitemap": "^3.7.1",
"@directus/sdk": "^21.2.0",
"@giscus/react": "^3.1.0",
"@iconify-json/mdi": "^1.2.3",
"@iconify-json/pajamas": "^1.2.15",
"@iconify-json/simple-icons": "^1.2.73",
"@playform/compress": "^0.2.1",
"@swup/astro": "^1.8.0",
"@tailwindcss/postcss": "^4.2.1",
"@tailwindcss/vite": "^4.2.1",
"@types/react": "^19.2.14",
"@types/unist": "^3.0.3",
"astro": "^6.0.4",
"astro-icon": "^1.1.5",
"dayjs": "^1.11.20",
"markdown-it": "^14.1.1",
"marked": "^17.0.4",
"marked-shiki": "^1.2.1",
"mdast-util-to-string": "^4.0.0",
"photoswipe": "^5.4.4",
"preline": "^4.1.2",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"reading-time": "^1.5.0",
"sharp": "^0.34.5",
"sharp-ico": "^0.1.5",
"shiki": "^4.0.2",
"tailwindcss": "^4.2.1",
"ultrahtml": "^1.6.0"
},
"devDependencies": {
"@eslint-react/eslint-plugin": "^2.13.0",
"@saithodev/semantic-release-gitea": "^2.1.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^13.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/release-notes-generator": "^14.1.0",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/typography": "^0.5.19",
"@types/markdown-it": "^14.1.2",
"eslint": "^10.0.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-astro": "^1.6.0",
"eslint-plugin-format": "^2.0.1",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.5.2",
"prettier": "^3.8.1",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.7.2",
"semantic-release": "^25.0.3",
"semantic-release-export-data": "^1.2.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.57.0"
}
}
}

4261
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

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: 98 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: 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: 128 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

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,56 +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);
}
}
/* Overlay for hover effects. */
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:me@example.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 Portland with <a href="https://astro.build/">Astro</a>
<Icon icon="rocket-launch" size="1.2em" />
</p>
<p>&copy; {currentYear} Jeanine White</p>
</div>
<p class="socials">
<a href="https://twitter.com/me"> Twitter</a>
<a href="https://github.com/me"> GitHub</a>
<a href="https://codepen.io/me"> CodePen</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,65 +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;
}
/* If last row contains only one item, make it span both columns. */
.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);
}
/* Shift first item in each row vertically to create staggered effect. */
.grid.offset > :global(:nth-child(odd)) {
transform: translateY(var(--row-offset));
}
/* If last row contains only one item, display it in the second column. */
.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] transition-all duration-300 w-full px-4 py-3 mx-2 md:mx-8 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,38 +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"/>`,
'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"/>`,
'twitter-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M128 88c0-22 18.5-40.3 40.5-40a40 40 0 0 1 36.2 24H240l-32.3 32.3A127.9 127.9 0 0 1 80 224c-32 0-40-12-40-12s32-12 48-36c0 0-64-32-48-120 0 0 40 40 88 48Z"/>`,
'codepen-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 101-104 59-104-59 100.1-56.8a8.3 8.3 0 0 1 7.8 0Z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m232 165-100.1 56.8a8.3 8.3 0 0 1-7.8 0L24 165l104-59Zm0-64v64M24 101v64m104-5v62.8m0-179.6V106"/>`,
'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>`,
'twitch-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M165 200h-42a8 8 0 0 0-5 2l-46 38v-40H48a8 8 0 0 1-8-8V48a8 8 0 0 1 8-8h160a8 8 0 0 1 8 8v108a8 8 0 0 1-3 6l-43 36a8 8 0 0 1-5 2Zm3-112v48m-48-48v48"/>`,
'youtube-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m160 128-48-32v64l48-32z"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M24 128c0 30 3 47 5 56a16 16 0 0 0 10 11c34 13 89 13 89 13s56 0 89-13a16 16 0 0 0 10-11c2-9 5-26 5-56s-3-47-5-56a16 16 0 0 0-10-11c-33-13-89-13-89-13s-55 0-89 13a16 16 0 0 0-10 11c-2 9-5 26-5 56Z"/>`,
'dribbble-logo': `<circle cx="128" cy="128" r="96" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M71 205a160 160 0 0 1 137-77l16 1m-36-76a160 160 0 0 1-124 59 165 165 0 0 1-30-3"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M86 42a161 161 0 0 1 74 177"/>`,
'discord-logo': `<circle stroke="none" cx="96" cy="144" r="12"/><circle stroke="none" cx="160" cy="144" r="12"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M74 80a175 175 0 0 1 54-8 175 175 0 0 1 54 8m0 96a175 175 0 0 1-54 8 175 175 0 0 1-54-8"/><path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="m155 182 12 24a8 8 0 0 0 9 4c25-6 46-16 61-30a8 8 0 0 0 3-8L206 59a8 8 0 0 0-5-5 176 176 0 0 0-30-9 8 8 0 0 0-9 5l-8 24m-53 108-12 24a8 8 0 0 1-9 4c-25-6-46-16-61-30a8 8 0 0 1-3-8L50 59a8 8 0 0 1 5-5 176 176 0 0 1 30-9 8 8 0 0 1 9 5l8 24"/>`,
'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"/>`,
'instagram-logo': `<circle cx="128" cy="128" r="40" fill="none" stroke-miterlimit="10" stroke-width="16"/><rect width="184" height="184" x="36" y="36" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" rx="48"/><circle cx="180" cy="76" r="12" stroke="none" />`,
'tiktok-logo': `<path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="16" d="M168 106a96 96 0 0 0 56 18V84a56 56 0 0 1-56-56h-40v128a28 28 0 1 1-40-25V89a68 68 0 1 0 80 67Z"/>`,
};

View File

@@ -1,47 +0,0 @@
---
import '../styles/global.css';
interface Props {
title?: string | undefined;
description?: string | undefined;
}
const {
title = 'Jeanine White: Personal Site',
description = 'The personal site of Jeanine White',
} = 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>
// This code is inlined in the head to make dark mode instant & blocking.
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') {
// Watch the document element and persist user preference when it changes.
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,367 +0,0 @@
---
import Icon from './Icon.astro';
import ThemeToggle from './ThemeToggle.astro';
import type { iconPaths } from './IconPaths';
/** Main menu items */
const textLinks: { label: string; href: string }[] = [
{ label: 'Home', href: '/' },
{ label: 'Work', href: '/work/' },
{ label: 'About', href: '/about/' },
];
/** Icon links to social media — edit these with links to your profiles! */
const iconLinks: { label: string; href: string; icon: keyof typeof iconPaths }[] = [
{ label: 'Twitter', href: 'https://twitter.com/me', icon: 'twitter-logo' },
{ label: 'Twitch', href: 'https://twitch.tv/me', icon: 'twitch-logo' },
{ label: 'GitHub', href: 'https://github.com/me', icon: 'github-logo' },
{ label: 'CodePen', href: 'https://codepen.io/me', icon: 'codepen-logo' },
{ label: 'dribbble', href: 'https://dribbble.com/me', icon: 'dribbble-logo' },
{ label: 'YouTube', href: 'https://www.youtube.com/@me/', icon: 'youtube-logo' },
];
---
<nav>
<div class="menu-header">
<a href="/" class="site-title">
<Icon icon="terminal-window" color="var(--accent-regular)" size="1.6em" gradient />
Jeanine White
</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();
// Inject menu toggle button when JS runs.
this.appendChild(this.querySelector('template')!.content.cloneNode(true));
const btn = this.querySelector('button')!;
// Hide menu (shown by default to support no-JS browsers).
const menu = document.getElementById('menu-content')!;
menu.hidden = true;
// Add "menu-content" class in JS to avoid covering content in non-JS browsers.
menu.classList.add('menu-content');
/** Set whether the menu is currently expanded or collapsed. */
const setExpanded = (expand: boolean) => {
btn.setAttribute('aria-expanded', expand ? 'true' : 'false');
menu.hidden = !expand;
};
// Toggle menu visibility when the menu button is clicked.
btn.addEventListener('click', () => setExpanded(menu.hidden));
// Hide menu button for large screens.
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<'work'>;
}
const { data, slug } = Astro.props.project;
---
<a class="card" href={`/work/${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="terminal-window" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>Full Stack</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod.</p>
</div>
<div class="stack gap-2 lg:gap-4">
<Icon icon="trophy" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>Industry Leader</h2>
<p>Neque viverra justo nec ultrices dui. Est ultricies integer quis auctor elit.</p>
</div>
<div class="stack gap-2 lg:gap-4">
<Icon icon="strategy" color="var(--accent-regular)" size="2.5rem" gradient />
<h2>Strategy-Minded</h2>
<p>Urna porttitor rhoncus dolor purus non enim praesent ornare.</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,95 +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')!;
/** Set the theme to dark/light mode. */
const setTheme = (dark: boolean) => {
document.documentElement.classList[dark ? 'add' : 'remove']('theme-dark');
button.setAttribute('aria-pressed', String(dark));
};
// Toggle the theme when a user clicks the button.
button.addEventListener('click', () => setTheme(!this.isDark()));
// Initialize button state to reflect current theme.
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,15 @@
---
import { Icon } from 'astro-icon/components';
---
<div class="button-base button-bg-teal inline-flex shrink-0 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>

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.15s 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');
}, 150);
}, 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,47 @@
---
import { Image } from 'astro:assets';
import type { Post } from '@lib/directusTypes';
import PostMetadataSnippet from '@/components/snippets/PostMetadataSnippet.astro';
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! h-full flex flex-col"
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-64 w-full object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="eager"
format="webp"
inferSize={true}
/>
</div>
<div class="flex flex-col flex-1 rounded-xl p-4 md:p-5 mx-1 mb-2">
<div class="flex flex-row items-center mb-8">
<h3 class="card-text-title card-hover-text-title text-2xl">
{post.title}
</h3>
</div>
<div class="mt-auto">
<PostMetadataSnippet
enableCategoryLink={false}
post={post}
/>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,79 @@
---
import Logo from '@components/images/Logo.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
slug: string;
title: string;
description: string;
logoLight: string;
logoDark?: string;
count: number;
publishDate: string;
}
const { slug, title, description, logoLight, logoDark, 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="flex flex-row items-center mb-4">
<div class="card-hover-icon-scale shrink-0 mr-3">
<Logo
srcLight={getDirectusImageURL(logoLight)}
srcDark={getDirectusImageURL(logoDark!)}
alt={`Logo of ${title}`}
/>
</div>
<h3 class="card-text-title-major card-hover-text-title whitespace-nowrap">
{title}
</h3>
</div>
<div>
<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>
<div 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>
<span>
{publishDate}
</span>
</div>
</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,53 @@
---
import { Image } from 'astro:assets';
import type { Post } from '@lib/directusTypes';
import ReadMoreButton from '@components/buttons/ReadMoreButton.astro';
import PostMetadataSnippet from '@/components/snippets/PostMetadataSnippet.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
post: Post;
}
const { post } = Astro.props;
---
<div class="smooth-reveal flex flex-col px-4 py-10 mx-auto w-full">
<a
class="md:card-base-hidden group md:grid md:grid-cols-2 lg:grid lg:grid-cols-2 gap-8 xl:gap-16 w-full md:px-8 md:py-8"
href={`/blog/${post.slug}`}
data-astro-prefetch
>
<div class="h-full">
<Image
class="rounded-2xl rounded-b-none md:rounded-2xl md:shadow-2xl w-full h-full object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="lazy"
inferSize={true}
/>
</div>
<div class="flex flex-col justify-center 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 gap-4">
<h2 class="card-text-header">
{post.title}
</h2>
<p class="card-text-title font-light text-pretty sm:text-lg max-w-prose">
{post.description}
</p>
<div class="flex md:flex-col-reverse lg:flex-row items-center md:items-start lg:items-center justify-between w-full md:gap-4">
<div class="hidden md:block shrink-0 mt-4">
<ReadMoreButton/>
</div>
<div class="mt-2 lg:mt-4">
<PostMetadataSnippet
post={post}
enableCategoryLink={false}
/>
</div>
</div>
</div>
</a>
</div>

View File

@@ -0,0 +1,86 @@
---
import { Image } from 'astro:assets';
import type { Post } from '@lib/directusTypes';
import ReadMoreButton from '@components/buttons/ReadMoreButton.astro';
import PostMetadataSnippet from '@/components/snippets/PostMetadataSnippet.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
post: Post;
}
const { post } = Astro.props;
---
<div class="smooth-reveal flex flex-col px-4 py-10 mx-auto w-full">
<a
class="md:card-base-hidden group flex flex-col-reverse md:grid md:items-center md:grid-cols-2 lg:grid lg:grid-cols-2 md:gap-8 xl:gap-16 w-full md:px-8 md:py-8"
href={`/blog/${post.slug}`}
data-astro-prefetch
>
<div class="flex flex-col 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 gap-4">
<h2 class="card-text-header">
{post.title}
</h2>
<p class="card-text-title font-light text-pretty sm:text-lg max-w-prose">
{post.description}
</p>
<div class="flex md:flex-col-reverse lg:flex-row items-center md:items-start lg:items-center justify-between w-full md:gap-4">
<div class="hidden md:block shrink-0 mt-4">
<ReadMoreButton/>
</div>
<div class="mt-2 lg:mt-4">
<PostMetadataSnippet
post={post}
enableCategoryLink={false}
/>
</div>
</div>
</div>
{!post.image_second ? (
<div class="h-full">
<Image
class="rounded-2xl rounded-b-none md:rounded-2xl md:shadow-2xl w-full h-full sm:max-h-80 md:max-h-90 object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="lazy"
inferSize={true}
/>
</div>
) : (
<div class="h-full">
<div class="md:hidden">
<Image
class="rounded-2xl rounded-b-none shadow-2xl w-full h-full sm:max-h-80 object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="lazy"
inferSize={true}
/>
</div>
<div class="hidden md:flex md:items-start">
<Image
class="rounded-xl z-10 shadow-2xl w-3/5 h-full object-cover"
src={getDirectusImageURL(post.image)}
alt={post.image_alt}
draggable="false"
loading="lazy"
inferSize={true}
/>
<Image
class="rounded-xl shadow-2xl w-3/5 h-full -ml-16 mt-12 object-cover"
src={getDirectusImageURL(post.image_second)}
alt={post.image_second_alt}
draggable="false"
loading="lazy"
inferSize={true}
/>
</div>
</div>
)}
</a>
</div>

View File

@@ -0,0 +1,77 @@
---
import Logo from '@components/images/Logo.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
url: string;
title: string;
description: string;
logoLight: string;
logoDark?: string;
count: number;
publishDate: string;
}
const { url, title, description, logoLight, logoDark, count, publishDate } = Astro.props;
---
<div class="smooth-reveal-cards flex flex-col mx-auto w-full">
<a
class="card-base flex flex-col h-full min-h-55"
href={url}
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="flex flex-row items-center mb-4">
<div class="card-hover-icon-scale shrink-0 mr-3">
<Logo
srcLight={getDirectusImageURL(logoLight)}
srcDark={getDirectusImageURL(logoDark!)}
alt={`Logo of ${title}`}
/>
</div>
<h3 class="card-text-title-major card-hover-text-title whitespace-nowrap">
{title}
</h3>
</div>
<div>
<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,59 @@
---
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 mx-auto w-full">
<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 w-full md:px-8 md:py-8"
href={url}
data-astro-prefetch
>
{img && (
<div>
<Image
class="rounded-2xl rounded-b-none md:rounded-2xl md:shadow-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="flex items-center justify-between w-full">
<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,44 @@
---
import ReadMoreButton from '@components/buttons/ReadMoreButton.astro';
import Logo from '@components/images/Logo.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
title: string;
subTitle: string;
url: string;
logoLight: string;
logoDark?: string;
}
const { title, subTitle, url, logoLight, logoDark} = Astro.props;
---
<div class="smooth-reveal w-full mx-auto">
<a
class="card-base group flex flex-row items-center justify-between w-full p-8 gap-6 md:gap-8"
href={url}
data-astro-prefetch
>
<div class="flex flex-row items-center ml-4">
<div class="card-hover-icon-scale shrink-0 mr-3">
<Logo
srcLight={getDirectusImageURL(logoLight)}
srcDark={getDirectusImageURL(logoDark!)}
alt={`Logo of ${title}`}
/>
</div>
<div class="flex flex-col gap-3 text-left ml-4">
<h2 class="card-text-header text-2xl md:text-3xl">
{title}
</h2>
<p class="card-text-title font-light text-pretty text-lg max-w-3xl">
{subTitle}
</p>
</div>
</div>
<div class="hidden md:block shrink-0 mr-4">
<ReadMoreButton/>
</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 sm: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,25 @@
---
import { Image } from 'astro:assets';
const { srcLight, srcDark, alt, style, width, height } = Astro.props;
---
<div class="grid grid-cols-1 grid-rows-1">
<Image
src={srcLight}
alt={alt}
class:list={['col-start-1 row-start-1 transition-all duration-300 ease-in-out opacity-100 scale-100 dark:opacity-0 dark:scale-65', style]}
width={width}
height={height}
inferSize={true}
/>
<Image
src={srcDark}
alt={alt}
class:list={['col-start-1 row-start-1 transition-all duration-300 ease-in-out opacity-0 scale-65 dark:opacity-100 dark:scale-100', style]}
width={width}
height={height}
inferSize={true}
/>
</div>

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,113 @@
---
import { readItems, readSingleton } from '@directus/sdk';
import type { Post } from '@lib/directusTypes';
import CategoryCard from '@components/cards/CategoryCard.astro';
import LargeCategoryCard from '@components/cards/LargeCategoryCard.astro';
import directus from '@lib/directus';
import { formatFromNow } from '@support/time';
const global = await directus.request(readSingleton('site_global'));
const posts = await directus.request(
readItems('posts', {
filter: { published: { _eq: true } },
fields: ['*', { category: ['*'] }],
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) => {
const categorySlug = obj.category?.slug;
if (!categorySlug) return acc;
let posts = acc.get(categorySlug);
if (!posts) {
posts = [];
}
posts.push(obj);
acc.set(categorySlug, posts);
return acc;
}, new Map<string, Post[]>());
const categories = (await directus.request(readItems('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, 1);
const mdColSpan = Math.min(pattern.col, 2);
const lgColSpan = 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} lg:col-span-${lgColSpan} ${rowSpanClass}`;
return {
...c,
posts,
gridItemClass,
layoutPattern: {
smCol: smColSpan,
mdCol: mdColSpan,
lgCol: lgColSpan,
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-1 md:grid-cols-2 lg: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.title}
description={category.description}
logoLight={category.logoLight}
logoDark={category.logoDark}
count={postMap.get(category.slug)?.length ?? 0}
publishDate={formatFromNow(postMap.get(category.slug)?.[0]?.published_date)}
/>
</div>
);
})}
<div class="col-span-full mt-8">
<LargeCategoryCard
title="All Posts"
description="Here you can forgoe the organization and browse everything I've posted"
url="/all"
logoLight={global.all_logoLight}
logoDark={global.all_logoDark}
count={posts.length}
publishDate={formatFromNow(posts[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,45 @@
---
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 py-10 mx-auto mb-2 md:mb-8">
<div class="flex items-center justify-center">
<div class="max-w-5xl">
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 lg:gap-6">
<FeaturesCard
title="Cloud Engineer"
description="Full stack and cloud engineer."
url="/about"
logoUrlLight="https://directus.alexlebens.net/assets/8e674299-2dfc-4ea3-8193-a1c4050bf06f?key=system-large-contain&v=2026-02-26T21%3A23%3A22.457Z"
logoUrlDark="https://directus.alexlebens.net/assets/cdd6efce-3231-4213-8b1e-cae9c1b3a18f?key=system-large-contain&v=2026-03-03T19%3A30%3A01.263Z"
/>
<FeaturesCard
title="Homelab"
description="Tinkering, testing, deploying, etc, etc ..."
url="/categories/homelab/"
logoUrlLight="https://directus.alexlebens.net/assets/4ccb3d9f-e203-4c2b-bfad-600f1aa5b7a4?key=system-large-contain&v=2026-02-26T21%3A25%3A30.853Z"
logoUrlDark="https://directus.alexlebens.net/assets/33fb6b45-1834-44a0-bc04-692be4f6d4ce?key=system-large-contain&v=2026-03-03T19%3A30%3A37.961Z"
/>
<FeaturesCard
title="Documentation"
description="Reference and guides for my homelab."
url="https://docs.alexlebens.dev"
logoUrlLight="https://directus.alexlebens.net/assets/5f5faad9-2c36-40a5-a519-f631d39ab388?key=system-large-contain&v=2026-03-03T19%3A49%3A43.620Z"
logoUrlDark="https://directus.alexlebens.net/assets/c49b40a9-ddf2-4fa2-ba35-6039682b93de?key=system-large-contain&v=2026-03-03T19%3A50%3A14.893Z"
/>
<FeaturesCard
title="Email"
description={`Send me a message.`}
url=`mailto:${global.email}`
logoUrlLight="https://directus.alexlebens.net/assets/4b1c771e-c709-4094-b018-0197b4747829?key=system-large-contain&v=2026-03-03T19%3A48%3A36.432Z"
logoUrlDark="https://directus.alexlebens.net/assets/cdf2ea11-fcfc-41f1-a701-43084fb06efa?key=system-large-contain&v=2026-03-03T19%3A47%3A28.109Z"
/>
</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,47 @@
---
import GoLinkPrimaryButton from '@components/buttons/GoLinkPrimaryButton.astro';
import Logo from '@components/images/Logo.astro';
import { getDirectusImageURL } from '@/support/url';
interface Props {
title: string;
subTitle: string;
logoExists?: boolean;
logoLight?: string;
logoDark?: string;
btnExists?: boolean;
btnTitle?: string;
btnURL?: string;
}
const { title, subTitle, logoExists, logoLight, logoDark, 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">
<div class="smooth-reveal flex flex-row items-center mb-4">
{logoExists ? (
<div class="shrink-0 mr-5">
<Logo
srcLight={getDirectusImageURL(logoLight!)}
srcDark={getDirectusImageURL(logoDark!)}
alt={`Logo of ${title}`}
/>
</div>
) : null}
<h1 class="card-text-header block lg:text-6xl">
{title}
</h1>
</div>
<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,100 @@
---
import { Image } from 'astro:assets';
import { readItems } from '@directus/sdk';
import type { HeaderImage } from '@lib/directusTypes';
import GoLinkPrimaryButton from '@components/buttons/GoLinkPrimaryButton.astro';
import GoLinkSecondaryButton from '@components/buttons/GoLinkSecondaryButton.astro';
import directus from '@lib/directus';
import { getDirectusImageURL } from '@/support/url';
interface Props {
title: string;
subTitle?: string;
primaryBtn?: string;
primaryBtnURL?: string;
secondaryBtn?: string;
secondaryBtnURL?: string;
}
const { title, subTitle, primaryBtn, primaryBtnURL, secondaryBtn, secondaryBtnURL } = Astro.props;
const imagesData = ((await directus.request(
readItems('header_images', {
fields: ['*'],
})
)) as unknown) as HeaderImage[];
const images = await Promise.all(imagesData.map(async (img) => ({
...img,
src: await getDirectusImageURL(img.image)
})));
---
<section class="grid md:grid-cols-2 md:items-center gap-4 md:gap-8 max-w-340 2xl:max-w-full px-4 py-14 sm:px-6 lg:px-8">
<div class="md:ml-12">
<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 md:mr-12">
<div
class="flex justify-center w-full top-12 md:ml-4 overflow-hidden no-js-fallback"
id="hero-image-container"
>
{images.map((img, index) => (
<div
class="hero-image hidden justify-center w-full h-full"
data-index={index}
>
<Image
class="h-full w-105 scale-100 object-cover object-center"
src={img.src}
alt={img.image_alt}
draggable="false"
loading="eager"
format="webp"
widths={[840]}
inferSize={true}
/>
</div>
))}
</div>
<style>
.no-js-fallback .hero-image:first-child {
display: flex !important;
}
</style>
<script is:inline>
document.getElementById('hero-image-container')?.classList.remove('no-js-fallback');
</script>
</div>
</section>
<script>
document.addEventListener('astro:page-load', () => {
const container = document.getElementById('hero-image-container');
if (container) {
const images = container.querySelectorAll('.hero-image');
images.forEach(img => {
img.classList.remove('flex');
img.classList.add('hidden');
});
if (images.length > 0) {
const randomIndex = Math.floor(Math.random() * images.length);
images[randomIndex].classList.remove('hidden');
images[randomIndex].classList.add('flex');
}
}
});
</script>

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,46 @@
---
import { readSingleton } from '@directus/sdk';
import type { Post } from '@lib/directusTypes';
import BlogCard from '@components/cards/BlogCard.astro';
import LargeLinkCard from '@components/cards/LargeLinkCard.astro';
import directus from '@lib/directus';
interface Props {
posts: Post[];
title: string;
subTitle?: string;
}
const global = await directus.request(readSingleton('site_global'));
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 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
{posts.map((b) =>
<BlogCard post={b} />
)}
<div class="col-span-full">
<LargeLinkCard
title="All Posts"
subTitle="Catch up on everything I've written"
url="/all"
logoLight={global.all_logoLight}
logoDark={global.all_logoDark}
/>
</div>
</div>
</section>

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