přejít na obsah přejít na navigaci

Linux E X P R E S, AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument

AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument

tuzky_1.png

Nebaví vás běžně používané textové editory (či procesory) typu OpenOffice.org Writer či MS Office Word? Chtěli byste snadno a hlavně rychle vytvářet text, a přitom nemuset stále sledovat, jak to bude vypadat a zda se to má vytisknout o kousek vlevo či vpravo? Hledat v nabídkách superúžasnou funkci, bez které v daném editoru jednoduše nemůžete být nebo se prát s automatickou opravou možných chyb, která vás odvádí od podstaty vaší práce?


Řešení právě těchto problémů nabízí program s názvem AsciiDoc, jediné, co budete potřebovat, je váš oblíbený čistě textový editor a spousta nápadů, o čem psát.

Instalaci AsciiDoc provedete obvyklým způsobem typickým pro vaši distribuci. V Debian GNU/Linuxu a jemu podobným distribucím zadejte: aptitude install asciidoc. I když je AsciiDoc skutečně malým programem, závisí na dalších balíčcích. Mezi ty největší patří texlive. a tak se může stát, že instalace AsciiDoc bude vyžadovat i víc než 500 MB místa na disku. ;-)

AsciiDoc pomáhá

AsciiDoc umožňuje psát krátké dokumenty, články, knihy, unixového manuálové stránky. Formát AsciiDoc je možno přeložit do podoby HTML a DocBook. Jinými slovy, AsciiDoc vám pomůže při vytváření všech běžných textových dokumentů, ať už to bude kniha o 500 stranách nebo HTML článek publikovaný na Internetu.

Po pravdě, a podle dokumentace k AsciiDoc, je také možno vytvářet soubory PDF, DVI, LaTeX, PostScript. Pravdou je, že se mi to ještě nepodařilo. Převod probíhá prostřednictvím DocBook a s tím kamarád nejsem.

AsciiDoc je jiný

Jak název AsciiDoc napovídá, program asciidoc převádí běžný text (ASCII) na dokument (DOCument). Používat AsciiDoc tak můžete prakticky ihned, stačí začít psát a přitom si přečíst těch několik pravidel, kterých je dobré se při psaní držet. Tato pravidla se pak postarají o sazbu výsledného dokumentu. Velká výhoda AsciiDoc spočívá v jednoduchých pravidlech, které usnadňují čtení zdrojového souboru, a přitom zajistí efektivní tisk (vytvoření) výsledného dokumentu.

Ve formátu AsciiDoc vznikal seriál  Naučte se Ruby. PDF dokument vytvořený za pomoci AsciiDoc si můžete také prohlédnout. Jen dodám, že souvislost AsciiDoc s příponou dokumentu z MS Wordu (.doc) není žádná.

AsciiDoc je jednoduchý

Vytvořte textový soubor s názvem text.txt a vložte do něj následující:

Programování v jazyce Ruby
===========================
Martin Šín 
v1.0, Duben 2008

Úvod
------
V následujících několika článcích se budeme blíže seznamovat s programovacím
jazykem Ruby. Cílem tohoto seriálu nebude udělat z vás hotové programátory, ani
rozšířit vaši sbírku zářezů na opasku udávající kolik programovacích jazyků
znáte. Články jsou jednoduše určeny pro začínající programátory, ať už se tím
budou později zabývat na profesionální či amatérské úrovni. Seriál mohou použít
také učitelé na všech typech škol k rozšíření znalostí jim svěřených studentů
ať už jako hlavní či vedlejší programovací jazyk.

Další odstavec ...

Soubor převedete na stránku HTML zadáním příkazu asciidoc text1.txt. Chcete-li na začátku souboru vytvořit obsah (Table of Contents), zadejte příkaz takto: asciidoc -a toc text1.txt .

Co jste vytvořili? Výstup bude mluvit za vše, pro úplnost ale dodejme, že jste vytvořili stránku pojmenovanou Programování v jazyce Ruby spolu s odkazem na autora. Dál následuje verze, datum a první část v podobě Úvodu.

Jméno autora, verze i datum jsou nepovinné údaje a k výslednému kódu je můžete přidat kdykoliv později.

V další části je uvedena kapitola nazvaná Úvod a za ní běžný text.

Nadpisy

Z předchozího příkladu je vidět, že název článku (nadpis nejvyšší úrovně) se podtrhává dvojitou čarou, vlastně symbolem rovná se (=). Podnadpis je nutno podtrhnout jednou čarou, symbolem pomlčka (-). To, co jste ještě neviděli, je nadpis třetí úrovně nebo chcete-li podpodnadpis, který se podtrhává vlnovkou (~). Konečně pro další úroveň se používá znak stříška (^) a v úplně nejnižší úrovni to je pak symbol plus (+). Jak to může vypadat, vidíte na následujícím příkladu:

Z vlastní zkušenosti a na doporučení ostatních nižší úroveň než třetí nedoporučuji.

Programování v jazyce Ruby
===========================

Úvod
------

První kapitola
---------------

První podkapitola
~~~~~~~~~~~~~~~~~~

Druhá podkapitola
~~~~~~~~~~~~~~~~~~

První pod-podkapitola
^^^^^^^^^^^^^^^^^^^^^^

Úplně nejnižší úroveň nadpisů
++++++++++++++++++++++++++++++

POZOR! Podtržení nadpisů není možno dělat libovolně dlouhé. Pokud v předchozím příkladu přidáte jen několik málo znaků "pomlčka" navíc pod kapitolu Úvod, např. takto:

Úvod
-------

Upozorní vás na to AsciiDoc nepříliš lichotivě hláškou

WARNING: text.txt: line 11: section title out of sequence: expected level 1, got level 2

A výsledek nebude správně. Proto tedy volte podtržení nadpisu tak, aby odpovídalo šířce textu, který je uveden nad ním. Tolerance je v tomto směru poměrně malá. Pokud by vám tento způsob nastavení nadpisů nevyhovoval, můžete také použít styl zápisu podobající se např. zápisu na Wikipedii, a předchozí příklad zapsat následovně:

= Programování v jazyce Ruby =

== Úvod ==

== První kapitola ==

=== První podkapitola ===

=== Druhá podkapitola ===

==== První pod-podkapitola ====

===== Úplně nejnižší úroveň nadpisů =====

Nutno upozornit, že mezi jménem kapitoly a znakem rovná se (=) je potřeba uvést mezeru. Takže jednoduše řečeno, buď budete podtrhávat, nebo počítat znaky "rovná se". Co si vyberete, záleží na vás a obojí je možno v textu kombinovat.

Zvýraznění textu

Pro zvýraznění části textu, např. slova, se standardně používá kurzíva či tučné písmo. Abyste mohli začít hned pracovat, pojďme si nyní ukázat, jak se to dělá za pomoci AsciiDoc.

Slovo napsané 'kurzívou', *tučně* a '*tučnou kurzívou*'.
Kromě toho můžete také psát a zvýrazňovat +strojovým písmem+.

Pokud byste hledali trochu zábavnější formu zvýraznění (osobně to nemohu doporučit a raději se držím "zavedené" kurzívy a tučného písma), můžete zkusit následující.

Zdrojový soubor s dnešními příklady si můžete stáhnout: text1.txt. Pokud se chcete podívat na výsledný HTML soubor, prosím: text1.html.

[red]#Červený text.#
[,yellow]*Tučný text se žlutým pozadím.*
[blue,#b0e0e6]+Strojopisný modrý text na světle modrém pozadí.+

Pro dnešek by to stačilo, příště přijdou další úpravy textu a také se podíváme, jak zvýraznit vložený zdrojový kód nějakého programu. Jestliže se vám nechce čekat, podívejte se na zdroje uvedené na konci článku. V každém případě můžete začít rovnou psát a přitom vhodně strukturovat vznikající dokument.

Druhý díl: AsciiDoc: Vkládání odkazů, poznámek, zdrojového kódu do dokumentu

Nahoru

Odkazy

Příspěvky

AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
Martin 11. 08. 2009, 13:03:39
Odpovědět  Odkaz 
Osobně nám raději txt2tags, podobných systémů je více.
Re:AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
jos 13. 08. 2009, 18:22:04
Odpovědět  Odkaz 
třeba http://docutils.sourceforge.net/rst.html
používam i pro generování prezentací v s5
AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
Yetty 11. 08. 2009, 15:09:51
Odpovědět  Odkaz 
Jak to zvládá česká typografická pravidla? Je nějaká možnost generovat přímo např. české uvozovky?
Martin Šín Re:AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
Martin Šín 11. 08. 2009, 15:29:53
Odpovědět  Odkaz 
Záleží na tom která, tak třeba matematiku tam můžete přidávat přímo pomocí LaTeXu, tak bych se to mělo chovat korektně. S českými uvozovkami není problém, AsciiDoc používá utf-8 a uvozovky píšu (je-li to nutné) ve Vimu. Přidání nedělitelné mezery to taky umí, ale co mi je známo tak pouze ručně, u HTML jsem to neřešil.
AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
sLama 26. 09. 2009, 22:37:04
Odpovědět  Odkaz 
Nějak jsem stále nepřišel na to, jak stvořím ten PDF dokument, který je zmiňován v nadpisu článku.

Můžete poradit?
Martin Šín Re:AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
Martin Šín 27. 09. 2009, 10:11:45
Odpovědět  Odkaz 
Možností je víc, bohužel některé nemusí vést k dobrému výsledku. Součástí asciidoc je nástroj a2x, který požadované provede. Bohužel, když jsem ho zkoušel nerozuměl si korektně s češtinou. Další možností by byla konverze třeba z DocBook nebo LaTeXu a z nich pak vytvoření souboru PDF, DocBooku ovšem také nehovím. Konečně pro mě snad poslední (a osvědčenou) možností byl převod vytvořeného HTML do formátu PDF. K tomu jsou opět nějaké nástroje typu html2pdf a podobné (znovu myslím, že mají problém s češtinou), nejjednodušší možností se tak pro mě stalo vytvoření postscriptového souboru běžně z Firefoxu (Iceweaselu) - při tisku stránky se vybere soubor .ps a jeho převod pomocí ps2pdf do formátu PDF. Snad jsem se v tom moc nezamotal. ;-)
Re:Re:AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
sLama 27. 09. 2009, 11:14:13
Odpovědět  Odkaz 
Ne, nezamotal jsem se :-) K podobnému výsledku jsem dospěl i já. Nástroje a2x ani dblatex mi nevytvoří nic použitelného. Pátral jsem i v helpu k AsciiDoc.

Tisk html do pdf(ps) z Firefoxu používám celkem často, jenže ten mi do výsledného pdf dokumentu přidá standardní záhlaví a zápatí, která tam nechci.

AsciiDoc se mi líbil kvůli své jednoduchosti a podobnosti se syntaxí DokuWiki. A LaTeX se kvůli tvorbě dokumentů učit nehodlám. Nicméně na tvorbu html je AsciiDoc perfektní a děkuji Vám za "osvětu"

Zkusím se poohlédnout po něčem použitelnějším, a pokud se mi to bude zamlouvat, dám vědět.
Re:Re:AsciiDoc: Vytvořte si z jednoho zdroje HTML nebo PDF dokument
sLama 27. 09. 2009, 21:51:54
Odpovědět  Odkaz 
Asi mám smůlu, verze v Ubuntu 9.04 je zabugovaná: https://bugs.launchpad.net/ubuntu/+source/asciidoc/+bug/368119

$ a2x -f pdf test.txt

skončí chybou (viz výše). Snad to v další verzi opraví :-(((( Zatím testuji txt2tags.

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz