Blog został odświeżony! Po kilku latach na Hugo postanowiłem wszystko przemyśleć na nowo: nowe logo, nowy framework, nowy design. Oto historia tej przemiany.
Nowe logo: gdy SI wkracza do identyfikacji
Nowe logo zawiera teraz symbolikę sztucznej inteligencji:
- Sieci neuronowe widoczne po lewej stronie, z ich świetlnymi połączeniami w różowym i niebieskim kolorze
- Tekst “AI” dodany wyraźnie, aby podkreślić tę wymiar
- Obwody drukowane zintegrowane w projekcie, przywołujące hardware napędzający modele
- Organiczny kształt sugerujący jednocześnie mózg i serce — fuzję inteligencji i pasji
To nowe logo zostało wygenerowane przy pomocy SI — logiczne dla bloga o SI, który teraz masowo korzysta z tych narzędzi na co dzień, by przyspieszyć pracę.
Migracja z Hugo do Astro
Dlaczego zmiana?
Miałem ochotę na zmianę. Zaczynałem bloga z minimalnymi środkami: darmowym szablonem Hugo znalezionym w sieci i moimi artykułami. Trochę go już ręcznie dostosowałem, a potem z pojawieniem się SI mogłem pójść dalej. Ale teraz, z agentami kodu jak Claude Code — to szaleństwo! Generowanie kodu stało się tak proste, że pomyślałem, że bardziej nowoczesny i konfigurowalny framework jest w moim zasięgu. Jako ktoś bardziej DevOps/infra niż frontendowy deweloper, postanowiłem się za to zabrać.
Przed/po są naprawdę różne. Nowy design jest ładny, czysty, nowoczesny — i to w obu motywach (jasnym i ciemnym).
Proces migracji
Migracja przebiegła dość szybko, w ciągu dwóch wieczorów, we współpracy z Claude Code.
Oto jak to wyglądało:
- Ustalenie planu: poprosiłem Claude Code o zaproponowanie strategii migracji, używając MCP Astro by mieć dostęp do oficjalnej dokumentacji
- Przygotowanie projektu Astro: utworzenie struktury, konfiguracja i18n dla 15 języków
- Migracja treści FR: wszystkie artykuły, projekty i strony przekonwertowane z formatu Hugo do Astro/MDX
- Migracja assetów: logotypy, kluczowe obrazy
- Nowy design: kompletna przebudowa layoutów (Header, Footer, ArticleCard…) z nowoczesnym stylem
- Integracja aktualności: wcześniej zacząłem osobny serwis Astro poświęcony aktualnościom o SI. Ostatecznie połączyłem aktualności z blogiem dla większej spójności — wszystko w jednym miejscu. Claude przeniósł treści i dostosował zautomatyzowany workflow tworzenia artykułów
- Tłumaczenie masowe: skorzystałem z tej migracji, by odświeżyć wszystkie tłumaczenia za pomocą mojego usprawnionego skryptu Python (patrz kolejna sekcja)
- Testy w przeglądarce: Claude testował stronę na bieżąco, by naprawiać problemy na każdym etapie
Automatyczne tłumaczenie na 15 języków
Używam mojego skryptu Python ai-powered-markdown-translator od stycznia 2024. Projekt mocno się rozwinął od tego czasu — piszę o tym w kilku artykułach na tym blogu.
Duże wyzwanie
Mógłbym ponownie wykorzystać stare tłumaczenia, ale chciałem sprawdzić mój skrypt w prawdziwym wyzwaniu: przetłumaczyć całą zawartość bloga za jednym zamachem. Najpierw testowaliśmy na 2–3 artykułach i kilku językach, żeby dopracować kod Pythona, potem poprosiłem Claude Code o stworzenie skryptu bash uruchamiającego tłumaczenia masowo — 10 plików równolegle. Gdy skrypt był zatwierdzony, uruchomiliśmy pełny batch.
Ulepszenia skryptu
Przy tej migracji mogłem dodać istotne funkcje:
- Option
--keep_filename: zachowanie tej samej nazwy pliku w wyjściu - Support
.env: brak konieczności ręcznego eksportowania kluczy API - Zachowanie kodu inline: backticky nie giną już w trakcie tłumaczenia
- Tryb ekonomiczny: używanie tańszych modeli dla dużych wolumenów
Skrypt obsługuje kilku providerów (OpenAI, Anthropic, Mistral, Gemini) i inteligentnie zarządza blokami kodu, formułami LaTeX oraz frontmatter YAML.
Statystyki
Dla tego bloga, oto liczby:
- 22 artykuły na blogu
- 4 projekty
- × 14 języków = 364 przetłumaczone pliki
- 0 nieudanych tłumaczeń
Strategia wdrożenia
Aby migrować bez ryzyka, stworzyłem równoległą infrastrukturę na AWS:
- Nowy bucket S3 dedykowany stronie Astro
- Nowa dystrybucja CloudFront
- Nowy certyfikat ACM
- DNS podglądowy (
preview.jls42.org) do testów w warunkach rzeczywistych
Takie podejście pozwoliło mi mieć oba serwisy równolegle podczas testów. Po weryfikacji przełączenie nastąpiło przez Route 53 — z możliwością natychmiastowego rollbacku. Wszystko poszło gładko, stara infrastruktura mogła zostać usunięta.
Co ujawnia ten projekt
Ta migracja ilustruje mój sposób pracy:
- Opanowanie agentów kodu: po miesiącach używania potrafię wystarczająco korzystać z tych narzędzi, by powierzyć im kompletny projekt migracji
- Wyjście ze strefy komfortu: jako profil DevOps/infra, wejście w nowoczesny framework webowy było wyzwaniem — i to właśnie czyni projekt interesującym
- Eksperymentowanie z SI: chciałem sprawdzić, czy mogę zrobić wszystko tylko za pomocą promptów — i tak, udało się. Wszystko zostało zrealizowane z Claude Code, Gemini CLI i Codex (ale głównie Claude Code)
- Automatyzacja: nigdy nie robić ręcznie tego, co może zrobić skrypt, i mieć automatyczny workflow weryfikacji
- Open source: tłumacz jest dostępny na GitLabie
Dodałem też sekcję z aktualnościami o SI na blogu — opowiem o tym w dedykowanym artykule.
Dziękuję za przeczytanie! Jeśli masz pytania lub uwagi, nie wahaj się ze mną skontaktować. Powodzenia i do zobaczenia na blogu!
Niniejszy dokument został przetłumaczony z wersji fr na język pl przy użyciu modelu gpt-5-mini. Aby uzyskać więcej informacji na temat procesu tłumaczenia, zobacz https://gitlab.com/jls42/ai-powered-markdown-translator