Commit Graph
100 Commits
Author SHA1 Message Date
phundrak 2ae69935ee style: format code
Publish Docker Images / build-docker (push) Successful in 9m19s
Publish Docker Images / coverage-and-sonar (push) Successful in 9m58s
Publish Docker Images / push-docker (push) Successful in 37s
2026-06-02 01:26:10 +02:00
phundrak c067177dab chore(audit): deny wildcard versions in Cargo.toml
Publish Docker Images / push-docker (push) Has been cancelled
Publish Docker Images / coverage-and-sonar (push) Has been cancelled
Publish Docker Images / build-docker (push) Has been cancelled
2026-06-02 01:23:20 +02:00
phundrak cb047968c3 feat(RateLimit): add Retry-After header for 429 errors 2026-06-02 01:20:45 +02:00
phundrak 9c4532f940 fix(health): move test to dedicated test mod 2026-06-02 01:05:32 +02:00
phundrak 84cf3359aa refactor(RateLimitConfig): replace magic values with struct method 2026-06-02 01:04:26 +02:00
phundrak 079047a0d5 feat(contact): sanitize user-submitted data 2026-06-02 00:59:17 +02:00
phundrak 302f07f43f fix: typo 2026-06-02 00:58:47 +02:00
phundrak 38fe2fa452 feat(logs): only activate json or pretty logs one at a time 2026-06-02 00:57:58 +02:00
phundrak e919167d22 refactor: simplify code 2026-06-02 00:57:14 +02:00
phundrak 2059572344 fix(contact): sanatize user-supplied data in logs 2026-06-01 23:58:25 +02:00
phundrak 8abb3d660f fix(logs): make tracing target consistent 2026-06-01 23:55:48 +02:00
phundrak 2bfdf60e9e refactor: better value cloning 2026-06-01 23:54:33 +02:00
phundrak 4fb8bda761 fix(RateLimit): apply rate limiting based on client IP 2026-06-01 23:52:46 +02:00
phundrak 2370462a3e feat(settings): proper CORS in production
If the backend starts in production mode with no `frontend_url` is set,
immediately panic and stop.
2026-06-01 23:35:31 +02:00
phundrak 5c200e1f89 feat(SMTP): disallow unencrypted SMTP with credentials 2026-06-01 23:23:39 +02:00
phundrak b31a5ccaf5 feat(OpenAPI): disable Swagger and OpenAPI specs in prod 2026-06-01 23:18:03 +02:00
phundrak ad4133cf3d chore(deps): update dependencies 2026-06-01 23:15:39 +02:00
phundrak 17c916445e fix(nix): update outdated substituter 2026-06-01 22:53:14 +02:00
phundrak e72b6330c2 chore: better action workflow
Publish Docker Images / build-docker (push) Successful in 11m9s
Publish Docker Images / coverage-and-sonar (push) Successful in 11m47s
Publish Docker Images / push-docker (push) Successful in 30s
2026-02-04 21:50:32 +01:00
phundrak 7742f2db08 fix(README): update badges on README 2026-02-04 20:53:18 +01:00
phundrak 67b2e64b32 fix(contact): ignore empty honeypot values even if String exists 2026-02-04 20:53:18 +01:00
phundrak cffdab1be6 fix(nix): remove unused self value 2026-02-04 20:53:18 +01:00
phundrak ce28426075 chore: rename project to bakit
Publish Docker Images / build-and-publish (push) Successful in 13m40s
2025-11-20 11:01:55 +01:00
phundrak c46ab8397c style: fix some clippy errors
Publish Docker Images / build-and-publish (push) Has been cancelled
2025-11-20 10:51:48 +01:00
phundrak daa92328c5 docs(README): open links in new tabs 2025-11-20 10:51:48 +01:00
phundrak 2f0ebc8144 chore: add Sonar analysis 2025-11-16 02:12:21 +01:00
phundrak 797ab461ab feat: send confirmation email to sender
When users submit a contact form, they now receive a confirmation
email acknowlledging receipt of their message. The backend also
continues to send a notification email to the configured recipient.

If the backend fails to send the acknowledgement email to the sender,
it will assume the email is not valid and will therefore not transmit
the contact request to the configured recipient.

Changes:
- Refactor `send_email()` to `send_emails()` that sends two emails:
  - Confirmation email from the submitter
  - Notification email to the configured recipient
- Add `From<T>` implementations of various errors for new error type
  `ContactError`.
- Errors now return a translation identifier for the frontend.
2025-11-16 02:12:21 +01:00
phundrak 71c4cf1061 chore: separate backend from frontend
Publish Docker Images / build-and-publish (push) Failing after 9m29s
2025-11-15 14:07:12 +01:00
phundrak 9f1d4db0de feat: fill pages 2025-11-13 22:13:40 +01:00
phundrak 3f828a754b feat(frontend): main page 2025-11-11 19:12:03 +01:00
phundrak 89c7588883 feat(backend): build backend with Nix and add CI 2025-11-06 09:27:39 +01:00
phundrak e2b975fa12 feat(backend): redact email password in logs 2025-11-06 09:27:39 +01:00
phundrak def25632d1 feat(backend): add rate limiting to the backend’s API 2025-11-06 09:27:39 +01:00
phundrak d0642d031b feat(backend): relay contact requests to SMTP server 2025-11-06 09:27:39 +01:00
phundrak 007c3d1c18 feat: initialization migration to Nuxt + Backend
This commit initializes both the Nuxt frontend and the Rust backend of
the new version of phundrak.com
2025-11-06 09:27:39 +01:00
phundrak cc62d0bb95 chore: deploy to Cloudflare Pages 2025-02-09 12:11:44 +01:00
phundrak 727ec58600 chore: update vuepress and plugins 2025-02-09 11:57:54 +01:00
phundrak 333b7a7562 docs: update mastodon link 2024-11-17 14:29:45 +01:00
phundrak baf999ea1c docs: update resume 2024-10-01 23:20:02 +02:00
phundrak 9a92f57986 chore: update metadata 2024-07-09 20:45:36 +02:00
phundrak c8ce7ca6da chore(package.json): remove unused packages 2024-06-20 09:33:58 +02:00
phundrak d54aabd621 refactor: rework API loader and caching
This commit removes dependency on rxjs.

It also implements better composables to handle data fetching from
remote APIs and caching these values more transparently.

This commit also switches from yarn to npm

It also switches to the official Umami plugin
2024-06-20 09:27:59 +02:00
phundrak 24d558e0f5 test 2024-02-26 07:38:38 +01:00
phundrak bc36bdec90 feat(umami): switch to dedicated Vuepress plugin 2024-02-26 06:51:54 +01:00
phundrak 1b54860f93 docs(find-me): Update Discord handle
Update content/en/find-me.org
Update content/find-me.org
Update content/lfn/find-me.org
2024-02-26 06:51:27 +01:00
phundrak 37f9b36b2f feat,docs: add Umami to website, update privacy pages 2024-01-27 18:25:44 +01:00
phundrak 4b447369c2 chore: switch from Drone to Gitea Actions 2024-01-27 16:55:30 +01:00
phundrak cf1147204c chore: update Vuepress, add search bar 2024-01-27 16:15:57 +01:00
phundrak 1ff33bfd64 chore: update dependencies 2023-11-03 19:48:47 +01:00
phundrak 2496bff82f fix: only subscribe once to observables 2023-11-03 19:48:47 +01:00
phundrak 6a37029e55 docs: update index and privacy 2023-11-03 19:48:47 +01:00
phundrak 2f11f5a477 docs: update index in English and French 2023-11-03 19:48:46 +01:00
phundrak b84d320908 docs: update content/lfn/index.org 2023-11-03 19:48:40 +01:00
phundrak 48ec3f49a0 docs(README): update Emacs version on badge 2023-11-03 19:48:40 +01:00
phundrak 0fa7aa7a97 docs(resume): update resume 2023-11-03 19:48:40 +01:00
phundrak 236e28c14e docs(vocal synth): update ALYS links 2023-11-03 19:48:39 +01:00
phundrak ec625ce8a5 Revert "chore: update mastodon account"
This reverts commit 5d88c1855aabe7d0cab8e8d5b9cebcea872bbbb3.
2023-11-03 19:48:39 +01:00
phundrak 4ae4912268 chore: update mastodon account 2023-11-03 19:48:39 +01:00
phundrak 7d09cfa8ef docs: update webfinger 2023-11-03 19:48:39 +01:00
phundrak fc863eab30 docs: fixed incorrect link to image 2023-11-03 19:48:39 +01:00
phundrak 1a5565a953 docs: update readme 2023-11-03 19:48:39 +01:00
phundrak c1f6a4b110 chore: add two static files
The webfinger is my general Mastodon alias.

I use sometimes the CSS files in my emails to stylize them a bit.
2023-11-03 19:48:39 +01:00
phundrak 4f0aee4c62 feat: implement Gemini export and deployment 2023-11-03 19:48:39 +01:00
phundrak 23bbcfabe3 docs: update pinned GitHub repositories 2023-11-03 19:48:39 +01:00
phundrak c19d847686 chore: add gitattributes file for orgmode detection in languages of project 2023-11-03 19:48:39 +01:00
phundrak e9d890f4dc docs: update README instructions 2023-11-03 19:48:39 +01:00
phundrak 6eb11a8e09 refactor: simplify code head generation 2023-11-03 19:48:39 +01:00
phundrak c0b7ed4984 chore: update CI 2023-11-03 19:48:34 +01:00
phundrak cc0a479550 docs: switch from Markdown to orgmode
BREAKING CHANGE: Emacs required to export orgmode files to Markdown
2023-05-11 00:19:47 +02:00
phundrak e4014d78d4 docs: fix English spelling 2023-05-08 18:30:12 +02:00
phundrak 89d2e1b9b3 feat: display API errors 2023-05-08 18:04:30 +02:00
phundrak c026ed4c6f docs: update projects page
Remove linguistics projects since it would be a duplicate of the already existing conlanging page
2023-05-08 17:39:44 +02:00
phundrak e1180f6227 docs: update find me page 2023-05-08 17:37:29 +02:00
phundrak 9ee9b2e4c2 docs: update about page 2023-05-08 17:37:29 +02:00
phundrak 40b88ee4fd feat: change order of pages, set about page to second to last 2023-05-08 17:37:29 +02:00
phundrak 8b5ce594c5 chore: update fonts 2023-05-08 17:37:20 +02:00
phundrak 937e618a7c docs: update resume 2023-05-08 16:35:33 +02:00
phundrak 1885072da2 feat: better repository card 2023-05-08 15:57:45 +02:00
phundrak 1e738b51b7 docs: better Elefen translation 2023-05-08 15:57:14 +02:00
phundrak 893544a53c docs: add credits for icons 2023-05-08 15:34:20 +02:00
phundrak 5fbab2eefc feat: add custom icons to the website
This commit adds icons from various sources as a single font file to the website. Icons can be
inserted with the new Icon component.
2023-05-08 15:33:22 +02:00
phundrak 9641f40f65 feat: fix missing privacy in sidebar
This commit not only fixes the missing privacy page in the sidebar when the website is in English or
Elefen, but it also simplifies listing all pages available on the website regardless of the
language.
2023-05-08 14:44:10 +02:00
phundrak 158b61e57c docs: fix headings in project pages 2023-05-08 13:22:18 +02:00
phundrak a025f39d5a feat: add link on repository cards to repos 2023-05-08 13:16:58 +02:00
phundrak af8ae8aea2 docs: fix typos 2023-05-08 13:16:29 +02:00
phundrak a92580cdd3 docs: separate about and privacy pages 2023-05-08 13:16:10 +02:00
phundrak 09971c0f24 docs: update projets pages 2023-05-08 12:48:56 +02:00
phundrak 1e3e15ab4e feat: add possibility to list specific repositories
ListRepositories will now fetch repos with FetchRepositories only if no repositories are already
passed to the component in its default slot.
2023-05-08 12:48:56 +02:00
phundrak 1678100198 feat: improve caching of individual repositories
This commit adds the possibility to provide to the caching component data already known and to be
cached immediately without the need of a callback function. This allows caching individual
repositories without having to rely on additional API calls. However, repos can also be retrieved
individually from the GitHub API based on their full name.
2023-05-08 11:19:41 +02:00
phundrak e0bcdb6dd3 refactor(cache): remove unused elements in Cache's script 2023-05-08 10:37:39 +02:00
phundrak 85da82cd70 feat(cache): improve error message in console
No need to try and give the data found in localStorage, just say what went wrong and move on.
2023-05-08 10:36:19 +02:00
phundrak e02a336353 docs: update projects page to use new components 2023-05-08 03:43:36 +02:00
phundrak 4927ef369a fix: remove debug console.log 2023-05-08 03:40:59 +02:00
phundrak 620296d22f fix: also apply margin to loader 2023-05-08 03:38:17 +02:00
phundrak fea30d5bea feat: nicer styling of repositories and repositories lists 2023-05-08 03:35:28 +02:00
phundrak de2f11f8fe feat: add loader spinner to API loader 2023-05-08 03:34:48 +02:00
phundrak 8cbd1dbf07 feat: remove unused PreviewImage component
This commit removes the PreviewImage component that hasn't been used for quite some time in the
codebase.

BREAKING CHANGE: deletion of PreviewImage component
2023-05-08 03:02:37 +02:00
phundrak 0a1e9536cd feat: handle API calls and caching through Vue components
BREAKING CHANGE: API calls and cache no longer made in their respective composable
2023-05-08 03:01:17 +02:00
phundrak 08825d870b feat: properly display GitHub repositories 2023-05-05 00:42:11 +02:00
phundrak aa82e265c8 fix: correctly update displayed repos after fetch 2023-05-05 00:38:37 +02:00