Teclado de um MacBook Pro no detalhe.

Como converter um arquivo em Markdown para HTML direto para a área de transferência

Por
12/6/18, 10h03 4 min Comente

Esta dica é bem específica, daquelas que poucos leitores do Manual do Usuário precisam, mas que, se você for um desses, resolverá um problema corriqueiro com elegância e celeridade, ou seja, o tipo de dica que a gente gosta. Trata-se de converter formatos de texto por comandos no Terminal. (Parece monótono, mas venha comigo!)

Meu caso é o seguinte: todo fim de semana, envio uma newsletter para quem curte meu trabalho. (Aliás, assine-a aqui!) Escrevo o texto no Editor padrão do macOS em Markdown, uma linguagem de marcação que me permite inserir links e formatar o texto sem tirar as mãos do teclado nem depender de um editor específico. Texto puro, abre em qualquer sistema, em qualquer lugar. Funciona. É mágico.

Ao terminar o texto, preciso convertê-lo de Markdown para HTML, a linguagem de marcação da web e que a ferramenta que uso para disparar a newsletter entende.

Até então, o que eu fazia era pesquisar por “markdown to html” no buscador e usar o primeiro conversor online funcional com que topava. Resolve, mas era um gargalo no fluxo que, de resto, está redondo. No último fim de semana, resolvi procurar por uma solução mais fácil e fora da web para remover esse gargalo. Encontrei o Pandoc.

O Pandoc se descreve como “um canivete suíço” para quem precisa converter linguagens de marcação. Ele lida com diversos formatos, de Markdown a HTML, incluindo ODT, Open XML (usado pelo Microsoft Office), EPUB e LaTeX. O site oficial lista todos os formatos suportados.

O Pandoc é gratuito e tem versões para Linux, macOS e Windows. Concentro-me na versão do macOS, a que uso, mas não deve ser muito diferente nas demais — talvez algumas diferenças nos comandos. Importante: trata-se de um utilitário em linha de comando, nada de interface gráfica aqui.

Após instalá-lo, você verá que nada aconteceu. Tudo bem, é assim mesmo. Pode confiar, ele está lá.

Abra o Terminal e navegue até a pasta onde está o documento a ser convertido. Estando nela, digite o seguinte comando:

pandoc arquivo.md -t html -o arquivo.html

O comando -t deve ser seguido do formato a ser convertido. (Você pode colocar um -t markdown antes, mas nesse caso é desnecessário.)

Já o -o arquivo.html indica a saída do texto convertido — no caso, o Pandoc gerará um arquivo.html com o conteúdo do arquivo.md convertido para HTML. Caso queira gerar um HTML validado, com todas as meta tags do cabeçalho, acrescente o parâmetro -s.

Todos esses e outros comandos são explicados na documentação oficial.

Isso ainda pode ser melhorado. No meu fluxo de trabalho, não preciso gerar um arquivo HTML novo. Basta que o conteúdo seja copiado para a área de transferência, de onde ele é colado no editor da ferramenta de disparo da newsletter. O ideal, pois, seria que a conversão caísse na área de transferência, não em um novo arquivo. É possível? Pois eu lhe digo que, sim, é!

O macOS tem uma função chamada pbcopy. Ela serve para, você adivinhou, copiar coisas na área de transferência. (Existe também a pbpaste que, em vez de copiar, cola o que está na área de transferência.)

Para fazer o que eu preciso, ou seja, converter um texto de Markdown para HTML e copiar o resultado para a área de transferência, o comando é:

pandoc arquivo.md -t html | pbcopy

Aí, basta dar um ⌘ + V no editor da newsletter e enviá-la.

Se preferir algo com interface gráfica, existe uma versão online do Pandoc. Experimente-a aqui.

Compartilhe: