Neste artigo, damos 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, enquanto um ou mais participantes solicitam docx como o formato de saída. Não decepcione ninguém e descubra quais limitações existem, e como podemos tentar fazer com que todos os membros do grupo.
O que é Markdown?
Como já apontado em "Uma Introdução ao Markdown" [2], a intenção de Markdown é um texto simples para a conversão HTML. A idéia por trás disso era tornar as páginas da web de escrever, documentação e especialmente as entradas de blog tão fáceis quanto escrever um e-mail. A partir de hoje, é o de fato-sinônimo de uma classe de marcação leve de descrição dos idiomas, e o objetivo pode ser visto como alcançado.
Markdown usa uma sintaxe de formatação de texto simples. Com uma abordagem semelhante à HTML, vários marcadores indicam manchetes, listas, imagens e referências em seu texto. As poucas linhas abaixo ilustram um documento básico que contém duas manchetes (1º e 2º nível), bem como dois parágrafos, e um ambiente de lista.
# Lugares recomendados para visitar na Europa
## França
Esta é uma seleção de lugares:
* Paris (_ile de France_)
* Estrasburgo (_alsace_)
Para um plano de visita adequado sobre uma semana.
Conversão para docx
Para converter seu documento de marcação em DOCX, use a ferramenta Pandoc [3]. Pandoc é uma biblioteca Haskell e se descreve como "o conversor universal de documentos", ou a "faca do exército suíço para conversões de documentos". 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 teste.Teste DOCX.MD
O 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 'teste.md '.
A versão longa do comando mostrada 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 abreviado '-to'.
O comando completo é o seguinte:
$ pandoc -o teste.Docx -f Markdown -t Docx Teste.MD
Abrindo 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 ao longo de 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 teste.Teste de MD.Docx
Em seguida, o arquivo gerado possui o seguinte conteúdo:
Lugares recomendados para visitar na EuropaOpções úteis da linha de comando
A lista de opções pandoc é bastante longa. Os seguintes ajudam você a produzir melhores resultados e facilitar sua vida:
* '-P' (versão longa '-Preserve-tabs'): Preserve 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'): Produza saída digitagicamente correta.
Esta opção corrige citações, hífens/traços e elipses ("..."). Espaços adicionais e sem quebra 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 Microsoft Word “Rastrear”. O valor pode ser aceito, rejeitado ou tudo para incluir ou remover as alterações feitas no documento. O resultado é um arquivo plano.
Para mais opções, dê uma olhada na documentação e na página manual de pandoc.
Resumo
A conversão entre Markdown e Docx não é mais um mistério. É feito em algumas etapas e funciona muito bem. Feliz hackers 🙂
Links e referências
* [1] Markdown
* [2] Frank Hofmann: Introdução ao Markdown
* [3] Pandoc
Reconhecimentos
A autora gostaria de agradecer a Annette Kalbow por sua ajuda enquanto preparava o artigo.