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

Sat, 18 Apr 2020 17:44:04 +1100

Když jsem dopisoval předchozí článek, měl už jsem podklady pomalu na jeden další. Ale první dávka úprav byla už online, a proto píšu článek další, tentokrát mnohem obsáhlejší. A "dnes" i s nějakou přidanou hodnotou - v podobě kódu, samozřejmě. Nejvíc práce bylo programování a systémové úpravy, které těžko můžete vidět. Ale díky nim vznikly nové podklady, o které se mohu podělit. Opět jsem šáhl trochu do designu, ale budu mluvit také o aktualizacích obsahu.

1. Programování

Ve volných chvílích jsem se pustil do programových úprav systému. Architekturu, jak ji mám navrženou, jsem nechal, ale spousta knihoven potřebovala aktualizaci, stejně tak celý frontend (kontrolery, nikoli šablony). Právě úprava knihoven je jedná z věcí, ze které může mít prospěch i čtenář, protože je můžu nasdílet.

Výstup do šablon také dostal pár nových funkcí, i když změn bylo minimum oproti třídám. Vrátil jsem do komentářů strukturovanou diskusi. Teda ne, že by se tu kecalo od rána do večera, ale minimálně kvůli přehlednosti vlastních reakcí je to fajn. Stránkování článků už je nyní Ajaxem. Tohle zase tak důležité nebylo, ale chtěl jsem si zkusit, kolik mi zabere času taková věcička na vlastním systému. No základní funkcionalita necelou hodinku, další hodinu pak ladění drobností. Nebylo to náročné, a co víc, mám díky tomu podklady na další článek.

2. Design

Tak jsem koukal, že už je to 5 let, co mám na webu aktuální design. Mně to sice připadne jak včera, ale 5 let je dost, takže byl nejvyšší čas na nějaké změny. Tak jsem se do nich pustil. Komentáře jsem přestyloval úplně, stejně jako sidebar. Takhle nebo taky takhle to vypadalo před tím. Na screenshotu je vidět i změna souvisejících článků, kterou už jsem měl na seznamu poměrně dlouho - prostě aby to vypadalo míň jako reklama. No a hlavička také dostala obrázek.

3. Články

Nějaké články jsem odeslal do věčných lovišť, do jiných starších jsem přidal informaci, že takhle už se dnes neprogramuje. PHP návody zastarávají, stejně jako vše ostatní, takže to bylo třeba. Ale hlavně - co je nejdůležitější - po třech letech jsem konečně napsal článek z oboru. A další jsou na cestě. Úpravy, kterými blog v poslední době prošel, mě přiměly zase něco málo nastudovat i naprogramovat, takže mám nové podklady, které budu postupně publikovat. Například zmíněné Ajaxové stránkování.

4. JavaScript

Další oblast změn souvisí jak s kódováním, tak s obsahem. Konečně jsem našel funkci, která správně počítá přesně to, co potřebuji: isInViewport. Co asi dělá, je jasné už z názvu, takže jen doplním, že potřebuje jQuery. Toleranci shora či zespoda tam zatím nemám, ale pro účely jako je loading YouTube videa až během čtení článku je to naprosto dostačující.

(function($){

	$.fn.isInViewport = function(){
		var elementTop = $(this).offset().top;
		var elementBottom = elementTop + $(this).outerHeight();
		var viewportTop = $(window).scrollTop();
		var viewportBottom = viewportTop + $(window).height();
		return (elementBottom > viewportTop && elementTop < viewportBottom);
	};

}(jQuery));

A jak si můžete na ukázce všimnout, zase tu mám syntax highlighter. (Byť zrovna tady není příliš výrazný.) To byl docela porod, protože stará knihovna nefungovala s novou jQuery. A tak jsem googlil. A googlil. A stejně nic nevygooglil. Nejkomplexnější knihovna, kterou jsem našel (google code prettify) se ukázala jako úplně tragická, protože prostě nezvládla zvýraznit kód, jak měla. Třeba zvýrazní první HTML atribut, ale na druhý už se vykašle... Tak jsem hrábl do staré knihovny chili.js, něco promazal, něco přidal, a už to frčí, jak má. Možná se o ni podělím v nějakém budoucím článku.

5. Cookie lišta

Jak jste si nejspíš všimli, už i tady vás otravuje cookie lišta. Za to se omlouvám, nicméně já si potřebuji ověřit, jestli je pravda, co se říká. Že Google penalizuje (shazuje pozice) webům, které tuhle věc nemají. Ukáže až čas. Za tímto účelem jsem opět trochu hledal, abych si uložil dva články, které o cookie liště aspoň trochu smysluplně hovoří: najdete je na webu podnikatel.cz a samozřejmě na Lupě.

Ve zkratce? Je to úplně jedno, jestli nějakou lištu máte. I já ji nasadil až s velkým zpožděním. Ale v případě, že využíváte vícero služeb od Googlu, raděj si ji tam flákněte. U mě to v případe Analytics a GWTools nevadilo, ale opak zase doporučovat nechci. A pokud byste chtěli nějakou inspiraci, například ČSOB má hezky vyřešenou jak lištu, tak detail stránku.

Ono je to celé vlastně trochu paradox. K čemu potřebuji cookiny na malém webu? (Zdůrazňuji: malém.) Na analýzu návštěvnosti, na nic jiného. Abych ji mohl provádět, musím mít souhlas s ukládáním cookies. Sešny? No tak oželím ukládání kravin a sešny neřeším až do chvíle, než potřebuji logování uživatelů. A když jsem jednou napsal na diskusi.jakpsatweb, že je to kryptofašistické, okamžitě mi můj příspěvek smazali bez uvedení jakéhokoli důvodu, proč se mýlím. Ale já si za svým názorem stále stojím. Je to kryptofašistické.