Criando slides em markdown

Depois de algum tempo falando sobre o mesmo tema utilizando apresentações, você se depara com alguns problemas. Há uma multiplicação de arquivos ODP (ou PPTx se for o seu caso) espalhados em pastas diferentes. São essencialmente as mesmas apresentações, com mudanças pequenas no texto, atualização de imagens ou alterações na ordem dos slides. Sim, eu sei, você poderia ser uma pessoa organizada e criar uma estrutura de slides mestre e temas de primeira linha para não se frustrar com a customização de páginas.

Você pode linkar suas imagens, ao invés de inseri-las na apresentação, mas na maioria das vezes é mais seguro incorporar, e os arquivos ficam enormes, mesmo se convertidos para HTML ou PDF. Formatos abertos como ODP são muito úteis, mas ainda assim é complicada a tarefa de remixar e separar os conteúdos da apresentação de um modelo para outros.

Os editores como LibreOffice Impress (offline) ou OnlyOffice (offline e online) são visuais, facilitam em muito a criação de conteúdo e possuem diversas funcionalidades avançadas. Mas para o apresentações relativamente simples, se tornaram, ao menos para mim, uma dor de cabeça.

Uma alternativa que já existe há algum tempo é a criação de slides usando linguagens abertas e simples como HTML ou markdown. Isso é interessante porque permite que:

  1. a apresentação seja disponibilizada de ao menos duas formas – na web (HTML+CSS+JS) formatado e pronta para visualização, criando um arquivo único ou uma pasta.
  2. é fácil linkar ou inserir mídias através de embed na apresentação, sem necessidade de inserção dos arquivos em si (arquivos podem estar na web ou em pastalocal);
  3. o markdown é muito mais legível e acessível do que o ODP/PPTx e HTML gerado por esse programas, o que facilita enormemente o acesso ao conteúdo mesmo se for lido em formato de texto por qualquer pessoa, e
  4. markdown pode ser facilmente convertido para diversos formatos (HTML, ODP, PPTx, etc.) usando sites online, ou algo como Pandoc.
  5. O remix fica trivial. Precisa mudar um slide de lugar? Copie e cole. Precisa de alguns slides para outra apresentação, selecione, copie e cole. As imagens e links locais se mantêm e o estilo é automaticamente alterado.

Passei alguns dias explorando opções em software livre, e aponto abaixo algumas características de cada projeto que analisei por algumas horas cada, considerando minha demanda atual:

  • Edição em markdown;
  • Templates relativamente prontos. Nenhum tempo para criar um CSS stylesheet mas com algum tempo para customizar classes;
  • Fácil inserção e variedade de layouts com imagens;
  • Saída fiel em formato PDF.

Os três que explorei detalho abaixo. Outras ferramentas já não são atualizadas há algum tempo que não olhei incluem deck, slippr e cafe-pitch. Por funcionalidades limitadas, pensando em futuro uso, descartei remarkjs e dzslides. A explorar, incluem spectacle e mdxdeck.

Pequenas funcionalidades e limitações podem limitar a sua escolha por um ou por outro, mas nenhum dos projetos abaixo é de difícil uso ou instalação e todos produzem ótimos r

Deckdeckgo – Cria PWA (essencialmente, aplicativos para web). Tem um editor visual online que facilita em muito a criação com base em modelos pré-definidos.
Problemas agora: Não permite exportar para PDF o que uma trava importante para facilitar o acesso desconectado nesse momento de pandemia. A criação de slides com markdown e HTML demanda a instalação de um kit inicial ou starterkit com node.js, um pouco mais trabalhoso.

reveal.js – Você pode criar apresentações muito sofisticadas com transições e usando qualquer elemento HTML (inclusive iframes). Para criar com base em markdown utilizei a conversão via Pandoc, que tem suporte nativo para reveal.js. Uma vez convertido, o HTML sai muito mais limpo do que os outros (com tags próprias do reveal.js) e você pode editar o conteúdo com muita facilidade. Você pode apontar para o reveal.js em um CDN ou fazer um bundle com os CSS e JS necessários – só baixar. Exporta para PDF. Tem um serviço pago no slides.com.
Problemas agora: Algumas customizações simples como trabalhar com um bom layout de duas colunas (imagem full height e texto) demandam alguma customização do CSS. Seria minha opção principal se tivesse tempo para criar um tema agora.

Marp – A escolha por hora. Para edição fácil, funciona como extensão do Visual Studio (sim, Microsoft, mas é software livre com licença MIT). A edição em markdown permite visualizar das alterações e resultados diretamente em uma aba separada em tempo real. Permite incorporar estilos CSS diretamente no arquivo. Faz a exportação direta para formato HTML (standalone, tudo incluído em um arquivo) bem como PDF, bem formatado. Inclui códigos (marpit) simples para ativar diversas funcionalidades de layout e organização de páginas, como por exemplo, a inserção de rodapé em todos os slides ou somente em um. Não permite a incorporação de iframes via markdown (mas pode ser inserido posteriormente via HTML).
Problemas agora: O HTML final é um pouco pesado. Estar atrelado ao Visual Studio (não é necessário para usar Marp) é um ponto negativo, mesmo com a facilidade que ele traz.

2 Comments

Boa dica! Na época que fiz a busca não encontrei esse. Vou experimentar. Acho que uma das grandes vantagens de fazer os slides em Markdown é que mudar de ‘compilador’ fica bem fácil.

Deixe um comentário