From 68c90efb35aeb8159c094002470349644e0cd962 Mon Sep 17 00:00:00 2001 From: Andrea Lisi Date: Tue, 22 Sep 2026 23:40:26 +0200 Subject: [PATCH] content: align bilingual portfolio and CVs, add Deepfield --- .gitattributes | 1 + README.md | 182 +++++++++++---------------------- public/andrea-lisi-cv-it.pdf | Bin 11520 -> 8347 bytes public/andrea-lisi-cv.pdf | Bin 11223 -> 8253 bytes public/deepfield-map.png | Bin 0 -> 769315 bytes public/deepfield-ship.png | Bin 0 -> 829962 bytes scripts/README-cv.md | 33 ++++++ scripts/check_cv.py | 63 ++++++++++++ scripts/cv-en.json | 130 +++++++++++++++++++++++ scripts/cv-it.json | 130 +++++++++++++++++++++++ scripts/generate_cv_it.py | 147 ++++++++++++++++++++++++++ src/components/home-page.astro | 2 +- src/components/projects.astro | 16 ++- src/components/projects.css | 14 +++ src/i18n/en.ts | 54 +++++++--- src/i18n/it.ts | 54 +++++++--- src/i18n/types.ts | 6 +- tests/e2e/homepage.spec.ts | 44 ++++++-- tests/unit/i18n.test.ts | 70 ++++++++++++- 19 files changed, 780 insertions(+), 166 deletions(-) create mode 100644 .gitattributes create mode 100644 public/deepfield-map.png create mode 100644 public/deepfield-ship.png create mode 100644 scripts/README-cv.md create mode 100644 scripts/check_cv.py create mode 100644 scripts/cv-en.json create mode 100644 scripts/cv-it.json create mode 100644 scripts/generate_cv_it.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d72fd52 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.pdf binary diff --git a/README.md b/README.md index 1b395ef..8736020 100644 --- a/README.md +++ b/README.md @@ -1,142 +1,82 @@ -# andrea-lisi.com · v2 "Mission Console" +# andrea-lisi.com -Personal portfolio, second iteration. One-page dark site with a technical HUD aesthetic: -mono labels, corner crosshairs, a sticky status bar, an animated signal-wave canvas and a -procedurally generated three.js asteroid whose faces pulse with warm colors. +Personal portfolio of Andrea Lisi, Senior Software Engineer. Experience, technical +skills, personal projects and an overview of how I use AI in software development. +Available in English and Italian, with downloadable CVs. ## Stack -- **[Astro](https://astro.build/)** — static output, partial hydration via React islands. -- **React 19** — only for the animated islands (`SignalCanvas`, `Asteroid`). -- **[three.js](https://threejs.org/)** — the hero asteroid: displaced icosahedron, pulsing - vertex-color patches, orbiting fragments and a gold dust ring, scroll-linked rotation. -- **CSS** — `tokens.css` is the variable source of truth, scoped Astro `