Co jsem dnes udělal pro svůj web #5

Sun, 19 Jan 2020 16:26:41 +1100

Po dlouhé bych tu měl zase jeden článek na téma údržba webu. "Dnes" tentokrát neznamená nedávnou minulost, ale skoro 3 roky od posledního článku. Těch změn bylo mnohem víc, ale vybral jsem z nich ty důležité a zajímavé, které má smysl zveřejnit. A protože servis tvoří velkou část mé pracovní náplně, sám vím, jak důležité je tuto činnost nezanedbávat.

Není nutné každý měsíc předělávat web, ale je potřeba ho udržovat při životě i jinak, než jen novými texty. A proto přidávám další seznam bodů, co se změnilo. Některé nejsou ani tak pro návštěvníka, jako pro mě, jiné zase slouží k pohodlnějšímu brouzdání po stánkách. Co jsem "dnes", udělal pro svůj web, si můžete přečíst v dnešním článku.

1. Přepsání JavaScriptu v administraci

Hned první změny pro koncového návštěvníka určeny nejsou. Aby se mi lépe pracovalo v administraci, chtěl jsem změnit logiku nasazení textového editoru. A když jsem se tak vrtal v kódu, bylo mi trochu smutno i trochu blivno z 10 let starých řešení, které byly na frontendové části administrace použité.

Ve své době to nebylo nijak hrozné, ale dnes? Já tam neměl nasazený žádný JS framework, všechno se psalo od nuly za pomocí nativních metod... Že je administrace řešená "po staru", to mě ani tolik netrápí, ale ty kvanta kódu, které tam byly úplně zbytečné, musely jít pryč. Asi 50kB kódu jsem zredukoval na 10. Ale bylo to hezké okno do minulosti. Řešení stále není supermoderní, ale už něj půjde vycházet do budoucna.

2. Modul redirektů

Druhá velká úprava mi přidala nový modul, který se stará o přesměrování starých URL adres na nové. Některé systémy, jako například Drupal, takovýto modul mají dostupný, tak proč bych ho neměl mít i já. Kdykoli přepíšu URL objektu a nechci přijít o pozici v Googlu, stačí mi zadat novou položku a nemusím lézt do .htaccessu.

O přesměrování jsem chtěl napsat vlastní článek, jenže jsou tu nějaká ale. Je to fakt dávno, co jsem něco pořádně programoval. Až tak dávno, že si nejsem jistý, zdali se můžu podělit o nějaká svá řešení. Tak, abych nepublikoval nějaké zlozvyky či zastaralé postupy. Zatím se tedy o funkci jenom zmíním, samostatný článek možná nachystám někdy v budoucnu.

3. Typografie

A konečně se můžeme podívat na změnu, která je vidět na první pohled. Překopal jsem typografii celého webu, jak rodiny, tak velikosti i řezy písma. Předchozí font totiž obsahoval jednu zásadní chybu: nefungovalo v něm Ť a Ď. Nejdřív jsem si toho vůbec nevšiml, pak jsem to chvíli ignoroval. Ale protože nefunkční písmenka vypadala jako pravopisné chyby, měl jsem změnu typografie na TO DO listu už dlouho.

Hledání nových písem bylo náročné, Google fonty jsem procházel fakt dlouho. Zaujal mě jeden font laděný do čínského stylu, jenže ono to zase neumělo latin-2. Chvíli jsem dokonce uvažoval, že ho i přesto použiju, ale to by zase bylo z bláta do louže... Ono je to těžké, když hledáte patkové písmo, co vypadá jako bezpatkové.

A tak jsem hledal dál, než jsem našel font Marcellus, který byl vyhovující a ještě i podobný tomu prvnímu. Marcella uvidíte v nadpisech. Pro zbylé texty jsem pak vybral font Mukta, který patří do rodiny "vypadám jako Roboto", což je poměrně populární font. A jako třetí písmo na zdůraznění h2 a h3 nadpisů uvnitř článku jsem nasadil Catamaran, který se od Mukty příliš neliší, ale ve větším provedení vypadá líp. A na závěr jsem si předělal logo i faviconu, aby vše sedělo Marcellem v hlavních nadpisech.

4. Další zjednodušení elementů na stránce

Možná jste si všimli, možná jste si nevšimli, že v poslední době mi občas skákaly do URL roztodivné hashe. Tyto hashe sloužily jako vlastní analytický modul, který jednoduše počítal prokliky na stránce. Já vím, existují stokrát lepší nástroje, jenže já to chtěl co nejjednodušší a hlavně viditelné z vlastní administrace. PHP třída má 3 kilobajty, takže je to fakt úplně simple.

Svůj účel modul splnil, díky němu vím, na které prvky lidé vůbec neklikají. A tak jsem se mohl pustit do jejich úklidu. Zařval carousel v pravém sloupci, z upoutávky na Mikroblog se stal jediný box s posledním článkem. Archívy jsem nakonec ponechal, protože do těch často chodím sám - abych viděl, co v jakém měsíci přibylo. A hlavně je to takový blogový standard, mít někde dostupné archívy dle data.

5. Fulltextové vyhledávání

Malou změnou prošel i algoritmus vyhledávání, kde mám jako sekundární klíč právě datum. Například když hledám CSS hacky, jako první chci vidět právě ten poslední článek, protože ty předchozí už nemusí být aktuální. (Primárním klíčem budiž stále výskyt fráze v nadpisu, anotaci a textu, tam se nic neměnilo.) I když věřím, že i to už bude trochu zastaralý způsob, ale studiu fulltextového vyhledávání se zatím nemám potřebu věnovat.

Relevance podle data je věc, která mi hrozně chybí na Googlu. Chci použít například Facebook API a hledám, jak z FB vytáhnout potřebná data. Zajímá mě 4 roky starý článek, nebo ten z letoška?

6. Další drobnosti pro mě i návštěvníka

Za zmínku stojí ještě poslední dvě maličkosti. Podobných úprav bylo nesčetně, ale není potřeba sem vypisovat každou jednu. Konečně jsem rozdělil kategorii filmů a seriálů na dvě podkategorie. S tím souvisela i malá revize štítků, které mi slouží jako taková sekundární kategorizace. Když už mám několik dílů stejného článku, tak ať je dohledatelný pod jedním tagem. Druhá úprava je opět drobné počítání návštěv, a to přečtení článku už do konce. Klasické hity, tedy návštěva URL adresy příliš relevantní nejsou, takže započítávám plus 1 až při zascrollování na určitou úroveň textu. Trocha počítání se s výškou okna, scrollTop a je hotovo.