Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.
AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).
Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.
Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.
Před několika měsíci jsem vytvořil program XML Web generátor, jak již název napovídá, program slouží ke generování webů. Práce není od té doby moc intenzivní, ale občas na to sáhnu. Nedávno jsem přidal dvě nové funkce: zvýrazňování syntaxe kódu v <pre/> a možnost vkládání grafů/diagramů.
Ačkoli je dneska asi většina webů dynamická a používá nějaký skriptovací/programovací jazyk na straně serveru, statické weby úplně nevymřely a čas od času se hodí. Vytvořit takový web je hračka, stačí k tomu textový editor a základní znalost (X)HTML značek. Jenže pak člověk zjistí, že by chtěl mít na všech stránkách nabídku s odkazy na ostatní stránky, nebo když se rozhodně změnit rozvržení stránky, musí to dělat na všech stránkách ručně.
Další věc je třeba RSS/Atom/Sitemap.xml, které se už vůbec člověku nebude chtít psát ručně. Vkládání záhlaví/zápatí je taky celkem nuda.
Proto je dobré ručně udržovat jen ty informace, které jsou jedinečné (obsah stránek) a všechno ostatní automaticky dogenerovat. A k tomu slouží tento program.
Ze sady vstupních XML dokumentů vytváří pomocí XSLT transformace webové stránky.
Formát vstupních dokumentů je velmi jednoduchý a vypadá takhle:
<stránka xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"> <nadpis>Nadpis stránky</nadpis> <perex>Krátký popis</perex> <pořadí>10</pořadí> <text xmlns="http://www.w3.org/1999/xhtml"> <p>Sem už píšeme obsah stránky – normální (X)HTML, jak ho známe</p> </text> </stránka>
Je to vlastně jen hlavička obsahující nadpis a popis stránky, pořadí v nabídce (pokud chybí, stránka v nabídce nebude, ale vygeneruje se) a pak už následuje obsah stránky uvnitř <text/>, kam už píšeme standardní značky.
Kromě nich můžeme do textu vkládat i „makra“ – vlastní značky, ze kterých generátor něco vyrobí.
Do textu např. vložíme:
<m:měřák hodnota="95"/>
a ve vygenerované stránce bude:
Program obsahuje několik vestavěných maker a další si může dopsat uživatel sám (je to celkem triviální, stačí se inspirovat u těch už hotových).
Více se o programu dočtete na jeho oficiální stránkách nebo v článku Generujeme jednoduchý web pomocí XML.
Funkce, které jsem nedávno přidal:
Když člověk vkládá na web nějakou ukázku kódu, je dobré mít tam zvýrazněnou syntaxi, je to přehlednější. Je škoda, že se o to nemůže postarat prohlížeč sám od sebe, ale co se dá dělat. Do generátoru jsem přidal možnost zvýrazňování – do zdrojového souboru jednoduše vložíme:
<m:pre jazyk="bash">#!/bin/bash # Matrixový spořič :–) case "$1" in start) echo -e "\033[22;32m"; cat /dev/urandom | hexdump; ;; stop) echo -e "\033[0m"; ;; *) $0 start; ;; esac</m:pre>
a generátor z toho vyrobí:
U složitějších zdrojáků oceníte možnosti XML – kód můžete uzavřít do <![CDATA[…]]>, a pak v něm nemusíte řešit escapování (např. generika v Javě). Časem (snad) bude v generátoru možnost vkládat externí soubory přes XInclude.
Bylo by asi zbytečné psát si vlastní zvýrazňovač syntaxe, tak jsem použil už hotový – Pygments – a propojil ho s generátorem.
Občas potřebujeme do stránky vložit diagram, třeba UML, nebo nějaký jiný – obrázek řekne víc. Proto jsem přidal toto makro – do zdrojového souboru vložíme:
<m:diagram orientace="vodorovně"> A -> B; B -> C; </m:diagram>
a generátor z toho vyrobí:
Atribut orientace
je nepovinný (výchozí je svisle).
Jako atribut je taky možné uvést název (zobrazuje se pod grafem).
Vygenerovaný obrázek je ve formátu SVG, takže hezky škáluje, když si ho chce uživatel přiblížit. Časem budou i bitmapové obrázky (PNG), pro případ, že by SVG nešlo zobrazit (<img/> vnořený do <object/>).
Syntaxe použitá pro popis diagramů je vám asi povědomá – použil jsem Graphviz. Můžete pomocí něj tvořit mnohem složitější a hezčí grafy, než jsou tyto ukázky.
Stejně jako Pygments je to externí nástroj volaný při transformaci. Pokud v systému chybí příkaz pygmentize
a stránka obsahuje kódy, které se mají zvýraznit, jen se vypíše varování a stránka se vygeneruje bez zvýraznění (to není taková tragédie). Ale pokud stránka obsahuje diagramy a příkaz dot
chybí, generování spadne – je potřeba Graphviz doinstalovat. Pokud uživatel tyto funkce nechce využívat, samozřejmě tyto programy nainstalované mít nemusí, generátor bude fungovat bez nich.
Tiskni Sdílej: