reklama

Óda na Docbook (Ako vytvoriť elektronickú knižnicu)

Dnes píše Tomáš Ulej Microsoft Word, Open Office, HTML, PDF, HTML Help - Aj vám lezie na nervy vytvárať tie isté dokumenty viackrát len preto, že každý obľubuje iný formát? Ako sa zbaviť formátovej závislosti a vytvárať elektronické knihy, články, dokumenty, manuály jednotne, "otvorene" a pritom jednoducho?

Písmo: A- | A+
Diskusia  (2)

Docbook všetko vyrieši

Každý kto aspoň chvíľu pracoval s dokumentami vie, aké je ťažké na serveri dynamicky generovať PDF s funkčnou diakritikou, alebo zabezpečiť konverziu z jedného formátu - napríklad RTF napríklad na HTML, alebo ODT.

V Zlatom fonde denníka SME sme minulý rok museli riešiť závažnú dilemu: ako produkovať stovky kníh v najrôznejších formátoch (Microsoft Word, Open Office, HTML, PDF ap.) a pritom prácu robiť čo najmenej ručne, pri všetkých knihách evidovať množstvo bibliografických údajov a pri každej, čo i len malej zmene v dokumente, neopakovať opäť rutinu ručnej tvorby všetkých dokumentov. Ako postaviť jeden jediný zdrojový dokument a nechať náš systém, aby všetko ostatné urobil za nás?

SkryťVypnúť reklamu
Článok pokračuje pod video reklamou

Vďaka Ronymu sa odpoveď pre nás našla rýchlo: Docbook. Jeden XML súbor a z neho všetky formáty, o ktorých ste snívali. Množstvo nástrojov na správu, jednoduchá implementácia do vášho systému. A vo vatikánskej mene, lebo najlepšie veci sú vždy zadarmo.

Z vďaky k open-source komunite (najmä Normanovi Walshovi a v našich končinách najmä Jirkovi Kosekovi), ktorá vytvorila niečo také fantastické a pre poučenie tých, ktorí túto technológiu doteraz nepoznali rovnako ako kedysi my, uverejňujeme tu drobný návod, ako Docbook funguje a čo všetko ponúka.

Jeden XML a už nič viac

Celá krása Docbooku je v tom, že vytvoríte jeden XML súbor, v ktorom určíte všetko čo potrebujete: od toho kto je autorom knihy, článku, až po poznámky pod čiarou, kľúčové slová, ktorá na konci knihy chcete vypísať, alebo tabuľky, obrázky. Čokoľvek. A dokument bude dobre vyzerať dobre tak vo Worde, PDF ako aj v HTML.

SkryťVypnúť reklamu
reklama

Klasická Hello World ukážka Docbook XML súboru:

Veľmi primitívny ukážkový dokument

<?xml version="1.0" encoding="UTF-8"?> <book id="simple_book" xmlns="http://docbook.org/ns/docbook"version="5.0"> <title>Very simple book</title> <chapter id="kapitola_1"> <title>Kapitola 1</title> <para>Vitaj svet!</para> </chapter> <chapter id="kapitola_2"> <title>Kapitola 2</title> <para>Vitaj, svet! Opäť.</para> </chapter> </book>

Nemá zmysel na tomto mieste vysvetľovať ako sa vytvára tučné písmo, poznámky pod čiarou, alebo tabuľka. Všetko dôležité v zrozumiteľnom a dobre čítavom jazyku nájdete v bezplatnej elektronickej knižke Jiřího Koseka Docbook - Stručný úvod do tvorby a zpracování dokumentů.

Ak chcete vidieť ako vyzerajú dokumenty u nás v Zlatom fonde, pozrite sa napríklad na XML dokument k dielu Statky-zmätky Jozefa Gregora Tajovského.

Samozrejme, existujú aj ľahšie spôsoby ako si Docbook vytvoriť, aj bez znalosti jazyka XML - my odporúčame Xmlmind XML Editor, ktorý je v osekanej verzii zadarmo, alebo úžasný oXygen XML Editor, ktorý je kombináciou WYSIWYG a ingeligentného písania kódu, no treba zaň platiť

SkryťVypnúť reklamu
reklama

Generovanie súborov

Keď máme XML, chceme vygenerovať súbory. Tu máme opäť dve možnosti, alebo sa vykašleme na ručnú robotu a použijeme niektorý z nástrojov vyššie, ktoré okrem krásneho písania dokumentov umožňujú ich uloženie priamo v RTF, PDF, HTML a podobne (dobré použiteľná je bezplatná utilita XMLmind XSL-FO Converter), alebo využijeme bezplatné nástroje a všetky operácie budeme ovládať z príkazového riadka.

Tu je niekoľko rád k druhej možnosti. V prvom rade potrebujeme tzv. XSL štýly - to sú dokumenty, v ktorých je predpis ako budú naše dokumenty vyzerať. Stiahnite si ich odtiaľto a vložte napríklad do adresára c:/docbook/xsl

SkryťVypnúť reklamu
reklama

Teraz si stiahneme niekoľko aplikácii. Vložte si ich do adresára c:/docbook, nemusíte pre každú vytvárať vlastný adresár, môžu ísť spolu - nepobijú sa.

Teraz sa už môžeme dať do generovania súborov. Pri každej ukážke predpokladám, že sa nachádzame v priečinku c:/docbook a v ňom sú umiestnené súbory, tak ako spomínam vyššie. Zároveň sa tu nachádza aj dokument kniha.xml, ktorý chceme konvertovať.

HTML

xsltproc -o kniha.html xsl/html/docbook.xsl kniha.xml

FO - medzikrok k RTF a PDF

xsltproc -o kniha.fo xsl/fo/docbook.xsl kniha.xml

RTF

fo2rtf kniha.fo kniha.rtf

WML

fo2wml kniha.fo kniha.wml

ODT

fo2odt kniha.fo kniha.odt

PDF

fop -fo kniha.fo -pdf kniha.pdf -c conf/myfop.xconf

TXT

lynx -dump kniha.html > kniha.txt -nolist

Z docbooku možno získať aj ďalšie formáty - napríklad HTML Help, alebo MAN stránky. V prípade, že ste programátor, pre Docbook si dokonca môžete napísať aj vlastný štýl, ktorý z Docbooku urobí ďalší formát súboru. Návod na ďalšie výstupné formáty nájdete napríklad tu.

Ako má dokument vyzerať

Ak vám nevyhovuje ako dokumenty teraz vyzerajú, môžete sa s nimi vyhrať - úpravou pôvodných XSL štýlov. Písmo, okraje, hlavičky, pätičky, obrázky v pozadí, alebo veľkosť hárka, či čokoľvek iné - všetko sa dá výborne upraviť.

Stručný návod ako na to ponúka aj Jiří Kosek, no najobsiahlejšiu príručku ponúka v bezplatnej knihe Bob Stayton - XSL - Complete Guide

Na záver

Docbook je tu roky a niekedy sa naň zabúda. Zvážte, či vo vašej firme nepotrebujete lepšie riešenie ako písať manuály vo Worde a potom ich pregenerovávať do iných formátov. Zvážte, či práve nenastal čas zbaviť sa formátového Babylonu a začať tvoriť dokumenty lepšie.

Zlatý fond denníka SME

Zlatý fond denníka SME

Bloger 
  • Počet článkov:  42
  •  | 
  • Páči sa:  1x

Kolaboratívny blog digitalizátorov slovenskej literatúry v projekte Zlatý fond denníka SME Zoznam autorových rubrík:  NezaradenáZlatý fondČítankaAko digitalizujeme

Prémioví blogeri

Monika Nagyova

Monika Nagyova

295 článkov
Karolína Farská

Karolína Farská

4 články
Yevhen Hessen

Yevhen Hessen

20 článkov
Zmudri.sk

Zmudri.sk

3 články
Post Bellum SK

Post Bellum SK

74 článkov
Martina Hilbertová

Martina Hilbertová

49 článkov
reklama
reklama
SkryťZatvoriť reklamu