U ovom ćemo članku pogledati pretvorbu između Markdowa [1] i DOCX - izvornog formata dokumenta programa Microsoft Word koji se koristi od 2007. Možda se pitate zašto se entuzijast Markdowna i Asciidoca (poput mene) bavi ovim slučajem. Pa, suradnja s grupom drugih pisaca može dovesti do situacije dok jedan ili više sudionika zahtijeva DOCX kao izlazni format. Nemojte nikoga iznevjeriti i umjesto toga saznajte koja ograničenja postoje i kako možemo pokušati usrećiti sve članove grupe.
Što je Markdown?
Kao što je već istaknuto u "Uvod u Markdown" [2], namjera Markdowa je jednostavna konverzija teksta u HTML. Ideja koja je stajala iza toga bila je olakšati pisanje web stranica, dokumentacije i posebno unosa na blogu poput pisanja e-pošte. Od danas je to de facto sinonim za klasu laganih jezika za označavanje, a cilj se može postići postignutim.
Markdown koristi sintaksu formatiranja običnog teksta. Uz sličan pristup kao HTML, brojni markeri označavaju naslove, popise, slike i reference u vašem tekstu. Nekoliko redaka u nastavku ilustrira osnovni dokument koji sadrži dva naslova (1. i 2. razina), kao i dva odlomka i okruženje popisa.
## Francuska
Ovo je izbor mjesta:
* Pariz (_Ile de France_)
* Strasbourg (_Alsace_)
Za pravilan plan posjeta otprilike tjedan dana.
Pretvorba u DOCX
Da biste svoj Markdown dokument pretvorili u DOCX, upotrijebite alat pandoc [3]. Pandoc je Haskell-ova knjižnica i sebe opisuje kao "univerzalni pretvarač dokumenata" ili "švicarski vojni nož za pretvorbu dokumenata". Dostupan je za razne platforme kao što su Linux, Microsoft Windows, Mac OS X i BSD. Pandoc se obično uključuje kao paket za Linux distribucije poput Debian GNU / Linux, Ubuntu i CentOS.
Jednostavan poziv za pretvorbu je sljedeći:
$ pandoc -o test.docx test.doktor medicinePrvi parametar '-o' odnosi se na izlaznu datoteku, nakon čega slijedi naziv datoteke ('test.docx '). Proširenje datoteke pomaže pandoc-u da prepozna željeni izlazni format. Drugi parametar imenuje ulaznu datoteku - u našem slučaju to je jednostavno 'test.doktor medicine'.
Duga verzija gore prikazane naredbe sadrži dva parametra '-f markdown' i '-t docx'. Prva skraćuje izraz "okus" i opisuje format ulazne datoteke. Drugi čini isto za izlaznu datoteku i skraćenica '-to'.
Potpuna naredba je sljedeća:
$ pandoc -o test.docx -f umanjenje vrijednosti -t docx test.doktor medicineOtvaranje pretvorene datoteke pomoću programa Microsoft Word rezultira sljedećim rezultatima:
Za različite elemente teksta Pandoc koristi tablice stilova. To vam omogućuje da kasnije prilagodite ove elemente prema svojim potrebama u cijelom dokumentu. Novije verzije Pandoca nude i obrnuto - DOCX datoteku možete pretvoriti u Markdown na sljedeći način:
$ pandoc -o test.md test.docxZatim generirana datoteka ima sljedeći sadržaj:
Preporučena mjesta za posjet u Europi=======================================
Francuska
------
Ovo je izbor mjesta:
- Pariz (* Ile de France *)
- Strasbourg (* Alzas *)
Za pravilan plan posjeta otprilike tjedan dana.
Korisne opcije naredbenog retka
Popis Pandocovih opcija prilično je dugačak. Sljedeće vam pomažu u postizanju boljih rezultata i uvelike vam olakšavaju život:
* '-P' (duga verzija '-preserve-tabs'): Očuvanje kartica umjesto pretvaranja u razmake. Ovo je korisno za blokove koda s uvučenim linijama koji su dio vašeg teksta.
* '-S' (duga verzija '-smart'): proizvesti tipografski ispravan izlaz.
Ova opcija ispravlja citate, crtice / crtice kao i elipse ("..."). Dodatni razmaci koji se ne lome dodaju se nakon određenih kratica kao što je „Mr.".
* '-track-changes = value': Određuje što učiniti s umetanjem, brisanjem i komentarima koji se stvaraju uz pomoć značajke "Prati promjene" u programu Microsoft Word. Vrijednost može biti prihvatiti, odbiti ili sve kako bi se uključile ili uklonile promjene izvršene u dokumentu. Rezultat je ravna datoteka.
Za više opcija pogledajte dokumentaciju i stranicu priručnika Pandoca.
Sažetak
Pretvorba između Markdowa i DOCX-a više nije tajna. To je učinjeno u nekoliko koraka i djeluje vrlo dobro. Sretno hakiranje 🙂
Poveznice i reference
* [1] Umanjenje vrijednosti
* [2] Frank Hofmann: Uvod u Markdown
* [3] Pandoc
Zahvalnice
Autor želi zahvaliti Annette Kalbow na pomoći tijekom pripreme članka.