I denne artikkelen ser vi på konverteringen mellom Markdown [1] og DOCX - det opprinnelige dokumentformatet til Microsoft Word som er i bruk siden 2007. Du lurer kanskje på hvorfor en entusiast av Markdown og Asciidoc (som meg) takler denne saken. Vel, samarbeid med en gruppe andre forfattere kan føre til en situasjon mens en eller flere deltakere ber om DOCX som utdataformat. Ikke la noen gå ned, og finn ut hvilke begrensninger som finnes, i stedet, og hvordan vi kan prøve å gjøre alle gruppemedlemmene lykkelige.
Hva er Markdown?
Som allerede påpekt i “En introduksjon til Markdown” [2], er hensikten med Markdown en enkel tekst til HTML-konvertering. Tanken bak var å gjøre det å skrive websider, dokumentasjon og spesielt blogginnlegg like enkelt som å skrive en e-post. Per i dag er det de facto-synonymet for en klasse med lette markeringsbeskrivelsesspråk, og målet kan sees som nådd.
Markdown bruker en syntaks for formatering av ren tekst. Med en lignende tilnærming som HTML, angir et antall markører overskrifter, lister, bilder og referanser i teksten. De få linjene nedenfor illustrerer et grunnleggende dokument som inneholder to overskrifter (1. og 2. nivå), samt to avsnitt, og et listemiljø.
## Frankrike
Dette er et utvalg av steder:
* Paris (_Ile de France_)
* Strasbourg (_Alsace_)
For en skikkelig besøksplan omtrent en uke.
Konvertering til DOCX
For å konvertere Markdown-dokumentet ditt til DOCX, bruk verktøyet pandoc [3]. Pandoc er et Haskell-bibliotek, og beskriver seg selv som "den universelle dokumentomformeren", eller "den sveitsiske hærkniven for dokumentkonvertering". Den er tilgjengelig for en rekke plattformer som Linux, Microsoft Windows, Mac OS X og BSD. Pandoc er ofte inkludert som en pakke for Linux-distribusjoner som Debian GNU / Linux, Ubuntu og CentOS.
En enkel samtale for en konvertering er som følger:
$ pandoc -o test.docx-test.mdDen første parameteren '-o' refererer til utdatafilen, etterfulgt av navnet på filen ('test.docx '). Filutvidelsen hjelper pandoc med å identifisere ønsket utdataformat. Den andre parameteren navngir inndatafilen - i vårt tilfelle er den bare 'test'.md '.
Den lange versjonen av kommandoen vist ovenfor inneholder de to parametrene '-f markdown' og '-t docx'. Den første forkorter begrepet "smak", og beskriver formatet på inndatafilen. Den andre gjør det samme for utdatafilen, og forkorter '-to'.
Den fulle kommandoen er som følger:
$ pandoc -o test.docx -f markdown -t docx test.mdÅpne den konverterte filen ved hjelp av Microsoft Word resulterer i følgende utdata:
For de forskjellige tekstelementene bruker Pandoc stilark. Dette lar deg justere disse elementene senere i henhold til dine behov gjennom hele dokumentet. De nyere versjonene av Pandoc tilbyr også omvendt - du kan konvertere en DOCX-fil til Markdown som følger:
$ pandoc -o test.md test.docxDeretter har den genererte filen følgende innhold:
Anbefalte steder å besøke i Europa========================================
Frankrike
------
Dette er et utvalg av steder:
- Paris (* Ile de France *)
- Strasbourg (* Alsace *)
For en skikkelig besøksplan omtrent en uke.
Nyttige kommandolinjealternativer
Listen over Pandoc-alternativer er ganske lang. Følgende hjelper deg med å gi bedre resultater og gjøre livet ditt mye enklere:
* '-P' (lang versjon '-preserve-tabs'): Bevar faner i stedet for å konvertere dem til mellomrom. Dette er nyttig for kodeblokker med innrykkede linjer som er en del av teksten din.
* '-S' (lang versjon '-smart'): Lag typografisk korrekt utdata.
Dette alternativet korrigerer anførselstegn, bindestrek / bindestreker samt ellipser (“…”). Ytterligere, ikke-brudd mellomrom blir lagt til etter visse forkortelser som "Mr.”.
* '-track-changes = value': Spesifiserer hva du skal gjøre med innsettinger, slettinger og kommentarer som produseres ved hjelp av Microsoft Word "Track Changes" -funksjonen. Verdien kan være enten godta, avvis eller alt for å inkludere eller fjerne endringene som er gjort i dokumentet. Resultatet er en flat fil.
For flere alternativer, se dokumentasjonen og manualsiden til Pandoc.
Sammendrag
Konverteringen mellom Markdown og DOCX er ikke lenger et mysterium. Det gjøres i løpet av få trinn, og fungerer veldig bra. Glad hacking 🙂
Lenker og referanser
* [1] Markdown
* [2] Frank Hofmann: Introduksjon til Markdown
* [3] Pandoc
Anerkjennelser
Forfatteren vil takke Annette Kalbow for hennes hjelp under forberedelsen av artikkelen.