Projekt: Hesla Jednoty bratrské
Tato stránka je součástí projektu: | |
Příslušnost: skupinová |
Krátké URL: https://w.wiki/7Qnr
Hesla Jednoty bratrské (německy Losungen) jsou malou knížečkou, sbírkou biblických veršů, losovaných předem na každý rok. Je to jedno z nejdéle vydávaných periodik na světě (291 ročníků bez přerušení). Podle německého originálu pak vzniká více po celém světě více než 60 jazykových mutací. Tento Projekt: Hesla Jednoty bratrské dokumentuje vydávání Hesel JB v českém jazyce. Výsledek této práce je:
- vydáván knižně
- vydáván jako e-book v PDF
- zdarma k disposici jako aplikace pro Android
- zpřístupněn na WWW stránce http://hesla.dulos.cz/ serveru http://dulos.cz/ (ΔΟΥΛΟΣ = sluha, otrok; jako hebrejské Ebed či latinské servus, z toho server)
- na témže serveru jako javascript, takže libovolný WWW server může Hesla zobrazovat na svých stránkách
- na témže serveru jako XML soubor, využitelný kýmkoliv, takže je možné např.
- prohlížet je kdekoli díky např. https://hesla.ceplovi.cz/
- atd.
Zde můžeme sledovat, jak je připravováno české vydání těchto Hesel v jednotlivých letech a jak je možné s Hesly dále pracovat – jak po technické stránce (databáze, převod do jiných jazyků, prohlížeče v různých prostředích, integrování do konkordance atd.), tak po teologické či praktické.
Další spolupracovníci na projektu jsou vítáni.
Společné podstránky
editovatPodstránky pro všechny ročníky Hesel JB:
- /Úvod – úvod k projektu
- /Historie – bádání o historii Hesel (Losungen)
- /obálka – návrh obálky pro jednotlivé roky
- /heslo roku – hesla pro jednotlivé roky, vybraná dle ÖAB: Jahreslosungen
- /výročí – významná výročí v jednotlivých letech
- /písně – odkazy na písně
- /editace – jak děláme editace a korektury
- /zdroje – používané překlady bible atd.
- /e-book – jak udělat e-book
- /ISBN – přidělená čísla z databáze ISBN
Příprava jednotlivých ročníků Hesel
editovatDeníkové záznamy:
- /2009 – příprava Hesel pro rok 2009
- /2010 – příprava Hesel pro rok 2010
- /2011 – příprava Hesel pro rok 2011
- /2012 – příprava Hesel pro rok 2012
- /2013 – příprava Hesel pro rok 2013
- /2014 – příprava Hesel pro rok 2014
- /2015 – příprava Hesel pro rok 2015
- /2016 – příprava Hesel pro rok 2016
- /2017 – příprava Hesel pro rok 2017
- /2018 – příprava Hesel pro rok 2018
- /2019 – příprava Hesel pro rok 2019
- /2020 – příprava Hesel pro rok 2020
- /2021 – příprava Hesel pro rok 2021
- /2022 – příprava Hesel pro rok 2022
- /2023 – příprava Hesel pro rok 2023
- /2024 – příprava Hesel pro rok 2024 – Hesla už jsou vytištěna a prakticky celý náklad rozdistribuován
- /2025 – příprava Hesel pro rok 2025 – aktuální proces
Řezy písma
editovat2000
editovatHesla na rok 2000 byla prvními, která jsem sázel a připravoval do tisku. Dělal jsem to v prostředí LaTeX, kde jsem použil tradiční Knuthův řez w:en:Computer Modern
2003?
editovatSazby Hesel se ujal náš Slávek, který už namísto LaTeXu vytvořil vlastní soubor maker pro w: PlainTeX, ve kterém od té doby Hesla stále sázíme. Napomohl tomu fakt, že Slávek v té době začal studovat w: FEL, kde jej v prvním ročníku učil matematiku RNDr. Petr Olšák, náš velký TeXový guru, a tak i náš Slávek byl sazbou v TeXu nadšen. Rovněž byl nadšen řezem w:en: Baskerville – když jsme se ho ptali, co chce k Vánocům, nechtěl nic jiného, než tento řez, pro který si zašel přímo do písmolijny Františka Štorma a tento řez jsme použili do Hesel.
2004
editovatKdyž pan Štorm viděl chudého studenta, přidal mu k rodině řezu Baskerville ještě rodinu řezu Jannon Text Moderne, inspirované řezy Jeana Jannona, který od roku 1610 pracoval jako tiskař kalvinistické akademie v w: Sedanu, kde také obdržel titul "Imprimeur de son Excellence et de l'Academie Sédanoise" – viz Storm Type Foundry – Jean Jannon. V roce 1615 začal pracovat na vlastním řezu písma, které na první pohled může připomínat antikvu Claude Garamonda, se kterou byl občas zaměňován. (w:en: Claude Garamond, w:en: Garamond)
Tento Štormův řez mi připadal pro tisk našich Hesel zvlášť vhodný a proto se ho držíme od té doby až do dnešních dnů.
- /Jannon – instalace řezu
Technologie
editovatUvádíme různé formáty používaných dat a sktipty pro jejich postupné zpracovávání:
Losungen – výchozí databáze
editovatStruktura databáze MS Access, kterou dostáváme z Ochranova. Tato databáze má všechny položky uloženy v jediné tabulce, jejíž každý řádek odpovídá jednomu dni v roce. Struktura té databáze, kterou dostávám, se bohužel každých pár let pozmění a tak pak je nutno přepisovat všechny navazující skripty.
MDB import
editovat- /2016/hes16import – skript bash, kterým je v sedmi fázích prováděn import z výše uvedené databáze do tabulky Import naší interní databáze MySQL za pomoci utility 'mdb-export' z balíku MDB Tools (prostřednictvím exportu do CSV souboru); přitom samozřejmě dochází k řadě různých kontrol a vychytávání různých problémů, a velké části ručně.
Pracovní databáze
editovatStruktura naší pracovní databáze MySQL. Tato databáze kromě českých Hesel obsahuje i původní německý text, který však nemáme právo zveřejňovat. I tato struktura se každým rokem poznenáhlu mění, např.:
Load
editovat- /2017/hes-sql-load.pl – perlovský skript, který roztřídí data z jedné tabulky Import do různých tabulek, aby s nimi bylo možno dále pracovat.
- /2018/HesSQL.pm – perlovský modul pro práci s naší MySQL databází
Translate
editovatStrojový "překlad" německého textu do českého. Skript otevře databáze s českými překlady bible (ČEP a Bible kralická 1613) a podle odkazů u německých veršů dohledává příslušné odkazy v českých překladech. Přitom ovšem občas může dojít k problémům v rozdílném číslování veršů – vzájemně se občas liší i číslování ekumenického a kralického překladu:
Pomocné tabulky
editovat- /2017/hes17kni.tab – tabulka porovnávající názvy biblických knih v různých jazycích a jejich zkratky
Editace
editovatPřipravené texty jsou dále editovány na serveru – tuto práci dělali bratři Jindřich Halama sen. a Miroslav Matouš; po smrti br. Halamy už jen br. Matouš. Po smrti br. Matouše bratr Jindřich Halama jr.
Poté následují korektury, na kterých se podílí zpravidla čtyři dobrovolníci zpravidla z řad teologů či studentů teologie, z nichž každý kontroluje jedno čtvrtletí. K práci s databází na Internetu slouží následující PHP skripty a soubor kaskádových stylů:
- /editace – návod pro editory = ovládání výše uvedených PHP skriptů
Pravidelné zálohování
editovatDatabáze Hesel je během editace na serveru pravidelně zálohována v hodinových intervalech pomocí programu phpMyBackupPro v.2.4 – hlavně pro případ, že by některý z editorů něco pokazil a také pro to, aby se dalo dohledat, kdo kdy provedl jaké změny. Zálohy jsou též ve formě příloh rozesílány e-mailem pro případ havárie serveru.
Textové formáty dat
editovatZ databáze jsou Hesla JB exportovány do textového souboru formátu .PRF a ten je dále upravován do formátů .PRE a .PRG. Jedná se o soubory, zpracovávané po řádcích. Tyto soubory už obsahují pouze české texty, které máme právo zveřejňovat – viz hesla.dulos.cz/src2017/. Tyto historicky vzniklé formáty využívají dosud někteří autoři, kteří vytvářejí různé prohlížeče Hesel:
- /.PRF – formátovaný výpis – biblické verše zalamovány do řádků
- /.PRG – vloženy tagy pro XML soubor
- /.PRE – odstraněno zalamování řádků
Vkládané zalomení řádků vzniklo historicky v době, kdy příslušné prohlížeče/readery nedovedly biblické verše inteligentně zalamovat na malých obrazovkách. V současné době už nemá velký význam, ale je možné jej využít například u žalmů a a dalších poetických textů, kde je výhodné jednotlivé biblické verše rozřádkovat.
XML
editovatLepší variantou než export databáze do prostých textových souborů je export do XML. Tento soubor pak slouží například pro prohlížení Hesel na platformě Android.
- /2016/hes16a.dtd – definiční DTD soubor
- /2021/hes21-02.rng – w:en: Relax NG schema pro kontrolu syntaxe XML souboru s Hesly JB.
Příklad použití RNG pro validaci:
xmllint --noout --relaxng hes21-02.rng hes21-01.xml 2> hes21-01.errors
Zde je příklad výsledného XML Hesel JB pro rok 2024:
TeX
editovatDalší perlovský skript překope vstupní textový soubory pro jednotlivé měsíce do výchozích zdrojových souboru sázecího programu PlainTeX:
Zdrojový soubor, obsahující makra – původně psal Slávek Heřman, později jsem jej všelijak dobastloval, aniž bych TeXu moc rozuměl:
Poté ovšem musí následovat několik cyklů ručního zpracování a dalších průběžných korektur textu. Korektury jsou (pokud možno) dělány stále v databázi, aby byly opraveny i chyby v dalších formátech.
Příklad pro měsíc leden 2024:
(Řádky, okomentované jako %PATCH, byly vloženy ručně při následném ladění sazby.)
Generování Hesel z databáze
editovatPoté, co je editory a korektory připravena MySQL databáze s Hesly na serveru, nastává chvíle generování Hesel v různých formátech.
Databáze ze serveru je exportována a importována do lokální databáze, kde pak je zpracovávána různými skripty.
Během generování dochází průběžně k různým kontrolám, např. zda k různým veršům nechybí příslušné biblické odkazy a zda je jejich formát v pořádku, zda počet a druh různých čtení na všední dny, neděle i svátky je v pořádku atd. Přitom je nutno jednotlivé chyby průběžně vychytávat, opravovat v původní databázi RFC na serveru, tu opět exportovat a importovat do lokální databáze a pak opět spouštět celý proces.
Tento proces sestává ze tří fází – neboť při výskytu různých typů chyb není zapotřebí generovat vše celé znovu, ale jen určitou část.
Tyto tři fáze jsou inkorporovány do tří základních skriptů bash:
(Následující odkazy jsou příklady pro Hesla JB na rok 2024, nicméně většina z nich je stejná jako u Hesel pro minulé roky – proto se odkazy mohou zobrazovat červeně, což není nepřekonatelnou chybou.)
- /2024/go.sh – původně tento skript obstarával celou rutinu, ale později byly konečné fáze zakomentovány a v současné době pouze:
- Načte hesla z lokální MySQL databáze a skriptem /2024/hes24sql-prf.pl vygeneruje soubor ve formátu EvEp PRF, který obsahuje tagy pro evangelia a epištoly (které do databáze Losungen byly zavedeny až později – jedná se tedy o historický relikt)
- další skriptík
evep.pl
převedl nové značení odkazů z nedělí a církevní svátků (Evangelium + Epištola, případně Žalm) na původní značení na 1., 2. a 3. čtení. Nicméně když se v Losungen objevilo ještě další čtení ze Starého zákona, byl tento starý systém opuštěn a zbývající skripty přepsány, aby respektovaly nové členění různých čtení:- Ev = Evangelium
- Ep = Epištola
- Ps = Psalm
- AT = Alte Testament
- Skript /2024/hes24spl.pl rozdělí jeden soubor pro celý rok na 12 souborů PRF pro jednotlivé měsíce.
- Skript /2024/hes24prfprg.pl ze souborů formátu PRF udělá formát PRG – opět mezičlánek z historických důvodů, neboť tyto soubory zveřejňujeme a někteří další uživatelé mohou zpracovávat Hesla v těchto historických formátech.
- Skript /2024/hes24xml.pl konečně z dvanácti souborů PRG opět udělá jeden XML soubor, který využívají někteří další uživatelé např. do svých aplikací pro android či různé webové aplikace na svých stránkách.
- Tento XML soubor v kódování UTF-8 je ještě (opět z historických důvodů) konvertován rovněž do XML souboru v kódování Isolatin 2 (ISO-8859-2)
- Validace XML souboru, jednak programem
onsgmls
dle DTD souboru a druhak utilitouxmllint
dle schema, specifikovaného formátem RNG. - Generování souboru perikop: Zatímco německá Losungen uvádějí texty pro kázání (Predigt) mezi biblickými čteními u jednotlivých dnů, česká Hesla je uvádějí až ve zvláštní části Perikopy – proto je nutno vyčlenit z daných souborů pro Hesla jednotlivých měsíců a soustředit do zvláštního souboru
hes24per.pre
- Generování HTML souborů pro webovou versi Hesel
- Generování webového kalendáře
hes24kal.htm
skriptem /2024/hes24kal.pl - Další části procesu byly v uvedeném skriptu zakomentovány a jsou prováděny zvláštními skripty, a to hlavně z toho důvodu, že v průběhu práce na sazbě Hesel není nutno vždy znova načítat data z MySQL databáze, ale stačí pracovat s již vygenerovanými soubory ve formátu PRE.
- /2014/go-tex.sh – nyní tedy (pokud je doposavad vše v pořádku, zejména validuje XML soubor) nastává chvíle pro generování sazby ve formátu PlainTeX se souborů formátu PRE, jak bylo již výše uvedeno. Velký díl práce obstarávají makra, která jsou schopna celkem dobře formátovat sazbu jednotlivých veršů, odkazů na čtení, písní, výročí, dodatečných textů, nedělí a svátků atd. Dále je vysázen i soubor, obsahující perikopy.
- /2014/go-patch Výsledná automaticky generovaná sazba Hesel ovšem nemusí být uspokojující, proto je nutno tuto sazbu korigovat řadou dalších úprav, zejména vhodně usměrnit některé stránkové zlomy, sazbu písňových textů, nedělní odkazy na čtení, obsahující čtyři čtení atd. Po těchto ručních úpravách jsou utilitou diff porovnány původně automaticky generované soubory s těmi ručně upravenými a výsledkem jsou soubory patche, které jsou pak následně aplikovány na původní mechanicky generované soubory v případě, že může dojít (a také dochází) k dalším změnám v původní databázi (kdy během náhledu na sazbu si uvědomujeme hromadu různých dalších chyb, které pramení již z chyb v této databázi). A dále jsou k této výsledné sazbě připojeny další soubory, tvořící kompletní sazbu Hesel (titulní stránka, stránka copyrightů, úvod, výročí atd. ... až adresáře, tiráž atd.)
Android
editovatAplikaci Hesla Jednoty bratrské pro Android dělá Joachim Reiß Já mu pro to dodávám každý rok podklady, tj. data ve formátu XML, a dále mu pomáhám s lokalizací aplikace do češtiny.
Výchozím souborem je XML soubor, obsahující celou databázi Hesel na příslušný rok v češtině. Z nějakého důvodu si ale Joachim nedokáže z tohoto souboru vytáhnout hesla týdnů a měsíců, takže k tomu použiji XSL transformaci [
Zde je příklad XML souborů pro rok 2018: Index of /src2018/verze_2017-08-18/xml
JavaScript
editovatRovněž je generován javascriptový soubor pro dynamické zobrazování našich Hesel na různých dalších webových stránkách.