Osm se stalo dvaadvaceti
Před šesti dny jsem vydal verzi 1.1. Dneska ráno 1.2. Mezi tím je týden práce, ze kterého vzešla jedna věc, kterou jsem nečekal: ./blog.sh přestal být jenom nástroj na psaní blogu.
Pořád to blog je. Ale od dneška je to zároveň místo, kam si člověk může přenést všechno, co kdy napsal na cizí weby. Statusy, články, fotky s popisky — na jednu hromadu, která je jeho.
Osm zdrojů se stalo dvaadvaceti
Verze 1.1 si uměla vzít vaše věci z osmi míst. Nová verze 1.2 ode dneška z dvaadvaceti, ve třech skupinách.
Sociální sítě: Bluesky, Facebook, Instagram, Mastodon, Twitter a další. Blogovací a psací platformy: Blogger, Medium, Substack, Tumblr, WordPress, podcasty a spousta dalších — včetně čehokoli, co má běžný webový kanál novinek.
A pak třetí skupina, kterou jsem nezamýšlel a přitom je jedním z důvodů, proč tenhle článek vůbec píšu: mrtvé weby.
Když už není koho poprosit
Skoro všechny importy fungují stejně: v nastavení té které služby je někde tlačítko „stáhnout moje data", vy si o soubor řeknete a engine ho přečte. To funguje přesně do chvíle, kdy služba zavře. Pak není o co žádat a není koho.
Naštěstí existuje Internet Archive — projekt, který si roky ukládá kopie celého internetu, pořád dokola, aniž by k tomu měl jiný důvod, než že sbírá všechno. Takový stroj času. Importér se ho umí zeptat, co si z vašeho zaniklého blogu zapamatoval, vyházet duplicity a poskládat z toho zpátky archiv. I s obrázky, ty se stahují tímtéž strojem času. Ověřoval jsem to na Posterousu, který je mrtvý třináct let, a na blog.cz, který je mrtvý pět.
Někdy si toho stroj času zapamatoval míň a zbývají jenom uložené kopie samotných stránek. To je horší cesta — každá stará platforma měla stránky poskládané po svém, takže se pro každou musí napsat vlastní recept, jak z nich text vytáhnout. Když recept není, nástroj se raději zastaví a ukáže, z čeho si ho jde napsat.
Na čem jsem si dupl: nic z toho nesmí nic předstírat. Co si stroj času nezapamatoval, zůstává ztracené — a nástroj to řekne nahlas. Příspěvek, u kterého se dá datum jenom odhadnout, se tak i označí. Záchranný nástroj, který si potichu domýšlí, je horší než žádný.
Dva průvodci
Až doteď znamenala instalace projít dlouhý textový soubor s nastavením a doufat, že jste nic nepřehlédli. Všechno tam bylo popsané. Jenže popsat není totéž jako zeptat se.
Takže teď se fungl nový ./setup.sh ptá — a každou odpověď hned zkontroluje. Tři z těch otázek se totiž daly vyplnit špatně tak, že byste se to nikdy nedozvěděli. Časová zóna: překlep nic nerozbije viditelně, jenom všechny příspěvky mají navždy špatný čas. Adresa webu: žije v nastavení na dvou místech a jedno přebíjí druhé. A identifikace mastodonského účtu, kam skoro každý napíše přezdívku se zavináčem — jenže engine potřebuje číslo, a bez něj jeden panel na webu prostě mlčky nic neukáže.
./style.sh je druhá půlka — vzhled. Barvy, banner, patička, ikony, písma. Sedm barevných palet se veze s enginem, a než si nějakou necháte, ukáže vám ji na vašem vlastním webu, ve světlém i tmavém režimu. A když web už běží, nahraje se náhled přímo k vám a průvodce vypíše adresu i QR kód — takže si novou paletu můžete prohlédnout na telefonu. Tedy na tom, na čem to lidi doopravdy čtou.
Ani jeden průvodce nic nezapíše dřív než úplně na konci. Nejdřív se posbírají odpovědi, pak se přehledně ukáže, co přesně se změní, a jedno potvrzení platí na všechno. A poznámky, které jste si do nastavení kdy napsali, zůstanou, jak byly.
Život s archivem
Dvaadvacet zdrojů znamená archivy o tisících příspěvků, ne o desítkách. Původní výpis příspěvků jsem psal, když jich tady bylo čtrnáct.
Proto teď existuje browse: obrazovka, ve které se dá zůstat. Listování šipkami, filtry podle typu a štítků, a hledání, které zužuje výsledky už během psaní. Pod vybraným řádkem se ukáže kus textu příspěvku, aby bylo vidět, proč se vůbec našel.
A doctor — vyšetření, které přečte celý váš blog a řekne všechno špatně najednou. V celých větách, a ke každému problému rovnou přidá řádek, který ho spraví. Míří hlavně na tiché chyby: špatnou časovou zónu, panel, který nemá co ukázat, příspěvky čekající ve frontě, kterou nikdo neodesílá. A nikdy vás kvůli pouhému varování nezastaví v práci — protože rada, která vám zastaví práci, není rada.
Co se ukázalo, když jsem každý import pustil na skutečná data
Tohle byla nejnepříjemnější část celé verze. Každý zdroj dostal skutečný, ostrý export z platformy, kterou tvrdí, že umí číst. A většina z nich něco potichu ztrácela.
Heslem chráněný příspěvek z WordPressu se naimportoval celý, včetně obsahu, který měl zůstat pod zámkem. Z Medium se naopak přeskočil úplně každý publikovaný článek, protože mu chyběl jeden nenápadný údaj. A příspěvek z Bloggeru dorazil rozsekaný na kousky — jeden text se rozpadl na 105 úlomků a z devětadvaceti odkazů jich přežilo osm.
Nic z toho nespadlo. Nic nenapsalo chybu. Všechno se tvářilo jako hotový, povedený import. To je na tom to nepříjemné.
Čtyři kola a třikrát „ještě ne"
Před vydáním prošla verze čtyřikrát celá důkladnou revizí. Třikrát z toho vyšel verdikt: ještě nevydávat. Našly se věci, které by braly text — chyba, po které se dal publikovaný článek omylem vrátit do rozepsaných a ztratit u toho stopu; jiná, po které se text při každé úpravě zdvojil; a jedna obyčejná uvozovka v popisku obrázku, po které se příspěvek už nikdy nedal otevřít.
Nejcennější zjištění ale bylo jiné: tři z mých vlastních oprav byly horší než chyba, kterou opravovaly. Jedna by uměla slít dva cizí archivy v jeden. Druhá utínala konec adresy, takže z oznámení vedl mrtvý odkaz. Všechny tři šly zpátky.
Z toho mi zůstalo pravidlo, které si teď píšu všude: každou chybu si nejdřív vyvolat sám — před opravou i po ní. A na to, co se opravilo, rovnou napsat test, ne jen poznámku, že se to opravilo.
Nejhezčí test téhle verze je tabulka všech kombinací formátování — tučné v kurzívě v přeškrtnutém a tak dále, tisíc pětaosmdesát kombinací, každá třikrát uložená a znovu přečtená. Na „hotovém" kódu jich sto devadesát neprošlo. A pak zkouška nad ostrými daty tohohle webu: 4419 příspěvků, a druhé uložení musí dopadnout úplně stejně jako první. Do posledního písmenka.
Devatenáct z dvaceti
Jedno číslo z toho testování mi zůstalo v hlavě. Na facebookovém účtu, na jehož exportu se import stavěl, nevzniklo pětadevadesát procent příspěvků na Facebooku. Byly tam překopírované odjinud — z Twitteru, z Posterousu, z celé té éry, kdy si služby přeposílaly obsah mezi sebou.
Devatenáct věcí z dvaceti na tom účtu ve skutečnosti nevzniklo tam, kde ležely. A to „odjinud" mezitím většinou zavřelo.
Ať si o svém archivu na kterékoli jedné platformě myslíte cokoli, docela velká část z něj je kopie něčeho, co jste dali někam jinam. Archiv je váš, jenom pokud jsou vaše ty soubory.
Co dál
Verze 1.2.1 už je rozdělaná. Texty v postranním panelu a v patičce půjdou psát stejně jednoduše jako příspěvky — což měla umět od začátku, ostuda. A fotky se přestanou zveřejňovat i se souřadnicemi místa, kde vznikly. Sociální sítě je za člověka mažou tak dlouho, že už na to nikdo nemyslí — a vlastní web to za vás neudělá, dokud mu to někdo nenaprogramuje. Tak jsem to naprogramoval.
Tak asi tak...d8-D

Komentáře