Nastavení je teď rozhovor
Až do tohoto vydání znamenala instalace ./blog.sh zkopírovat dva soubory a upravit 277 řádků komentovaného YAML, než proběhlo první sestavení. Všechno bylo zdokumentované. To není totéž jako snadné.
./setup.sh se místo toho ptá a každou odpověď kontroluje, jakmile přijde.
Otázky, které byly potichu nebezpečné
Tři nastavení šlo napsat špatně způsobem, o kterém by ti nikdy nic neřeklo.
Časové pásmo. Překlep tady neselže – Ruby spadne na UTC a nic neřekne – jen datuje každý příspěvek o dvě hodiny vedle, navždy. Průvodce nabídne pásmo z vlastní databáze stroje, ledaže stroj sedí na UTC, což je fakt o datacentru, ne o člověku, který odpovídá; pak navrhne podle jazyka, ve kterém se tě ptá. A odmítne cokoli, co není skutečné pásmo.
Adresa. Bydlí na dvou místech a env.sh přebíjí config/site.yml. Dodávaný příklad ji má namířenou na example.com, takže vyplnit jen konfiguraci nechá tvůj web říkat si example.com ve feedu, v sitemapě a v každém náhledu při sdílení. Průvodce zapíše obojí.
Id účtu na Mastodonu. Widget v postranním panelu chce číselné id a lidé vyplní @handle, načež neukazuje vůbec nic, potichu. Průvodce tvůj token ověří proti instanci na místě – a id z téhož volání vypadne, takže ho může prostě nabídnout, už správné.
Volba jedné sítě pro komentáře vypne tu druhou, protože konfiguraci s oběma sestavení odmítne načíst.
Nic se nezapisuje až do konce
Odpovědi se posbírají, pak se ukážou diffy obou souborů s maskovanými tajemstvími a jedno potvrzení pokryje všechno. Ctrl-C kdekoli nechá existující instalaci přesně tak, jak byla.
Každou otázku jde přeskočit Enterem. Znovu spustit průvodce je způsob, jak cokoli z toho později změnit – a ruční úprava souborů funguje dál přesně tak, jak fungovala. Obojí je zaměnitelné v obou směrech, protože konfigurační soubor, který nesmíš otevřít, není konfigurační soubor.
Zobrazený diff je mimochodem pořádný LCS diff. Porovnávání řádek po řádku selhávalo způsobem, na kterém záleželo: přidání jedné položky do seznamu posune každý řádek pod ní, takže čtyřřádková změna se četla jako všechno odsud do konce souboru – přesně dojem, který nástroj žádající o svolení upravit tvou konfiguraci nesmí vyvolat.
A tvoje komentáře přežijí
Oba průvodci zapisují přes editor na úrovni textu, který dosazuje hodnoty do dokumentované šablony a každý ostatní bajt nechává být. Načíst YAML a vypsat ho zpět by zahodilo dvě stě řádků vysvětlení, zakomentované bloky, které odkomentuješ, když chceš widget, a skládané skaláry, ve kterých skutečné weby drží HTML.
Každý zápis se přečte zpět a ověří, a obnoví se ze zálohy, pokud soubor neříká to, co říkat měl.
Start na čtyři řádky
git clone https://github.com/DanielSnor/blog.sh.git
cd blog.sh && ./setup.sh
./blog.sh add
./blog.sh preview
Druhý řádek býval dvě kopie souborů a editor. To je celá změna a je to ta, kterou jsem měl udělat jako první.

Komentáře