$ man cygal.net
A meta-page about the site itself — what it's built with, where it lives, what it deliberately doesn't do. Meta-strona o samej stronie — z czego zbudowana, gdzie żyje, czego świadomie nie robi.
stackstack
- Astro 6 — static site generator. Zero JS framework runtime; everything renders to plain HTML at build time. Astro 6 — generator statycznych stron. Zero JS-frameworka na runtime; wszystko jest renderowane do czystego HTML-a w trakcie buildu.
- Self-hosted fonts — JetBrains Mono & Lora woff2 served from this domain, not Google CDN. Własne fonty — JetBrains Mono i Lora w woff2 serwowane z tej domeny, nie z Google CDN.
- Vanilla CSS — no Tailwind, no CSS-in-JS, no preprocessor. Custom properties + scoped
<style>blocks + one global stylesheet. Czyste CSS — bez Tailwinda, bez CSS-in-JS, bez preprocesorów. Custom properties + scopowane bloki<style>+ jeden globalny stylesheet. - Inline JS only — three tiny scripts: language toggle, dropdown tap-to-open, and a Konami easter egg. Total < 2 KB. Tylko inline JS — trzy malutkie skrypty: przełącznik języka, tap-to-open w dropdownie i easter-egg z Konami. Łącznie < 2 KB.
- Content Collections — blog posts as Markdown files in
src/content/blog/; PL/EN versions linked by a sharedtranslationKey. Content Collections — wpisy na blogu jako pliki Markdown wsrc/content/blog/; wersje PL/EN sparowane przez wspólnytranslationKey. - Shiki — syntax highlighting for code blocks (Tokyo Night theme). Shiki — podświetlanie składni w blokach kodu (motyw Tokyo Night).
hostinghosting
- Server:
hekate— OVH bare-metal box; also runsmail.systeam.pl,ssijpale.me,systeam.pland a few sibling vhosts. Serwer:hekate— OVH dedyk; trzyma teżmail.systeam.pl,ssijpale.me,systeam.pli parę innych vhostów. - Web stack: Apache 2.4, vhost managed by ISPConfig 3 → static files in
/var/www/cygal.net/web/. Stack WWW: Apache 2.4, vhost prowadzony przez ISPConfig 3 → pliki statyczne w/var/www/cygal.net/web/. - TLS: Let's Encrypt cert auto-renewed via certbot. TLS: certyfikat Let's Encrypt odnawiany automatycznie przez certbota.
- Deploy: manual
npm run build→rsyncover SSH. CI later, when post cadence justifies the setup. Deploy: ręcznynpm run build→rsyncprzez SSH. CI doczepiamy, jak tempo wpisów to uzasadni. - Backups before each deploy:
tarof the current docroot to/tmp, so any deploy can be undone with one command. The source repo is the durable artifact. Backup przed każdym deployem:tarobecnego docroota do/tmp, dzięki czemu cofnięcie wymaga jednej komendy. Trwałym artefaktem jest źródłowe repo.
what this site does NOT doczego strona NIE robi
- No tracking, no analytics, no cookies. Not Plausible, not Umami, nothing. If I ever want a number, I'll add a self-hosted log-only counter. Bez śledzenia, bez analytics, bez ciastek. Ani Plausible, ani Umami — nic. Jak kiedyś będę chciał jakąś liczbę, postawię sobie własny licznik na podstawie logów.
- No third-party scripts. No tag managers, no embedded widgets, no fonts pulled from a CDN. Bez skryptów z trzecich domen. Bez tag managerów, bez wbudowanych widgetów, bez fontów z CDN-u.
- No comments section. Drop me an email at pawel@cygal.net if you want to argue about something — slower replies, better signal. Bez sekcji komentarzy. Jak chcesz się o coś pokłócić — pisz na pawel@cygal.net. Wolniejsze odpowiedzi, lepszy sygnał.
- No newsletter sign-up. The RSS feed is the subscription. Bez zapisu na newsletter. Subskrypcja to kanał RSS.
- No JS framework. Pages weigh ~25 KB compressed. They open instantly even on a flaky connection. Bez JS-frameworka. Strony ważą ok. 25 KB po kompresji. Otwierają się od razu nawet na słabym łączu.
creditspodziękowania
- Astro for being the framework I keep recommending. Astro — framework, który ciągle polecam.
- JetBrains Mono & Lora for the typography. JetBrains Mono i Lora — za typografię.
- Shiki + Tokyo Night theme. Shiki + motyw Tokyo Night.
- /now & uses.tech for the page templates I openly cribbed. /now i uses.tech — za szablony stron, które otwarcie zerżnąłem.