Ferramentas para Markdown e restructuredText

Na minha cruzada para encontrar um jeito de renderizar automaticamente minhas documentações escritas em Markdown e restructuredText, encontrei algumas ferramentas muito úteis.

Markdown é a minha linguagem de marcação leve favorita. Este blog é escrito principalmente em Markdown, graças ao Markdown on Save Worpress Plugin. Eu ainda utilizo para escrever tutoriais simples, notas de instalação passo-a-passo, ou para guardar algumas dicas de RegEx, por exemplo.

E restructuredText pode ser utilizado com a mesma função, e graças a algumas ferramentas poderosas, é um excelente para escrever documentações longas, ou mesmo um livro (Symfony2 docs e seus livros são escritos em restructuredText).

Mas… é muito bom escrever documentação com estas linguagens de marcação, mas NÃO É tão bom ler nelas. É obrigatório convertê-las ou renderizá-las em outro formato, como HTML, ePub, PDF, etc.

Então, o que eu faço? Uso algumas ferramentas, conforme minha necessidade.

DocRenderer

https://github.com/rafaelgou/doc-renderer

Minha nova ferramenta para renderizar documentos automaticamente. O uso legal é: colocar arquivos .md e .rst num diretório web (com Apache + PHP), adicionar 3 arquivos neste diretório e tudo será renderizado com um visual do Twitter Bootstrap. Ótimo para minhas notas pessoais e referências.

Shinx-Pocoo

http://sphinx-doc.org/

Esta é uma FANTÁSTICA ferramenta para renderizar documentações em restructuredText. Não apenas em HTML (e PDF, e ePub…), mas criar uma página navegável e pesquisável para a qualquer tamanho de documentação. Você certamente já viu muita documentação de software livre renderizada deste modo! Particularmente eu tenho a documentação do Symfony e Twig renderizadas localmente para referência rápida. Veja um exemplo aqui aqui.

Pandoc

http://johnmacfarlane.net/pandoc/

Por que MAIS UMA ferramenta de renderização? Bem, o Pandoc tem funcionalidades maravilhosas que o colocam no topo da minha lista. Sim, pode renderizar arquivos .md e .rst, convertê-los em muitos formatos. MAS… o mais incrível, pode converter em formatos de apresentação web como Reveal.js, DZSlides e outros! Este artigo te coloca em contato com esta idéia.

ReadTheDocs

https://readthedocs.org/

E… dos meus bookmarks, ReadTheDocs. É um website/serviço que onde você pode colocar suas documentações para serem renderizadas com o Sphinx Pocoo. Melhor, pode sincronizar com um repositório GIT. Ainda melhor, você tem acesso ao código fonte do site e pode criar seu próprio site de documentação (na sua intranet, por exemplo).

Escrever documentação não é um esporte popular entre os desenvolvedores, mas estas ferramentas ao menos tornam isto mais divertido. Aproveite!