V tomto článku se podíváme na převod mezi Markdown [1] a DOCX - nativním formátem dokumentu aplikace Microsoft Word, který se používá od roku 2007. Možná se divíte, proč nadšenec Markdown a Asciidoc (jako já) řeší tento případ. Spolupráce se skupinou dalších autorů může vést k situaci, zatímco jeden nebo více účastníků požaduje výstupní formát DOCX. Nikoho nenechte na holičkách a místo toho zjistěte, která omezení existují, a jak se můžeme pokusit udělat radost všem členům skupiny.
Co je to Markdown?
Jak již bylo uvedeno v „An Introduction into Markdown“ [2], záměrem Markdown je jednoduchá konverze textu na HTML. Myšlenkou bylo, aby psaní webových stránek, dokumentace a zejména záznamů v blogu bylo stejně snadné jako psaní e-mailu. Od dnešního dne je de facto synonymem pro třídu lehkých jazyků pro popis značek a cíl lze považovat za dosažený.
Markdown používá syntaxi formátování prostého textu. S podobným přístupem jako HTML řada značek označuje nadpisy, seznamy, obrázky a odkazy ve vašem textu. Několik řádků níže ilustruje základní dokument, který obsahuje dva nadpisy (1. a 2. úroveň) a také dva odstavce a prostředí seznamu.
## Francie
Toto je výběr míst:
* Paříž (_Ile de France_)
* Štrasburk (_Alsace_)
Pro správnou návštěvu plán asi týden.
Převod na DOCX
Chcete-li převést svůj dokument Markdown na DOCX, použijte nástroj pandoc [3]. Pandoc je knihovna Haskell a popisuje se jako „univerzální převaděč dokumentů“ nebo „švýcarský armádní nůž pro převody dokumentů“. Je k dispozici pro různé platformy, jako jsou Linux, Microsoft Windows, Mac OS X a BSD. Pandoc je běžně součástí balíčku pro distribuce Linuxu, jako je Debian GNU / Linux, Ubuntu a CentOS.
Jednoduchá výzva k převodu je následující:
$ pandoc -o test.test docx.mdPrvní parametr '-o' odkazuje na výstupní soubor, následovaný názvem souboru ('test.docx '). Přípona souboru pomáhá pandoc identifikovat požadovaný výstupní formát. Druhý parametr pojmenuje vstupní soubor - v našem případě je to jednoduše 'test.md '.
Dlouhá verze výše uvedeného příkazu obsahuje dva parametry '-f markdown' a '-t docx'. První zkrátí termín „aroma“ a popisuje formát vstupního souboru. Druhý dělá totéž pro výstupní soubor a zkracuje zkratku '-to'.
Celý příkaz je následující:
$ pandoc -o test.docx -f markdown -t docx test.mdOtevření převedeného souboru pomocí aplikace Microsoft Word má za následek následující výstup:
Pro různé textové prvky používá Pandoc šablony stylů. To vám umožní upravit tyto prvky později podle vašich potřeb v celém dokumentu. Novější verze Pandocu nabízejí i obráceně - soubor DOCX můžete převést na Markdown následujícím způsobem:
$ pandoc -o test.md test.docxPak má vygenerovaný soubor následující obsah:
Doporučená místa k návštěvě v Evropě======================================
Francie
------
Toto je výběr míst:
- Paříž (* Ile de France *)
- Štrasburk (* Alsasko *)
Pro správnou návštěvu plán asi týden.
Užitečné možnosti příkazového řádku
Seznam možností Pandoc je poměrně dlouhý. Následující vám pomohou dosáhnout lepších výsledků a usnadní vám život:
* '-P' (dlouhá verze '-preserve-tabs'): Zachovat karty namísto jejich převodu na mezery. To je užitečné pro bloky kódu s odsazenými řádky, které jsou součástí vašeho textu.
* '-S' (dlouhá verze '-smart'): Produkuje typograficky správný výstup.
Tato možnost opravuje uvozovky, pomlčky / pomlčky i elipsy („…“). Po určitých zkratkách jako „Mr.“.
* '-track-changes = value': Určuje, co dělat s vložením, odstraněním a komentářem, které jsou vytvářeny pomocí funkce „Sledovat změny“ v aplikaci Microsoft Word. Hodnota může být buď přijmout, odmítnout, nebo vše, aby bylo možné zahrnout nebo odebrat změny provedené v dokumentu. Výsledkem je plochý soubor.
Další možnosti najdete v dokumentaci a na ruční stránce Pandoc.
souhrn
Konverze mezi Markdown a DOCX již není záhadou. Dělá se to v několika krocích a funguje to velmi dobře. Šťastné hackování 🙂
Odkazy a reference
* [1] Markdown
* [2] Frank Hofmann: Úvod do Markdownu
* [3] Pandoc
Poděkování
Autor by rád poděkoval Annette Kalbowové za pomoc při přípravě článku.