Jednoduché značkovací jazyky: publikujte snadno, přehledně a rychle - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Software

Jednoduché značkovací jazyky: publikujte snadno, přehledně a rychle

technologie tabletpc

19. ledna 2007, 00.00 | Oproti XML a jeho dialektům nebo též třeba TeXu, nabízejí jednoduché značkovací jazyky – jako jsou AsciiDoc, txt2tags či Wikitext – výrazně jednodušší syntaxi zápisu při silných publikačních možnostech, a to i u poměrně
složitě strukturovaných dokumentů. Využití při webovém či cross-media publikování, nebo též
v redakčních workflow je zde nasnadě. Podrobněji jej nastiňujeme v tomto článku.

Technologie značkovacích jazyků má v publikačním průmyslu své pevné místo. Vše v podstatě začalo dodnes hojně užívaným TeXem a s ním spojenými makronástavbami, z nichž nejznámější je dnes LaTeX. Po nepříliš úspěšném SGML přišel boom publikování na Internetu díku HTML, XML a jeho dialekty (mj. XHTML, dokonalejší a "čistší" HTML) pak dnes slibují pravou revoluci při publikování dokumentů nejrůznějších typů rozmanitými nástroji a kanály. Tak trochu ve stínu těchto prostředků zůstávají jednoduché značkovací jazyky (lightweight markup languages), které dovolují obvykle velmi jednoduchým, skutečně "člověkem čitelným" způsobem popsat strukturu i poměrně složitých dokumentů. Jsou dané prostředky pouhou hříčkou, sloužící k potěše jejich tvůrců, nebo se dají v současném publikování nějak smysluplně využít? O odpověď se pokoušíme v našem článku.

Principy jednoduchých jazyků

Jednoduchý jazyk vychází z předpokladu, že k popisu mnoha prvků obsažených v dnešních dokumentech postačí několik málo jednoduchých značek. Konkrétně se třeba nadpis vyznačí podtržením nebo předřazením určitého znaku, typ nebo počet znaků přitom určují úroveň vnoření nadpisu; text, jenž má být zvýrazněn tučně či kurzívou, se pak opět vloží mezi určité znaky, které se jinak v textu příliš nevyskytují (třeba podtržítka, vodítka apod.). Obdobně lze naložit s výčty, odkazy, obrázky a dokonce také třeba tabulkami, matematickými vzorci či výpisy programového kódu.

jedjaz1f.jpg

Zápis kódu v programovacím kódu s pomocí AsciiDoc

Dokument v daném značkovacím jazyce (jde vlastně o čistě textový dokument) pak musí zpracovat odpovídající utilita. Ta se postará o překlad do jednoho či více zavedených značkovacích jazyků, jako jsou typicky třeba (X)HTML, DocBook (dialekt XML určený především pro odbornou literaturu) nebo LaTeX. Takto získané dokumenty lze pak přímo publikovat (/X/HTML), nebo s pomocí odpovídajících nástrojů (DocBook konvertory, TeX, pdfTeX aj.) převést do publikačních formátů (např. PDF).

Pro a proti

K čemu je ale vlastně takovýto postup dobrý? Odpověď zde je poměrně nasnadě, nicméně vyžaduje obšírnější výklad, a tak se zde spokojíme jenom s náznaky. Jako hlavní argument pro použití odlehčeného jazyka lze uvést právě jednoduchost daného prostředku. Ta dovolí pořídit dokument v takovémto jazyce v prakticky libovolném nástroji pro editaci textu, tedy nejen textovém editoru či procesoru, ale též třeba v poli pro editaci textu ve webovém formuláři, nebo také editoru poznámek na PDA či v mobilním telefonu. Vysvětlit uživateli syntaxi takovéhoto jazyka je přitom neskonale jednodušší nežli třeba u DocBooku či LaTeXu, nemluvě pak o snadnosti, s jakou lze pořizovat odpovídající zápis, ke kterému není zapotřebí žádných speciálních příkazů či klávesových zkratek atp.

Zápis, na rozdíl od složitějších značkovacích jazyků, zůstane prakticky perfektně člověkem čitelný, takže snadné jsou i opravy dokumentu apod. Jednoduchost rovněž znamená, že relativně bezproblémové a snadné je i napsání exportního filtru, který dokument v daném jazyce dokáže generovat třeba z databáze nebo jiného systému pro správu obsahu. A výrazně větší měrou lze pak obvykle ovlivnit (editací odpovídajících konfiguračních souborů), jak se budou značky převádět, tj. například je možno zajistit generování podstatně čistšího HTML kódu nežli třeba při použití WYSIWYG nástrojů pro editaci webových stránek nebo exportních filtrů textových procesorů.

Jsou zde ale i nevýhody (o kterých se však opět z prostorových důvodů můžeme zmínit jen stručně). Tou principiální je přece jen výrazně nižší vyjadřovací schopnost daného typu jazyků oproti prostředkům, jako jsou XML dialekty. V potaz je pak třeba brát i často nepříliš dobrou úroveň odpovídajících převodních nástrojů, danou marginálním zájmem vývojářů i uživatelů o daný jazyk.

jedjaz2f.jpg

Dialekty, jako je txt2tags, lze konvertovat i prostřednictvím online služeb

Kde tedy mohou – s přihlédnutím ke kladům a záporům jejich nasazení – najít jednoduché značkovací jazyky své místo? V podstatě všude tam, kde je struktura dokumentů natolik transparentní, že ji lze vměstnat do několika málo strukturních prvků. Možnými oblastmi nasazení pak mohou být různé online systémy pro tvorbu obsahu (blogy, redakční systémy vydavatelství apod.) či řešení pro správu obsahu (automatické generování z vložených dat) – viz třeba různé podoby Wikitextu, tj. značkovacího jazyka pro wiki weby. Možné je ale i běžné "offline" použití, kdy uživatel manuálně provede převod dokumentu v daném jazyce do některého z podporovaných formátů s pomocí odpovídajících utilit.

Nasazení některým z uvedených způsobů stojí za zvážení například ve workflow typu zadavatel-studio či autor-vydavatelství, kdy dokument v jednoduchém jazyce bude zřejmě působit při zpracování výrazně méně problémů nežli podklad připravený "umně" s pomocí standardních formátovacích prostředků textového procesoru. A uvedené tvrzení pak může ještě větší měrou platit u podkladů, u kterých je jinak vyžadováno důsledné použití stylů, či dokonce generování XML struktury. Ovšem znovu musíme upozornit, že hlavním kritériem úspěšného nasazení je zde komplikovanost popisované struktury.

AsciiDoc: jednoduchý jazyk v reálném nasazení

Možnosti jednoduchého značkovacího jazyka jsme měli možnost otestovat při práci se systémem AsciiDoc, který je – obdobně jako jiné systémy daného typu – k dispozici v rámci otevřené licence (v daném případě GNU GPL). Převodník AsciiDoc umí v základní podobě převést dokumenty ze svého dialektu do HTML, XHTML, DocBooku, LaTeXu či linuxdoc. Vyjadřovací schopnosti daného jazyka jsou přitom opravdu na výborné úrovni – dokáže si poradit nejen s běžnou strukturou (nadpisy,včetně generování obsahu, normální i uživatelské odstavcové styly, výčty, neformátovaný text, verše aj.), ale i odkazy, obrázky či tabulkami, a také speciálními prvky, jako jsou poznámky, výpisy kódu v různých programovacích jazycích s možností zvýraznění syntaxe či třeba matematické vzorce nebo dokonce hudební notace. K dispozici je rovněž možnost tvorby vlastních značek, dynamických záměn v textu a mnoho dalšího.

O převod dokumentů se stará odpovídající skript v jazyce Python. Ten lze spustit nejen v různých podobách Unixu, ale také ve Windows, k dispozici jsou odpovídající instalační balíčky. Převod znamená zadání příkazu, ve kterém podobu výstupu určuje několik parametrů. Ten hlavní zde určuje odpovídající konfigurační soubor, který lze – podle našich zkušeností – snadno a efektivně upravovat. Mimo kontroly toho, jak bude vypadat převod do podporovaných jazyků (např. lze vytvořit XHTML odpovídající Internet Exploreru 6 apod.), lze tedy snadno vytvořit i vlastní převodník, který může posloužit třeba k převodu do tagovaného textu InDesignu či QuarkXPressu.

jedjaz0f.jpg

AsciiDoc umí sázet i hudební notaci

AsciiDoc disponuje rovněž bohatou dokumentací (vytvořenou – jak jinak – v daném jazyce a pak převedenou do HTML), která dovoluje rychlé a snadné osvojení tohoto prostředku. K dispozici je pak i utilita a2x, jež umožňuje převody AsciiDoc dokumentů např. do HTML Help, PDF či ODF (OpenDocument Format). Jedná se ovšem o prostředek vyžadující bash shell a nástroje, jako jsou FOP či Lynx; ve Windows je tedy zprovoznění tohoto nástroje značně problematickým, ne-li nemožným úkolem. Samotné základní převodní možnosti (navíc plně konfigurovatelné) jsou nicméně dle našeho názoru plně dostačující i pro složitější publikační projekty.

Závěrem

AsciiDoc není jediným jednoduchým značkovacím jazykem, posloužil nám však dobře jako ukázka toho, že zprovoznění prostředku daného typu může být skutečně hodně snadné, přičemž dosažený efekt při zpracování dokumentů je výrazný. Těm, kdo by rádi poznali i další jazyky daného typu (BBCode, txt2tags, Texy!, MediaWiki aj.), doporučujeme například příslušný seznam na serveru Wikipedia.

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » Go verze  

 » Rubriky  » Webdesign  

 » Rubriky  » Polygrafie  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: