HTML (com microformatos, microdados) → Markdown (GitHub-Flavored Markdown, Commonmark)

Tenho uma versão da minha biografia escrita em HTML com muitos microformatos e microdados incorporados. https://ryanparman.com/about/#full-length

Eu queria produzir uma versão Markdown ( Commonmark , na verdade) sem ter que fazer a conversão manualmente. https://ryanparman.com/about/#markdown

NOTA: Para quem não sabe, o macOS é uma mistura do kernel XNU e das ferramentas do FreeBSD . A maioria dos Linuxes usa o tipo de ferramenta GNU . No código de exemplo, há uma referência a sedqual deve ser a versão GNU , não a versão BSD embutida . Você pode instalar a versão correta usando o Homebrew .

cat author.html | sed -r "s/</?span([^>]*)>//g" | pandoc -r html -w gfm --columns 10000 | tee author.md

O que isso faz:

  1. Lê o author.htmlarquivo para stdout
  2. Canaliza o conteúdo para GNU sed (que suporta expressões regulares compatíveis com Perl com -r) para remover todas as <span>tags e atributos
  3. Canaliza isso para uma ferramenta chamada Pandoc , que converte o HTML em GitHub-Flavored Markdown (que agora é um superconjunto do Commonmark )
  4. Substitui o conteúdo de author.mdcom os resultados do Pandoc