I denne artikel ser vi på konverteringen mellem Markdown [1] og DOCX - det oprindelige dokumentformat af Microsoft Word, der er i brug siden 2007. Du undrer dig måske over, hvorfor en entusiast af Markdown og Asciidoc (som mig) behandler denne sag. Nå, samarbejde med en gruppe andre forfattere kan føre til en situation, mens en eller flere deltagere anmoder om DOCX som outputformat. Lad ikke nogen svigte, og find ud af, hvilke begrænsninger der findes, i stedet, og hvordan vi kan prøve at gøre alle gruppemedlemmer lykkelige.
Hvad er Markdown?
Som allerede påpeget i "En introduktion til Markdown" [2], er hensigten med Markdown en simpel tekst til HTML-konvertering. Ideen bag det var at gøre skrivning af websider, dokumentation og især blogindlæg lige så let som at skrive en e-mail. Fra i dag er det de facto-synonym for en klasse af lette markup-beskrivelsessprog, og målet kan ses som nået.
Markdown bruger en syntaks til formatering af almindelig tekst. Med en lignende tilgang som HTML angiver et antal markører overskrifter, lister, billeder og referencer i din tekst. De få linier nedenfor illustrerer et grundlæggende dokument, der indeholder to overskrifter (1. og 2. niveau) samt to afsnit og et listemiljø.
## Frankrig
Dette er et udvalg af steder:
* Paris (_Ile de France_)
* Strasbourg (_Alsace_)
For en ordentlig besøgsplan omkring en uge.
Konvertering til DOCX
For at konvertere dit Markdown-dokument til DOCX skal du bruge værktøjet pandoc [3]. Pandoc er et Haskell-bibliotek og beskriver sig selv som "den universelle dokumentkonverter" eller "den schweiziske hærkniv til konvertering af dokumenter". Den er tilgængelig til en række forskellige platforme som Linux, Microsoft Windows, Mac OS X og BSD. Pandoc er almindeligt inkluderet som en pakke til Linux-distributioner som Debian GNU / Linux, Ubuntu og CentOS.
Et simpelt kald til en konvertering er som følger:
$ pandoc-o test.docx test.mdDen første parameter '-o' refererer til outputfilen efterfulgt af filens navn ('test.docx '). Filtypen hjælper pandoc med at identificere det ønskede outputformat. Den anden parameter navngiver inputfilen - i vores tilfælde er den simpelthen 'test.md '.
Den lange version af kommandoen vist ovenfor indeholder de to parametre '-f markdown' og '-t docx'. Den første forkorter udtrykket 'smag' og beskriver formatet på inputfilen. Den anden gør det samme for outputfilen og forkorter '-to'.
Den fulde kommando er som følger:
$ pandoc-o test.docx -f markdown -t docx test.mdÅbning af den konverterede fil ved hjælp af Microsoft Word resulterer i følgende output:
For de forskellige tekstelementer bruger Pandoc typografiark. Dette giver dig mulighed for at justere disse elementer senere efter dine behov i hele dokumentet. De nyere versioner af Pandoc tilbyder også omvendt - du kan konvertere en DOCX-fil til Markdown som følger:
$ pandoc-o test.md test.docxDerefter har den genererede fil følgende indhold:
Anbefalede steder at besøge i Europa=======================================
Frankrig
------
Dette er et udvalg af steder:
- Paris (* Ile de France *)
- Strasbourg (* Alsace *)
For en ordentlig besøgsplan omkring en uge.
Nyttige kommandolinjemuligheder
Listen med Pandoc-indstillinger er ret lang. Følgende hjælper dig med at producere bedre resultater og gøre dit liv meget lettere:
* '-P' (lang version '-preserve-tabs'): Bevar faner i stedet for at konvertere dem til mellemrum. Dette er nyttigt til kodeblokke med indrykkede linjer, der er en del af din tekst.
* '-S' (lang version '-smart'): Producer typografisk korrekt output.
Denne indstilling korrigerer anførselstegn, bindestreger / bindestreger samt ellipser (“…”). Yderligere, ikke-brudende mellemrum tilføjes efter visse forkortelser, såsom “Mr.”.
* '-track-ændringer = værdi': Angiver hvad der skal gøres med indsættelser, sletninger og kommentarer, der produceres ved hjælp af Microsoft Word-funktionen "Spor ændringer". Værdien kan enten være accept, afvis eller alt for at inkludere eller fjerne de ændringer, der er foretaget i dokumentet. Resultatet er en flad fil.
For flere muligheder, se dokumentationen og manualsiden til Pandoc.
Resumé
Konverteringen mellem Markdown og DOCX er ikke længere et mysterium. Det gøres inden for få trin og fungerer meget godt. Glad hacking 🙂
Links og referencer
* [1] Markdown
* [2] Frank Hofmann: Introduktion til Markdown
* [3] Pandoc
Anerkendelser
Forfatteren vil gerne takke Annette Kalbow for hendes hjælp under forberedelsen af artiklen.