I den här artikeln tittar vi på konverteringen mellan Markdown [1] och DOCX - det ursprungliga dokumentformatet för Microsoft Word som används sedan 2007. Du kanske undrar varför en entusiast av Markdown och Asciidoc (som jag) hanterar detta fall. Tja, samarbete med en grupp andra författare kan leda till en situation medan en eller flera deltagare begär DOCX som utdataformat. Låt inte någon gå ner och ta reda på vilka begränsningar som finns, och hur vi kan göra alla gruppmedlemmar glada.
Vad är Markdown?
Som redan påpekats i ”En introduktion till Markdown” [2] är avsikten med Markdown en enkel text till HTML-konvertering. Tanken bakom det var att göra det enkelt att skriva webbsidor, dokumentation och särskilt blogginlägg som att skriva ett e-postmeddelande. Från och med idag är det de facto-synonymen för en klass av lättviktsmarkeringsspråk, och målet kan ses som uppnått.
Markdown använder en syntax för formatering av vanlig text. Med ett liknande tillvägagångssätt som HTML anger ett antal markörer rubriker, listor, bilder och referenser i din text. Några få rader nedan illustrerar ett grundläggande dokument som innehåller två rubriker (första och andra nivån) samt två stycken och en listmiljö.
## Frankrike
Detta är ett urval av platser:
* Paris (_Ile de France_)
* Strasbourg (_Alsace_)
För en ordentlig besöksplan ungefär en vecka.
Konvertering till DOCX
För att konvertera ditt Markdown-dokument till DOCX, använd verktyget pandoc [3]. Pandoc är ett Haskell-bibliotek och beskriver sig själv som "den universella dokumentomvandlaren", eller "den schweiziska armékniven för dokumentkonvertering". Den är tillgänglig för en mängd olika plattformar som Linux, Microsoft Windows, Mac OS X och BSD. Pandoc ingår vanligtvis som ett paket för Linux-distributioner som Debian GNU / Linux, Ubuntu och CentOS.
Ett enkelt samtal för en konvertering är som följer:
$ pandoc -o-test.docx-test.mdDen första parametern '-o' hänvisar till utdatafilen, följt av filens namn ('test.docx '). Filändelsen hjälper pandoc att identifiera önskat utdataformat. Den andra parametern namnger inmatningsfilen - i vårt fall är det helt enkelt test.md '.
Den långa versionen av kommandot som visas ovan innehåller de två parametrarna '-f markdown' och '-t docx'. Den första förkortar termen "smak" och beskriver formatet på inmatningsfilen. Den andra gör detsamma för utdatafilen och förkortar '-to'.
Det fullständiga kommandot är som följer:
$ pandoc -o-test.docx -f markdown -t docx-test.mdÖppna den konverterade filen med Microsoft Word resulterar i följande utdata:
För de olika textelementen använder Pandoc formatmallar. Detta gör att du kan justera dessa element senare efter dina behov genom hela dokumentet. De nyare versionerna av Pandoc erbjuder också tvärtom - du kan konvertera en DOCX-fil till Markdown enligt följande:
$ pandoc -o-test.md-test.docxSedan har den genererade filen följande innehåll:
Rekommenderade platser att besöka i Europa=======================================
Frankrike
------
Detta är ett urval av platser:
- Paris (* Ile de France *)
- Strasbourg (* Alsace *)
För en ordentlig besöksplan ungefär en vecka.
Användbara kommandoradsalternativ
Listan med Pandoc-alternativ är ganska lång. Följande hjälper dig att producera bättre resultat och göra ditt liv mycket enklare:
* '-P' (lång version '-preserve-tabs'): Bevara flikar istället för att konvertera dem till mellanslag. Detta är användbart för kodblock med indragna rader som ingår i din text.
* '-S' (lång version '-smart'): Producera typografiskt korrekt utdata.
Detta alternativ korrigerar citat, bindestreck / bindestreck samt ellipser (“…”). Ytterligare, icke-brytande mellanslag läggs till efter vissa förkortningar som ”Mr.”.
* '-track-changes = value': Anger vad du ska göra med insättningar, raderingar och kommentarer som produceras med hjälp av Microsoft Word-funktionen "Spåra ändringar". Värdet kan vara antingen acceptera, avvisa eller allt för att inkludera eller ta bort de ändringar som gjorts i dokumentet. Resultatet är en platt fil.
För fler alternativ, se dokumentationen och Pandocs manuella sida.
Sammanfattning
Omvandlingen mellan Markdown och DOCX är inte längre ett mysterium. Det görs inom några steg och fungerar mycket bra. Lycklig hacking 🙂
Länkar och referenser
* [1] Markdown
* [2] Frank Hofmann: Introduktion till Markdown
* [3] Pandoc
Bekräftelser
Författaren vill tacka Annette Kalbow för hennes hjälp när hon förbereder artikeln.