Neste artigo, vamos dar uma olhada na conversão entre Markdown [1] e DOCX - o formato de documento nativo do Microsoft Word que está em uso desde 2007. Você pode se perguntar por que um entusiasta de Markdown e Asciidoc (como eu) lida com este caso. Bem, colaborar com um grupo de outros escritores pode levar a uma situação em que um ou mais participantes solicitam DOCX como formato de saída. Não decepcione ninguém e descubra quais são as limitações existentes e como podemos tentar fazer todos os membros do grupo felizes.
O que é Markdown?
Como já apontado em "Uma introdução ao Markdown" [2], a intenção do Markdown é um texto simples para conversão de HTML. A ideia por trás disso era tornar a escrita de páginas da web, documentação e, especialmente, entradas de blog tão fácil quanto escrever um e-mail. A partir de hoje, é o sinônimo de fato para uma classe de linguagens de descrição de marcação leves, e o objetivo pode ser visto como alcançado.
Markdown usa uma sintaxe de formatação de texto simples. Com uma abordagem semelhante à do HTML, vários marcadores indicam títulos, listas, imagens e referências em seu texto. As poucas linhas abaixo ilustram um documento básico que contém dois títulos (1º e 2º nível), bem como dois parágrafos, e um ambiente de lista.
## França
Esta é uma seleção de lugares:
* Paris (_Ile de France_)
* Estrasburgo (_Alsace_)
Para um plano de visita adequado cerca de uma semana.
Conversão para DOCX
Para converter seu documento Markdown em DOCX, use a ferramenta pandoc [3]. Pandoc é uma biblioteca Haskell e se descreve como "o conversor universal de documentos" ou o "canivete suíço para conversões de documentos". Ele está disponível para uma variedade de plataformas, como Linux, Microsoft Windows, Mac OS X e BSD. O Pandoc é comumente incluído como um pacote para distribuições Linux como Debian GNU / Linux, Ubuntu e CentOS.
Uma simples chamada para uma conversão é a seguinte:
$ pandoc -o test.teste docx.mdO primeiro parâmetro '-o' refere-se ao arquivo de saída, seguido pelo nome do arquivo ('teste.docx '). A extensão do arquivo ajuda o pandoc a identificar o formato de saída desejado. O segundo parâmetro nomeia o arquivo de entrada - no nosso caso é simplesmente 'test.md '.
A versão longa do comando mostrado acima contém os dois parâmetros '-f markdown' e '-t docx'. O primeiro abrevia o termo 'sabor' e descreve o formato do arquivo de entrada. O segundo faz o mesmo para o arquivo de saída e abrevia '-to'.
O comando completo é o seguinte:
$ pandoc -o test.docx -f markdown -t docx test.mdAbrir o arquivo convertido usando o Microsoft Word resulta na seguinte saída:
Para os diferentes elementos de texto, o Pandoc usa folhas de estilo. Isso permite que você ajuste esses elementos posteriormente de acordo com suas necessidades em todo o documento. As versões mais recentes do Pandoc também oferecem o contrário - você pode converter um arquivo DOCX em Markdown da seguinte maneira:
$ pandoc -o test.teste md.docxEntão, o arquivo gerado tem o seguinte conteúdo:
Lugares recomendados para visitar na Europa===========================================
França
------
Esta é uma seleção de lugares:
- Paris (* Ile de France *)
- Estrasburgo (* Alsácia *)
Para um plano de visita adequado cerca de uma semana.
Opções úteis de linha de comando
A lista de opções do Pandoc é bastante longa. Os seguintes o ajudam a produzir melhores resultados e tornam sua vida muito mais fácil:
* '-P' (versão longa '-preserve-tabs'): Preserva as guias em vez de convertê-las em espaços. Isso é útil para blocos de código com linhas recuadas que fazem parte do seu texto.
* '-S' (versão longa '-smart'): Produz saída tipograficamente correta.
Esta opção corrige aspas, hífens / travessões, bem como reticências (“...”). Espaços não separáveis adicionais são adicionados após certas abreviações, como “Sr.”.
* '-track-changes = value': Especifica o que fazer com inserções, exclusões e comentários produzidos com a ajuda do recurso “Track Changes” do Microsoft Word. O valor pode ser aceitar, rejeitar ou todos para incluir ou remover as alterações feitas no documento. O resultado é um arquivo simples.
Para mais opções, dê uma olhada na documentação e na página de manual do Pandoc.
Resumo
A conversão entre Markdown e DOCX não é mais um mistério. Isso é feito em algumas etapas e funciona muito bem. Feliz hacking 🙂
Links e referências
* [1] Remarcação
* [2] Frank Hofmann: Introdução ao Markdown
* [3] Pandoc
Reconhecimentos
O autor gostaria de agradecer a Annette Kalbow por sua ajuda durante a preparação do artigo.