Commit Graph

131 Commits

Author SHA1 Message Date
e202376998 fix(contact): update metadata of contact page 2026-02-05 13:06:38 +01:00
89afe59a00 chore(deps): update dependencies 2026-02-05 13:06:38 +01:00
1162e4e85e build: configure Cloudflare Pages deployment
- Add wrangler CLI and workerd runtime as dev dependencies
- Configure nitro prerender with autoSubfolderIndex disabled for Pages
- Add Turnstile validation endpoint for server-side CAPTCHA verification
- Add baseline-browser-mapping for browser compatibility
2026-02-05 13:06:38 +01:00
70e4ce8b4b test: add comprehensive test suite for components, composables, and pages
Add 16 new test files covering:
- Composables: useBackend, useMeta, useDataJson
- Type classes: QueryResult, ResumeContent
- UI components: BadgeList, BadgeListCard
- Navbar components: LanguageSwitcher, ThemeSwitcher
- App components: AppNavbar, AppFooter
- VocalSynth components: Projects, Tools
- Pages: contact, resume, [...slug]

Tests focus on pure logic, interfaces, and component rendering where
possible, avoiding complex mocking of Nuxt auto-imported composables.

Total: 174 tests across 17 test files (including existing useApi tests).
2026-02-05 13:06:38 +01:00
e6a268bafd docs(content): add Keine Tashi UTAU project page
Add bilingual (EN/FR) content pages documenting the BSUP01 Keine Tashi
UTAU vocal library project, including character information, vocal
library specifications, download links, and usage licence.

Also add .small-img CSS class for floating images in content pages.
2026-02-05 13:06:38 +01:00
13581d7f2f style(content): normalise italic markdown syntax in languages pages
Change *italic* to _italic_ for consistency across English and French
languages content pages.
2026-02-05 13:06:38 +01:00
2a058b75bd refactor(tests): remove unnecessary parameters from useApi tests
Simplify POST, PUT, and PATCH test calls by removing redundant empty
object and boolean parameters.
2026-02-05 13:06:38 +01:00
f7c4b8d6da feat(resume,vocal-synth): add clickable links to tools and technologies
- Add Tool interface with name and optional link properties
- Update BadgeList and BadgeListCard components to render links
- Extract VocalSynthPage types to dedicated module
- Migrate resume.json and vocal-synthesis.json data to use Tool format
- Add links to all tools, frameworks, and technologies in resume
2026-02-05 13:06:38 +01:00
8052ccf0d5 docs(content): add languages & worldbuilding page content
Cover conlanging projects: Eittlandic (Old Norse-derived language
for fictional Nordic country), Proto-Ñyqy (proto-language of the
Ñyqy family), and Zikãti (conlanging experiment)
2026-02-05 13:06:38 +01:00
07917a500b fix(tests): properly mock $fetch in useApi tests
Replace vi.mocked($fetch) with a properly stubbed global mock
using vi.stubGlobal() to fix test failures
2026-02-05 13:06:38 +01:00
37972aa660 feat(contact): add toast notifications for form feedback
- Add toast notifications for contact form success/error responses
- Add toast notifications for backend errors in AppFooter
- Add accessibility explanation for honeypot field
- Add loading state to contact form submit button
- Add i18n translations for toast messages (en/fr)
- Fix honeypot input missing v-model binding
2026-02-05 13:06:38 +01:00
10e51b5da4 feat(pages): add contact page 2026-02-05 13:06:38 +01:00
0b65e17903 feat(useApi): better interface 2026-02-05 13:06:38 +01:00
355653e4f2 fix: incorrect types now fixed 2026-02-05 13:06:38 +01:00
3c3e1b67fd chore: separate frontend from backend 2026-02-05 13:06:38 +01:00
9f1d4db0de feat: fill pages 2025-11-13 22:13:40 +01:00
3f828a754b feat(frontend): main page 2025-11-11 19:12:03 +01:00
89c7588883 feat(backend): build backend with Nix and add CI 2025-11-06 09:27:39 +01:00
e2b975fa12 feat(backend): redact email password in logs 2025-11-06 09:27:39 +01:00
def25632d1 feat(backend): add rate limiting to the backend’s API 2025-11-06 09:27:39 +01:00
d0642d031b feat(backend): relay contact requests to SMTP server 2025-11-06 09:27:39 +01:00
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
cc62d0bb95 chore: deploy to Cloudflare Pages 2025-02-09 12:11:44 +01:00
727ec58600 chore: update vuepress and plugins 2025-02-09 11:57:54 +01:00
333b7a7562 docs: update mastodon link 2024-11-17 14:29:45 +01:00
baf999ea1c docs: update resume 2024-10-01 23:20:02 +02:00
9a92f57986 chore: update metadata 2024-07-09 20:45:36 +02:00
c8ce7ca6da chore(package.json): remove unused packages 2024-06-20 09:33:58 +02:00
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
24d558e0f5 test 2024-02-26 07:38:38 +01:00
bc36bdec90 feat(umami): switch to dedicated Vuepress plugin 2024-02-26 06:51:54 +01:00
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
37f9b36b2f feat,docs: add Umami to website, update privacy pages 2024-01-27 18:25:44 +01:00
4b447369c2 chore: switch from Drone to Gitea Actions 2024-01-27 16:55:30 +01:00
cf1147204c chore: update Vuepress, add search bar 2024-01-27 16:15:57 +01:00
1ff33bfd64 chore: update dependencies 2023-11-03 19:48:47 +01:00
2496bff82f fix: only subscribe once to observables 2023-11-03 19:48:47 +01:00
6a37029e55 docs: update index and privacy 2023-11-03 19:48:47 +01:00
2f11f5a477 docs: update index in English and French 2023-11-03 19:48:46 +01:00
b84d320908 docs: update content/lfn/index.org 2023-11-03 19:48:40 +01:00
48ec3f49a0 docs(README): update Emacs version on badge 2023-11-03 19:48:40 +01:00
0fa7aa7a97 docs(resume): update resume 2023-11-03 19:48:40 +01:00
236e28c14e docs(vocal synth): update ALYS links 2023-11-03 19:48:39 +01:00
ec625ce8a5 Revert "chore: update mastodon account"
This reverts commit 5d88c1855aabe7d0cab8e8d5b9cebcea872bbbb3.
2023-11-03 19:48:39 +01:00
4ae4912268 chore: update mastodon account 2023-11-03 19:48:39 +01:00
7d09cfa8ef docs: update webfinger 2023-11-03 19:48:39 +01:00
fc863eab30 docs: fixed incorrect link to image 2023-11-03 19:48:39 +01:00
1a5565a953 docs: update readme 2023-11-03 19:48:39 +01:00
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
4f0aee4c62 feat: implement Gemini export and deployment 2023-11-03 19:48:39 +01:00