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

Autor: Zlatý fond denníka SME | 23.5.2008 o 15:30 | Karma článku: 11,09 | Prečítané:  4897x

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?

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?

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.

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ť

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

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.

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

DOMOV

Milióny na štadióny míňajú svoj cieľ

V Košiciach má v roku 2019 vďaka štátnej dotácii stáť nový futbalový štadión. Klub však skrachoval, a je otázne, kto na ňom bude hrať.


Už ste čítali?