In questo articolo diamo uno sguardo alla conversione tra Markdown [1] e DOCX, il formato documento nativo di Microsoft Word in uso dal 2007. Potresti chiederti perché un appassionato di Markdown e Asciidoc (come me) si occupa di questo caso. Bene, collaborare con un gruppo di altri autori può portare a una situazione in cui uno o più partecipanti richiedono DOCX come formato di output. Non deludere nessuno, e scopri invece quali limitazioni esistono e come possiamo cercare di rendere felici tutti i membri del gruppo.
Cos'è Markdown??
Come già sottolineato in "An Introduction into Markdown" [2], l'intenzione di Markdown è una semplice conversione da testo a HTML. L'idea alla base era quella di rendere la scrittura di pagine web, documentazione e soprattutto post di blog facile come scrivere un'e-mail. Ad oggi è il sinonimo di fatto di una classe di linguaggi di descrizione di markup leggeri, e l'obiettivo può essere visto come raggiunto.
Markdown utilizza una sintassi di formattazione del testo normale. Con un approccio simile all'HTML, un numero di marcatori indica titoli, elenchi, immagini e riferimenti nel testo. Le poche righe sottostanti illustrano un documento di base che contiene due titoli (1° e 2° livello) oltre a due paragrafi e un ambiente di elenco.
## Francia
Questa è una selezione di luoghi:
* Parigi (_Ile de France_)
* Strasburgo (_Alsazia_)
Per un corretto piano di visita circa una settimana.
Conversione in DOCX
Per convertire il tuo documento Markdown in DOCX, usa lo strumento pandoc [3]. Pandoc è una libreria Haskell e si descrive come "il convertitore universale di documenti" o il "coltellino svizzero per le conversioni di documenti". È disponibile per una varietà di piattaforme come Linux, Microsoft Windows, Mac OS X e BSD. Pandoc è comunemente incluso come pacchetto per distribuzioni Linux come Debian GNU/Linux, Ubuntu e CentOS.
Una semplice chiamata per una conversione è la seguente:
$ pandoc -o test.prova docx.mdIl primo parametro '-o' si riferisce al file di output, seguito dal nome del file ('test.docx'). L'estensione del file aiuta pandoc a identificare il formato di output desiderato. Il secondo parametro nomina il file di input - nel nostro caso è semplicemente "test".md'.
La versione lunga del comando mostrato sopra contiene i due parametri '-f markdown' e '-t docx'. Il primo abbrevia il termine "sapore" e descrive il formato del file di input input. Il secondo fa lo stesso per il file di output e abbrevia "-to".
Il comando completo è il seguente:
$ pandoc -o test.docx -f markdown -t docx test.mdAprendo il file convertito utilizzando Microsoft Word si ottiene il seguente output:
Per i diversi elementi di testo Pandoc utilizza i fogli di stile. Ciò ti consente di regolare questi elementi in seguito in base alle tue esigenze durante l'intero documento. Le versioni più recenti di Pandoc offrono anche il contrario: puoi convertire un file DOCX in Markdown come segue:
$ pandoc -o test.test md.docxQuindi, il file generato ha il seguente contenuto:
Luoghi consigliati da visitare in Europa=====================================
Francia
------
Questa è una selezione di luoghi:
- Parigi (*Ile de France*)
- Strasburgo (*Alsazia*)
Per un corretto piano di visita circa una settimana.
Utili opzioni della riga di comando
L'elenco delle opzioni di Pandoc è piuttosto lungo. I seguenti ti aiutano a produrre risultati migliori e ti semplificano la vita:
* '-P' (versione lunga '-preserve-tabs'): conserva le tabulazioni invece di convertirle in spazi. Ciò è utile per i blocchi di codice con righe rientrate che fanno parte del testo.
* '-S' (versione lunga '-smart'): produce un output tipograficamente corretto.
Questa opzione corregge le virgolette, i trattini/trattini nonché i puntini di sospensione ("... "). Ulteriori spazi unificatori vengono aggiunti dopo alcune abbreviazioni come "Mr.".
* '-track-changes=value': specifica cosa fare con inserimenti, eliminazioni e commenti prodotti con l'aiuto della funzione "Rileva modifiche" di Microsoft Word. Il valore può essere accetta, rifiuta o tutto per includere o rimuovere le modifiche apportate nel documento. Il risultato è un file flat.
Per ulteriori opzioni dai un'occhiata alla documentazione e alla pagina del manuale di Pandoc.
Sommario
La conversione tra Markdown e DOCX non è più un mistero. È fatto in pochi passaggi e funziona molto bene. Buon hackeraggio 🙂
Link e riferimenti
* [1] Ribasso
* [2] Frank Hofmann: Introduzione a Markdown
* [3] Pandoc
Ringraziamenti
L'autore desidera ringraziare Annette Kalbow per il suo aiuto durante la preparazione dell'articolo.