Funkcjonalności
Co Kolofon potrafi — funkcja po funkcji, każda pod własnym numerem. Nie lista haseł z ulotki, tylko opis tego, co dana rzecz robi, czego nie robi i dlaczego została zbudowana akurat tak. Uwaga: silnik jest w budowie i zmienia się szybciej, niż ta seria zdąży opisać. Numer opisuje stan z dnia wpisu, nie obietnicę na przyszłość — niektóre z tych funkcji przestaną istnieć, a innych dziś jeszcze nie ma w planach.
Kolofon · 14 sierpnia 2026 · wstępna

01 · Treść w repozytorium
Wpisy leżą jako pliki w repozytorium autora. Nie ma panelu redakcyjnego, bo nie ma czego administrować — jest katalog z tekstami. Wpis to plik. Ma tytuł, datę, akapity i kilka pól opisowych, a leży w katalogu swojej serii razem z resztą. Wdrożenie bierze te pliki takimi, jakie są — nie ma między nimi a stroną żadnej bazy, do której trzeba by je najpierw zaimportować. Wynika z tego kilka rzeczy naraz. Historia zmian jest historią repozytorium, więc widać, kto co poprawił i kiedy. Kopia zapasowa to kopia katalogu. Wywóz do innego narzędzia nie wymaga eksportu ani prośby o pomoc — pliki już są w formacie, który da się czytać bez tego silnika. Czego nie ma: panelu do pisania w przeglądarce. To jest świadomy koszt. Autor, który chce edytora z podglądem, dostaje go w swoim własnym narzędziu; silnik nie próbuje być tekstowym procesorem, bo każde takie narzędzie zbudowane przy okazji jest gorsze od tych, które robią wyłącznie to. Zysk jest taki, że nie istnieje stan, który da się stracić po cudzej stronie. Serwis można postawić od nowa z samego repozytorium, a repozytorium leży tam, gdzie autor je trzyma.
Kolofon · 14 sierpnia 2026 · wstępna

02 · Serie i strumień
Każdy wpis należy do serii i ma własne miejsce w jej indeksie. Strumień zbiera wszystkie serie w jedną listę od najnowszego wpisu. Seria to wątek: dziennik, cykl zdjęć, notatki z budowy. Ma nazwę, opis, zdanie wprowadzające i własny adres, pod którym leżą wszystkie jej wpisy w kolejności od najnowszego. Wpis bez serii nie istnieje — przynależność jest obowiązkowa, bo bez niej strona zamienia się w jeden nieprzerwany ciąg. Strumień robi rzecz odwrotną: składa wpisy ze wszystkich serii w jedną listę, znów od najnowszego. Czytelnik, który przyszedł z zewnątrz, dostaje tam obraz całego serwisu; czytelnik, który wie, po co przyszedł, idzie prosto do serii. Obie listy są stronicowane i biorą wpisy z tego samego miejsca w kodzie, więc nie mogą się rozjechać. Kolejność serii w nawigacji ustala pole `order` w pliku serii, a nie przypadek alfabetyczny.
Kolofon · 14 sierpnia 2026 · wstępna

03 · Publikacja zaplanowana
Wpis z datą w przyszłości leży w repozytorium i pokazuje się dopiero o swojej godzinie. Bez zewnętrznego harmonogramu i bez ponownego wdrożenia. Pole daty jest momentem publikacji, nie znacznikiem napisania. Wpis, którego data jeszcze nie minęła, jest w repozytorium, ale nie ma go na stronie: nie pokazuje się w serii, w strumieniu, w kanale ani w mapie strony, a wejście pod jego adres kończy się tak samo jak wejście pod adres nieistniejący. Praktyczna konsekwencja jest taka, że kolejka publikacji to zwykłe pliki. Można przygotować trzy miesiące wpisów naraz, wgrać je jednym wdrożeniem i wrócić do pisania — każdy wyjdzie o swojej godzinie, bez zadania w kalendarzu i bez usługi, która musi być tego dnia sprawna. Godzina jest brana serio, nie tylko data. Wpis z godziną szóstą rano pokaże się o szóstej, a nie o północy, więc harmonogram da się dopasować do pory, o której czytelnicy faktycznie zaglądają. Jedyna pułapka jest odwrotna do oczekiwanej: wpis, który ma się pokazać natychmiast, musi mieć datę z przeszłości. Data ustawiona na „teraz" w momencie pisania bywa o minutę do przodu i wtedy wpis milczy do tej minuty.
Kolofon · 14 sierpnia 2026 · wstępna

04 · Kanał z pełną treścią
Kanał podaje pełną treść wpisu i obraz w trzech zapisach naraz — tak, żeby czytniki i automaty dystrybucyjne miały z czego złożyć podgląd. Kanał podaje pełną treść wpisu, nie pierwsze zdanie z odnośnikiem „czytaj dalej". Czytelnik, który wybrał czytnik, ma prawo przeczytać tam całość; wyciąganie go na stronę po każdy akapit jest zabiegiem sprzedażowym, nie wygodą. Obraz jest zapisany na trzy sposoby jednocześnie, z adresem bezwzględnym. Nie dlatego, że tak jest ładniej, tylko dlatego, że czytniki i automaty czytają różne pola: jeden bierze pierwsze, drugi drugie, trzeci nie weźmie żadnego, jeśli adres jest względny. Miniaturą jest lekki wariant podglądowy, który ma każdy wpis — także tekstowy, bez zdjęcia. Kanał przyjmuje parametr liczby wpisów, więc ten sam adres obsługuje dwa różne zastosowania: krótką listę dla czytnika i długą dla narzędzia, które ma zobaczyć całe archiwum. Adres bez parametru zostaje przy wartości domyślnej i nie zmienia się przy wydaniach — pod nim siedzą automatyzacje, które nie znoszą niespodzianek.
Kolofon · 14 sierpnia 2026 · wstępna

05 · Mapa strony i opis dla wyszukiwarek
Mapa strony składa się sama z opublikowanych wpisów, a każda strona niesie własny tytuł, opis i adres kanoniczny. Mapa strony powstaje z tych samych danych co strumień, więc nie ma jak się rozjechać z rzeczywistością. Wpis zaplanowany na przyszły tydzień do niej nie trafia, wpis ukryty razem z serią też nie, a wpis opublikowany trafia bez niczyjej pamięci o tym, żeby go dopisać. Każda strona niesie własny tytuł i opis. Wpis może podać opis osobno — inny niż zajawka widoczna na liście — bo zdanie, które zachęca czytelnika na stronie, i zdanie, które ma sens w wynikach wyszukiwania, to rzadko to samo zdanie. Gdy osobnego opisu nie ma, silnik bierze zajawkę. Adres kanoniczny jest wystawiany zawsze. Przy rodzinie instancji językowych to nie jest szczegół: bez niego dwie wersje tego samego tekstu zaczynają ze sobą konkurować w wynikach zamiast się uzupełniać.
Kolofon · 14 sierpnia 2026 · wstępna

06 · Karty podglądu
Każdy wpis ma obraz podglądu — zdjęciowy dostaje lekki wariant swojego kadru, tekstowy kartę złożoną z najmocniejszego zdania. Odnośnik wysłany w komunikatorze rozwija się w kartę z obrazem. Jeśli obrazu nie ma, karta jest szara i odnośnik wygląda na podejrzany — a wpis czysto tekstowy nie ma żadnego zdjęcia z natury rzeczy. Wpis ze zdjęciem dostaje jego lekki wariant, około tysiąca dwustu pikseli i poniżej dwustu kilobajtów. Pełny kadr bywa za ciężki: część komunikatorów po prostu go pomija i wraca do szarej karty, mimo że obraz jest podany poprawnie. Wpis tekstowy dostaje kartę złożoną z jednego zdania — tego, które autor wskazał jako najmocniejsze w tekście. To nie jest ozdobnik, tylko zamiennik zdjęcia: karta ma dać czytelnikowi powód, żeby kliknąć, a cytat robi to lepiej niż logo powtórzone przy każdym wpisie. Wpisy, które takiego zdania nie wskazują, dostają domyślną grafikę serwisu.
Kolofon · 14 sierpnia 2026 · wstępna

07 · Aplikacja
Serwis da się zainstalować jak aplikację, z ikoną na ekranie głównym. Trybu offline nie ma: strona ładuje się wtedy, gdy czytelnik o nią prosi. Strona zgłasza się jako aplikacja instalowalna: ikona na ekranie, własny kolor, otwarcie bez paska adresu. To nie jest osobna aplikacja do wydania w sklepie — to ta sama strona, tylko zainstalowana. Aktualizuje się razem z serwisem i nie wymaga niczyjej zgody na publikację. Trybu offline nie ma. Do wersji 0.13.24 aplikacja pobierała na zapas pakiet ostatnich wpisów razem z obrazami, żeby dało się czytać bez zasięgu. W praktyce każda pierwsza wizyta wywoływała w tle setki żądań i zjadała czytelnikowi dane komórkowe, a na planie z limitem procesora potrafiła zablokować stronę samemu czytelnikowi. Od 0.13.25 strona ładuje się wtedy, gdy czytelnik o nią prosi, i niczego nie pobiera na zapas; service worker służy już tylko powiadomieniom. Jest też mechanizm, który zauważa, że wdrożenie poszło dalej niż otwarta karta. Aplikacja zostawiona na tydzień w tle potrafiła pokazywać tydzień starą wersję i nie wiedzieć o tym; teraz sprawdza znacznik wydania i odświeża się sama.
Kolofon · 14 sierpnia 2026 · wstępna

08 · Powiadomienia o nowym wpisie
Czytelnik może włączyć powiadomienia o nowych wpisach jednym kliknięciem, bez podawania adresu e-mail. Wysyłka idzie w momencie publikacji. Zapis na powiadomienia to jedno kliknięcie i zgoda przeglądarki. Nie ma formularza, adresu e-mail ani potwierdzenia w skrzynce — czytelnik nie zostawia niczego, czym dałoby się go potem zaadresować gdzie indziej. Wysyłka jest związana z publikacją, nie z wdrożeniem. Wpis zaplanowany na sobotę rano wysyła powiadomienie w sobotę rano, choć wgrany został w środę. Zadanie okresowe sprawdza, czy od ostatniego przebiegu coś wyszło, i tylko wtedy cokolwiek wysyła. Zgody trzymane są w bazie serwisu, razem z resztą jego danych. Nie ma tu zewnętrznej usługi, która prowadziłaby listę odbiorców i mogła ją komuś udostępnić — co jest ważniejsze, niż się wydaje, przy serwisach pisanych pod pseudonimem.
Kolofon · 14 sierpnia 2026 · wstępna

09 · Oceny czytelników
Czytelnicy oceniają wpisy w gwiazdkach. Zanim pojawią się pierwsze głosy, wpis pokazuje ocenę wstępną autora, opisaną jako wstępna. Ocena jest w gwiazdkach i nie wymaga konta. Głos zapisuje się w bazie serwisu, a czytelnik widzi natychmiast średnią i liczbę głosów. Pytanie pod gwiazdkami układa instancja — „Oceń ten kadr" i „Czy ten wpis był zrozumiały?" to dwa różne pytania i dwie różne serie. Nowy wpis ma problem, którego nie da się rozwiązać zbieraniem głosów: przez pierwsze dni nie ma ich wcale, a pusty blok oceny wygląda gorzej niż jego brak. Dlatego autor może nadać ocenę wstępną, wyraźnie opisaną jako wstępna, która ustępuje miejsca czytelnikom, gdy tylko zagłosują. To jest deklaracja, nie manipulacja: autor mówi, co sam sądzi o swoim tekście, i zostawia to na widoku. Wpis, któremu sam wystawił trzy gwiazdki, mówi czytelnikowi coś prawdziwego o serii.
Kolofon · 14 sierpnia 2026 · wstępna

10 · Licznik odsłon
Wpisy mają licznik odsłon liczony po stronie serwisu, bez zewnętrznych skryptów śledzących i bez przekazywania czegokolwiek na zewnątrz. Odsłona zapisuje się w bazie serwisu i wyświetla przy wpisie. Nie ma tu skryptu firmy trzeciej, więc czytelnik nie jest przy okazji mierzony przez kogoś, kogo nie zapraszał, a właściciel serwisu nie oddaje nikomu obrazu swojego ruchu w zamian za wykres. Liczba przy wpisie jest informacją dla obu stron. Autor widzi, co czytają; czytelnik widzi, że tekst, na który trafił, ma już swoją publiczność albo jej nie ma. Jedno i drugie jest uczciwsze niż licznik ukryty w panelu. To jest świadomie mało: bez map cieplnych, bez ścieżek, bez profili. Serwis literacki nie potrzebuje narzędzia do optymalizacji lejka sprzedażowego, a wszystko, co ponad liczbę odsłon, kosztuje prywatnością czytelnika.
Kolofon · 14 sierpnia 2026 · wstępna

11 · Komentarze
Pod wpisami można komentować, a instancja wybiera zasadę: każdy, tylko zalogowani albo nikt. Komentarze leżą w bazie serwisu. Komentarz jest częścią serwisu, nie usługą doklejaną z zewnątrz. To znaczy, że rozmowa pod tekstem nie znika razem z cudzą firmą i nie dokłada czytelnikowi śledzenia z trzeciego serwisu. Instancja wybiera zasadę: komentuje każdy, komentują tylko zalogowani albo nie komentuje nikt. Wybór jest polem konfiguracji, nie przebudową — serwis, który zaczyna od wyłączonych komentarzy i po pół roku je otwiera, zmienia jedno słowo. Domyślnie, gdy instancja nie mówi nic, komentarze zachowują się jak przed wprowadzeniem kont: bez rejestracji, z podpisem podanym ręcznie. Starsze wdrożenia nie zmieniają więc zachowania przy podniesieniu wersji silnika.
Kolofon · 14 sierpnia 2026 · wstępna

12 · Konta czytelników
Czytelnik może założyć konto i wracać pod swoją nazwą. Sesja trzymana jest w bazie wyłącznie jako skrót, nigdy jako token. Konto daje czytelnikowi trwałą nazwę: komentarze podpisane tak samo za każdym razem, bez wpisywania podpisu od nowa. Dla serwisu z rozmową pod tekstami to różnica między dyskusją a książką gości. Logowanie idzie przez dostawców zewnętrznych albo przez adres e-mail, zależnie od tego, co instancja włączy. Nazwy zastrzeżone — na przykład pseudonim autora — da się wypisać w konfiguracji, żeby nikt nie założył konta podszywającego się pod prowadzącego serwis. Zasada, od której nie ma odstępstwa: w bazie leży wyłącznie skrót kryptograficzny tokenu sesji, nigdy sam token. Kopia bazy, która komuś wycieknie, nie pozwala podszyć się pod żadnego zalogowanego czytelnika. To jest jedna z tych decyzji, które nic nie kosztują na etapie budowy i są nie do naprawienia później. Konta są opcjonalne. Strona, która ich nie potrzebuje, zostawia je wyłączone i nie płaci za nie ani złożonością, ani obowiązkiem przechowywania czyichkolwiek danych.
Kolofon · 14 sierpnia 2026 · wstępna

13 · Dziennik zdarzeń
Serwis prowadzi własny dziennik zdarzeń: co otwarto, skąd przyszedł czytelnik, z jakiego kraju i jakiej przeglądarki. Adres sieciowy anonimizuje się po trzech miesiącach. Dziennik zapisuje zdarzenia: otwarcie wpisu, ocenę, zapis na powiadomienia, wejście z zewnątrz. Przy każdym stoi czas, kraj, przeglądarka, źródło wejścia i język. To wystarcza, żeby zobaczyć, który tekst żyje, a który tylko leży, i którym kanałem przychodzą ludzie. Adres sieciowy jest anonimizowany po trzech miesiącach — w czwartej ćwiartce adresu zostaje zero, a przy nowszym zapisie ucinana jest jego druga połowa. Reszta zdarzenia zostaje, bo statystyka sprzed roku dalej ma sens, a adres sprzed roku nie ma już do czego służyć poza identyfikacją konkretnej osoby. Całość leży w bazie serwisu. Nie ma tu narzędzia, które przy okazji budowałoby profil czytelnika na potrzeby reklamy — nie z ideologii, tylko dlatego, że serwis literacki nie ma czego z takiego profilu wyciągnąć, a czytelnik ma co stracić.
Kolofon · 14 sierpnia 2026 · wstępna

14 · Wersje językowe
Rodzina instancji językowych: każdy język ma własne wdrożenie i własną bazę, a wspólny klucz wpisu prowadzi z tekstu do jego odpowiednika. Język to osobne wdrożenie na własnej subdomenie, z własną bazą i własnym katalogiem treści. Silnik nie tłumaczy niczego i nie udaje, że wie, co jest czym — dostaje listę wersji i rozpoznaje wśród nich siebie po adresie. Wpisy łączy klucz: stały identyfikator, ten sam po obu stronach, niezależny od adresu w języku treści. Przełącznik języka prowadzi z wpisu na jego odpowiednik, a gdy odpowiednika nie ma, na stronę główną drugiej wersji zamiast w pustkę. Nie ma tu żadnej mapy adresów, którą trzeba by aktualizować ręcznie po każdej zmianie tytułu. Napisy samego interfejsu — przyciski, etykiety, stopka — są osobnym zestawem, który instancja podaje w swoim języku. Bez tego angielska strona miałaby polski przycisk instalacji, co widać było natychmiast przy pierwszej wersji obcojęzycznej.
Kolofon · 14 sierpnia 2026 · wstępna

15 · Książka do druku
Wpisy jednej serii albo całego strumienia składają się w książkę PDF gotową do druku, z okładką, spisem treści i zakładkami. Z opublikowanych wpisów powstaje tom: strona tytułowa, spis treści, nagłówki, zakładki, kody prowadzące z papieru z powrotem na stronę. Format A5, z wariantami przygotowanymi pod konkretne drukarnie, bo każda liczy marginesy po swojemu. Skład nie dzieje się w locie przy kliknięciu. Złożenie stustronicowego tomu ze zdjęciami to zadanie na kilkanaście sekund i na więcej pamięci, niż ma do dyspozycji obsługa pojedynczego żądania. Plik powstaje więc wcześniej, leży w schowku obok serwisu, a przycisk tylko go podaje. Przycisk pojawia się, gdy seria uzbiera ustaloną liczbę wpisów, i można go w ogóle nie włączać. To jest funkcja dla serii, które dorosły do formy papierowej, a nie domyślny element każdej strony.
Kolofon · 14 sierpnia 2026 · wstępna

16 · Ukrywanie serii
Serię można schować bez usuwania: zupełnie albo tylko z nawigacji, przy wpisach nadal obecnych w strumieniu. Własny adres działa w obu wariantach. Seria z jednym wpisem sprzed pół roku stoi w nawigacji na równi z tą, która wychodzi co dwa dni, i obiecuje czytelnikowi coś, czego nie dowozi. Usunięcie załatwiłoby sprawę i przy okazji zepsuło adresy, które żyją już w cudzych zakładkach i w wynikach wyszukiwania. Stąd ukrycie w dwóch mocach. Mocniejsze wymiata serię zewsząd: z nawigacji, z listy serii, ze strumienia, z kanału i z mapy strony. Słabsze zdejmuje tylko szyld — serii nie ma w menu ani na liście, ale jej wpisy płyną dalej w strumieniu i w kanale, na równi z resztą. W obu wariantach własny adres serii działa i pokazuje wszystko, co w niej jest. Powrót z ukrycia to skreślenie jednego słowa: żadnej migracji, żadnej zmiany adresów.
Kolofon · 14 sierpnia 2026 · wstępna

17 · Konfiguracja instancji
Cały serwis opisuje jeden plik konfiguracji: nazwa, adres, język, nawigacja, kolory, polityki. Silnik nie zna żadnej z tych wartości z góry. Silnik i serwis to dwie różne rzeczy. Serwis podaje swoją nazwę, adres, język, nawigację, kolory, adres kontaktowy i wybrane polityki; silnik nie zna żadnej z tych wartości i nie ma ich wpisanych nigdzie u siebie. To rozdzielenie jest ostrzejsze, niż się wydaje na pierwszy rzut oka. Wartość wpisana w kodzie silnika na stałe trafia do przeglądarki nawet wtedy, gdy nikt jej nie wyświetla — bo o tym, czy się wyświetli, decyduje się dopiero w trakcie działania, a narzędzie budujące nie ma jak wyciąć gałęzi, której nie umie przewidzieć. Serwis prowadzony pod pseudonimem nie może sobie pozwolić na taką pamiątkę w pliku wynikowym. Praktyczna konsekwencja: nowa instancja to nowy plik konfiguracji i nowy katalog treści, a nie odgałęzienie silnika z powycinanymi nazwami. Poprawka w silniku wchodzi do wszystkich wdrożeń tą samą drogą.
Kolofon · 14 sierpnia 2026 · wstępna

18 · Znacznik wydania
Serwis niesie znacznik wydania, po którym otwarta od dawna karta rozpoznaje, że pracuje na starej wersji, i odświeża się sama. Aplikacja zostawiona w tle na tydzień potrafi pokazywać tydzień starą wersję i nie mieć o tym pojęcia. Zwykła strona przeładowuje się przy wejściu; zainstalowana bywa wznawiana tam, gdzie ją porzucono. Znacznik wydania rozwiązuje to bez zgadywania. Nie jest skrótem procesu budowania, bo takiego tu nie ma — treść to pliki w repozytorium, a wdrożenie nie zostawia po sobie żadnego identyfikatora. Składa się więc z rzeczy, które realnie się zmieniają, gdy zmienia się to, co czytelnik widzi. Strona sprawdza znacznik i gdy widzi, że wdrożenie poszło dalej, odświeża się sama. Czytelnik nie musi wiedzieć, że coś takiego istnieje — i o to chodzi.
Kolofon · 14 sierpnia 2026 · wstępna

19 · Napisy interfejsu
Wszystkie napisy własne silnika — przyciski, etykiety, komunikaty — instancja może nadpisać własnymi, w swoim języku i swoim tonie. Część napisów nie pochodzi z treści: przycisk instalacji, etykieta kanału, komunikat o braku wpisów, podpis w stopce. Dopóki istniała jedna instancja i była polska, mogły siedzieć wpisane w kodzie i nikomu to nie przeszkadzało. Przy pierwszej stronie obcojęzycznej okazało się natychmiast: angielski serwis z polskim przyciskiem i polską stopką. Napisy trafiły więc do osobnego zestawu, który instancja podaje w całości albo poprawia punktowo, zostawiając resztę na wartościach domyślnych. To dotyczy też tonu, nie tylko języka. Serwis fotograficzny pyta „Oceń ten kadr", techniczny „Czy ten wpis był zrozumiały?" — to samo miejsce, dwa różne zdania, żadnej zmiany w silniku.
Kolofon · 14 sierpnia 2026 · wstępna

20 · Autorzy i skład tekstu
Serwis może mieć wielu autorów, każdego z własnym pseudonimem, podpisem pod zdjęciami i własnym sposobem składania inicjału. Wpis wskazuje autora, a autor jest osobną pozycją z własnym pseudonimem i własnym podpisem pod zdjęciami. Serwis prowadzony przez dwie osoby nie musi więc być dwoma serwisami ani jednym z ręcznie dopisywanymi podpisami. Do autora przypisany jest też sposób składania pierwszej litery wpisu: wpuszczona w tekst albo wystająca ponad pierwszy wiersz. To brzmi jak drobiazg, dopóki nie zestawi się dwóch piór w jednym strumieniu — wtedy różnica w składzie robi robotę, której nie zrobi żadna etykieta z nazwiskiem. To samo ustawienie przenosi się na skład książki, więc tom zebrany z dwóch serii wygląda tak, jak wyglądały wpisy na stronie. Autorzy, których serwis nie ma, nie kosztują nic — instancja jednoosobowa podaje jednego i o niczym więcej nie myśli.
Kolofon · 16 sierpnia 2026 · wstępna

21 · Warianty obrazu
Ten sam wpis wychodzi w świat w kilku kształtach. Kadru się nie przycina pod cudzy format — dokłada się wariant. Każdy wpis ma obraz podglądu — zdjęciowy dostaje lekki wariant swojego kadru, tekstowy kartę złożoną z najmocniejszego zdania. To wystarcza, dopóki treść wychodzi tylko odnośnikiem w komunikatorze. Serwisy obrazkowe mają własne wymagania co do kształtu i część kadrów po prostu odrzucają. Przycinanie w locie odpada. Zdjęcie w serii fotograficznej jest komponowane świadomie, a przycięcie go do cudzych proporcji zabiera z niego dokładnie to, po co powstało. Zamiast tego powstaje drugi plik: całe zdjęcie wpasowane w pionowe płótno, dopełnione tym samym tłem, co karty z cytatem. Nic nie ginie, format jest jeden dla wszystkich wpisów, a karta z cytatem wtapia się w płótno bez widocznego szwu. Wariant pionowy wpisów tekstowych to ta sama karta w większej skali: cytat dostaje więcej powietrza, pod nim staje znak instancji i adres. Dobór wielkości liter schodzi po jednym punkcie, aż blok zmieści się w kadrze, a poniżej twardej granicy czytelności generator woli rzucić błędem, niż wypuścić kartę z tekstem poza kadrem. Kanał wystawia adres wariantu, nie sprawdzając, czy plik istnieje — wykonanie na brzegu sieci nie widzi dysku. Brakujący plik to czterysta cztery i post, który nie wychodzi. Dlatego narzędzie generujące ma tryb kontroli: przechodzi po katalogu obrazów i wypisuje wszystko, czemu brakuje pary. To jedyna rozsądna odpowiedź na sprawdzenie, którego nie da się zrobić w miejscu, g
Kolofon · 17 sierpnia 2026 · wstępna

22 · Ankieta pod wpisem
Trzy pytania zamknięte pod tekstem. Wynik dopiero po odpowiedzi, jedna pula głosów dla wersji językowych, zero danych, po których dałoby się kogoś rozpoznać. Pod treścią wpisu może stać ankieta: kilka pytań zamkniętych, na które odpowiada się jednym kliknięciem. Instancja podaje je przy wpisie, silnik zbiera głosy i pokazuje wynik. Pytania mają **stałe identyfikatory**, wspólne dla wszystkich wersji językowych, a treść pytania jest w języku instancji. To ta sama zasada, co przy ocenach i komentarzach: pytanie ma tyle brzmień, ile jest wersji, a głos ma jedno miejsce. Suma nie dzieli się między przekłady. **Wynik odsłania się dopiero po odpowiedzi** i to nie jest ozdobnik, tylko cała mechanika. Czytelnik ma najpierw odpowiedzieć sobie, a potem zobaczyć, ilu ludzi odpowiedziało podobnie. Odwrotna kolejność zamieniłaby ankietę w sondaż do przeczytania — i zabrałaby jedyny powód, żeby kliknąć. Zapisujemy identyfikator pytania, odpowiedź i język wersji. **Nic, po czym dałoby się zestawić odpowiedzi jednej osoby** — bez identyfikatora czytelnika, bez adresu. To, że ktoś już odpowiedział, pamięta jego przeglądarka. Przy pytaniach dotykających trudnych doświadczeń to nie jest drobiazg, tylko warunek, żeby ktokolwiek odpowiedział szczerze. Ankieta stoi **przed oceną i komentarzami** — od najtańszego gestu do najdroższego. Kliknięcie nie kosztuje nic, gwiazdka wymaga sądu, komentarz wymaga własnych słów. Czego ta funkcja NIE robi: nie punktuje, nie nagradza i nie wpływa na ocenę wpisu. Gdyby odpowiedź dawała cokolwiek poza wynikiem, przestała
