Date: 2022-09-03 20:00:00 Tags: technologie OpenBSD psani Desc: Trvalo to, ale konecne je hotovo! # OpenBSD IDE ## Proc jsem stale nespokojeny? Vyjimecne nemam na mysli politickou, spolecenskou, ani ekonomickou situaci. Rec je o vzhledu techto stranek. Pokud jde o vzhled, nejsem nikdy spokojeny. "Vite, to je profese," rika postava z filmu _Svetaci_, ztvarnena Oldrichem Novymi, pote, co presne rozpozna charakter vstoupivsi "damy". V mem pripade to v jistem smyslu plati take. Navic rad zkousim nove nastroje a zkoumam, jakym zpusobem uskutecnit sve napady. Protoze jsem po vetsinu casu zamestnany necim jinym nebo proste liny neco v tomto ohledu podnikat, obcas je potreba nechat se necim popostrcit. V tomto pripade byly spoustecem dve veci: novy font, ktery jsem opravdu chtel pouzit, ale ve starem designu nefungoval dobre, a dlouhodoby problem s archivem starsich textu. Polovicate reseni obou problemu, site velmi horkou jehlou, me nakonec vyprovokovalo k aktivite. Takhle to proste nemohlo zustat! ## Dr. Jekyll a pan Hugo s Lukem Smithem Kvuli jistym pracovnim zalezistostem jsem se zabyval generatorem statickych stranek Jekyll. Narazil jsem na nej uz pred lety a pamatoval jsem si, ze existuje mrakylion webovych predloh pro tento generator, ktere s v SSG argotu nazyvaji themes a slouzi jako sablona vzhledu a funkcionality statickeho webu. Clovek si sablonu, ktera se mu libi, stahne ji, nainstaluje, nastavi a pokud vse spravne funguje, muze zacit psat. Cili "vytvaret obsah", receno modernim, retardovanym slangem. Existuji predlohy pro blogy, dokumentaci, portfolia a vselijake jejich kombinace. Psani je snadne, zakladni formatovani obstarava Markdown. Pak se pomoci jednoducheho prikazu vygeneruje cely web a je hotovo. *) Jekyll je dnes uz legendarni software, nebot vyznamne prispel k navratu popularity statickych stranek. Nahodou jsem po dlouhe dobe zabloudil na web Luka Smithe a zjistil jsem, ze dal dohromady docela podrobny videonavod, jak pouzivat Hugo, coz je dalsi popularni SSG (static site generator). V mnoha ohledech ho povazuju za lepsi nez Jekyll, ale porovnani obou SSG neni cilem tohoto textu. Po nekolik veceru jsem do umoru brouzdal predlohami pro Jekyll i Hugo, jez vytvorili vetsinou webovi designeri a programatori, nikoliv typografove. Nasel jsem mnoho vcelku peknych sablon, ale z hlediska grafickeho a typografickeho zadnou zcela uspokojivou. Za esteticky zdarile povazuju theme Marat, ktere se inspiruje starymi novinami vydavanymi J. P. Maratem za Francouzske revoluce. Prave tady jsem narazil na tuto krasnou renesancni antikvu s nazvem IM Fell, o ktere jeste bude rec. Nanestesti pro ucely blogu, tedy z hlediska funcionality, je Marat uplne k nicemu. Mezi sablonami pro Hugo jsem zase nasel TeXify napodobujici estetiku tiskovin sazenych v Texu ci Latexu. Rozhodl jsem se pouzit toto theme a dokonce jsem predelal i podstatnou cast svych textu do formatu pro Hugo, ale nakonec jsem i od toho upustil, nebot to stale nebylo ono. Z funkcniho hlediska jsem zadny problem nemel, me vyhrady byly spise esteticke. ## Idealni funkcionalita Jaka vlastne ma byt idealni funkcionalita tohoto blogu? Blog je forma webovych stranek, ktera se sklada z jednotlivych textu, kazdy na samostatne webove strance, a indexove stranky obsahujici casove razeny seznam odkazu na tyto texty, pripadne kratke upoutavky na ne, coz je pripad tohoto blogu. To je zakladni varianta. Jak cas plyne a pocet blogpostu se neustale zvysuje, vznika potreba tuto jednoduchou strukturu dale rozdelit. Je-li seznam blogpostu prilis dlouhy na skrolovani, je mozne vytvorit samostatne archivy pro kazdy rok nebo alespon vygenerovat uspornejsi seznam, coz je varianta, kterou jsem zvolil. Dale je vhodne texty otagovat nebo usporadat do kategorii. Mezi obema zpusoby neni zasadni rozdil, kategorie a tagy jsou v podstate totez. Kategorie jsou mozna striktnejsi, pokud jde o pocet a razeni. Za idealni povazuju zaradit text do jedne kategorie, zatimco s tagy lze zachazet daleko liberalneji, ale to je spise arbitrarni pravidlo. Nakonec jsem zvolil mene striktni pristup: pocet tagu/kategorii omezeny na cca 35 obecnych okruhu, pricemz dalsi pridavam jen po zrale uvaze, ale clanky oznacuju vice nez jednim tagem. U vetsiho mnozstvi textu je lepsi, aby tagy odkazovaly na samostatne stranky se seznamem clanku zarazenych do dane kategorie. Stejnou praci muze delat take _tag cloud_ nebo jina samostatna stranka obsahujici pro zmenu seznam tagu. Reseni tagoveho mraku jsem nasel v odkazu nize, ale nakonec jsem se priklonil k prvni variante, tedy klikacim tagum. O indexu ci archivu tagu, tedy jakemsi hubu, odkud by se odkazovalo na jednotlive kategorie, zatim neuvazuju. ## Idealni vzhled Webova stranka ma oproti knizni ci casopisecke strance jiste zvlastnosti, ale ne takove, aby webdesigner zcela opustil osvedcene typograficke principy. O vzhledu tiskoviny ci webove stranky rozhoduje hlavne pouzite pismo. Renesancni antikva IM Fell, kterou jsem po delsim usili nasel i ve verzi s ceskymi znaky, uspokojuje me (nijak sofistikovane) esteticke pozadavky a zaroven vyhovuje cilum a tonu meho blogu. Podle autora fontu jde o kopii pisma pouziteho v historickych anglickych knihach. Existuje v normalnim rezu, v kurzive a v kapitalkach. Nema tedy tucny rez, ale kapitalky ho docela zajimavym zpusobem nahrazuji. Shodou okolnosti _jednoduchost, prostor a konzervatismus_ patri nejen do zakladniho programu internetove kontrarevoluce, ale take mezi osvedcene typograficke zasady. V tomto ohledu jsem narazil na necekaneho spojence. ## Tufte a filozofie designu Edward Tufte je ucenec, ktery se zabyva otazkami informacniho designu a vizualizace dat a v podstate se, dle meho soudu, prilis neodchyluje od vyse uvedenych zasad. Zavrhuje prehnane dekorace textu a z jeho dilny pochazi vyraz jako _pomer dat a barvy_. Preferuje ilustrace bohate na data. Z typografickeho hlediska to znamena setrit kurzivou ci tucnym rezem. Pouzivat maximalne dve urovne titulku, ne vice. Namisto poznamek pod carou pouzivat marginalie, poznamky po strane textoveho bloku. Tento bod mi pripada obzvlast zajimavy pro webovy design. Ze stejnych duvodu, a to je mi sympaticke, zavrhuje ET powerpointove prezentace. Podle nej powerpointova prezentace neinformuje, ale presvedcuje. Zjednodusuje mysleni tim, ze premenuje pribehy do seznamu nesouvisejicich bodu, cimz vytvari falesnou fasadu objektivity a neutrality. Misto powerpointu navrhoval Tufte kratkou zpravu, se kterou se seznami ucastnici mitinku v prvnich 5 az 10 minutach a nasledne diskutuji o jejim obsahu. Na zaklade techto zasad navrhl Tufte typograficky design, ktery pak hojne vyuzival ve vlastnich publikacich. Tento design casem ziskal svuj webovy protejsek ve forme Tufte CSS. Vzhled tohoto blogu i webu Udoli desu vychazi z Tufte CSS s drobnymi zmenami. Nahore pribyla nenapadna navigace blogu, dole footer a vlevo se nachazi skryta navigace s odkazy mimo blog. Nic z toho, jak doufam, nenarusuje cisty vzhled. *) Pozastavuje se nekdo nad tim, ze tento konzervativni blog vyuziva prace spise progresivniho americkeho profesora, jehoz jmenoval Obama do cela ARRA, fondu pomoci pri vytvareni pracovnich mist? ## Volba nastroju Z titulku vyplyva, ze sve webove stranky i blog Dalnopis generuju pomoci nastroju OpenBSD. Proc ne Hugo nebo Jekyll? Koneckoncu Tufte existuje i jako sablona pro Hugo. Hugo zcela jiste neni spatna volba a Luke Smith odvedl dobrou praci pri jeho prezentaci. Hugo je pomerne sofistikovany nastroj s mnoha moznostmi, ale pripadalo mi lepsi pokusit se vyuzit vsech moznosti, ktere nabizi software, ktery uz znam a pouzivam, nez se ucit software novy. Dosahnu s jeho pomoci podobnych vysledku jako s Hugem? Hugo jako nastroj sice zapada do meho kontrarevolucniho konceptu, ale jako spravny kontrarevolucionar jsem si musel nasadit latku vyse a idealne vyuzivat pouze nastroje, ktere nabizi samotny system. Jinymi slovy jako Unixman chci vyuzit OpenBSD jako IDE, tedy integrovane vyvojarske prostredi, nebot Unix byl v podstate jako IDE navrzen. ## Stari znami Znovu se, prosim, seznamte se dvema nastroji z dilny programatora a potapece jmenem Kristaps Dzonsons. Jde o lowdown(1) a sblg(1). Prvni slouzi ke konverzi Markdownu do mnoha dalsich formatu, vcetne HTML. Druhy pak generuje blog ze zdrojovych souboru XML. Na pripadnou namitku, ze nejde o nastroje zakladniho systemu, odpovidam nasledujicim zpusobem: - skutecne nejde o nastroje zakladniho systemu, ale jsou napsane - coz v mych ocich vyhovuje stanovene podmince, nebot muj purismus jednim z vyvojaru OpenBSD, takze dokonale zapadaji do jeho ekosystemu, ma sve hranice. Lowdown(1) dela otravnou praci prevodu MD do XML, takze muzu pohodlne psat v tomto jednoduchem markupu. Vysledne XML je vlastne HTML snippet, ve kterem delam jeste drobne upravy rucne. Tufte CSS obsahuje nektere prvky, ktere lowdown(1) neumi vygenerovat, napr. sidenotes. To lze teoreticky vyresit skriptem, ale zatim to delam rucne. Do budoucna se uvidi. Sblg(1) dela hlavni "heavy lifting" a tim je generovani HTML stranek pro blogposty, index, stranky pro jednotlive kategorie a archiv. Ac na to nevypada, sblg(1) je pomerne sofistikovany a skyta mnohe moznosti. Nejvetsi problem spocival v tom ohnout lowdown(1) a predevsim sblg(1), aby delaly to, co potrebuju. K tomu slouzi pomocne skripty v ksh(1) a make(1). Funguji jako lepidlo, ktere vse vaze do jednoho hladkeho procesu. Prikaz `make` nasledne vygeneruje kompletni web. Nebylo by jednodussi napsat pouze shellove skripty, ktere udelaji presne jenom to, co potrebuju? Je to mozne. Flexibilita by patrne byla vetsi a vysledek lepe usity na miru, ale nepovazuju se za kdovijakeho skriptera, takze pokud to jde, vyuzivam nastroju, ktere napsal nekdo jiny. ## Vyhody, nevyhody a plany do budoucna Jeste neni vse hotove. Chybi spousta textu z minulych let. Take nefunguje atom feed a automaticke generovani textu pro gopher a gemini, i kdyz tady nic menit nehodlam, takze snad vyuziju existujici Makefile. Za hlavni vyhodu pokladam hlubsi znalosti fungovani sblg(1), blogu, webu, make(1), ksh(1) a OpenBSD jako celku. Z toho plyne vetsi flexibilita a lepsi startovni pozice pro dalsi praci. Za malo penez hodne muziky. Mezi hlavni nevyhody patri nutnost upravovat XML rucne. To by se dalo vyresit v CSS, ale hrozne nerad se hrabu v CSS. Zejmena ne v tech, co delal nekdo jiny a fungujou. Kaskadove styly jsou vyborny napad, jehoz realizace trpi zbytecnou komplikovanosti. Existuje na to vystizne anglicke slovo "over-engineered". Dalsi nevyhodou je, ze se cely web vzdy generuje ze vsech clanku najednou. S rostoucim poctem textu roste i doba generovani. Nastesti nejsem takovy grafoman a bude trvat mnoho let, nez tato doba prekroci unosnou miru. Do budoucna chci zapracovat na propojeni tech procesu, ktere dosud funguji samostatne. Napr. generovani blogu je zatim oddelene od generovani domovskych stranek Udoli desu. Vylepsovani stavajicich skriptu je dalsi oblast, ktere je nutne se venovat. Zmineny atom feed, gopher a gemini. A mozna se pustim do studia neceho komplexnejsiho, napr. webovych aplikaci BCHS. => https://jekyllrb.com/ [Jekyll] => pripad-markdown.html [Pripad markdown] => https://lukesmith.xyz [lukesmith.xyz] => https://gohugo.io/ [Hugo] => https://github.com/JohnCoene/marat [Marat] => https://github.com/queensferryme/hugo-theme-texify [TeXify] => https://github.com/reyk/blog [Reyk Floeter, Tag cloud] => https://www.1001fonts.com/im-fell-great-primer-font.html [IM Fell] => internetova-kontrarevoluce.html [Internetova kontrarevoluce] => https://en.wikipedia.org/wiki/Edward_Tufte [Edward Tufte] => https://edwardtufte.github.io/tufte-css/ [Tufte CSS] => https://desudoli.cz [Udoli desu] => https://slashformotion.github.io/hugo-tufte/ [Tufte sablona pro Hugo] => https://www.qwant.com/?theme=1&vt=0&b=1&s=1&l=en_gb&sr=cs&r=CZ&t=videos&q=luke+smith+hugo&o=0%3AZFL09qhKi5I [Luke prezentuje Hugo] => https://kristaps.bsd.lv/lowdown/ [lowdown] => https://kristaps.bsd.lv/sblg/ [sblg] => https://learnbchs.or/index.htm [BCHS]