Conversão de Exportações WordPress para Markdown com Ferramenta

No cenário atual de criação de conteúdo digital, muitos desenvolvedores e blogueiros migram de plataformas tradicionais como o WordPress para geradores de sites estáticos (SSGs), como Gatsby, Hugo ou Jekyll. A migração de conteúdo existente, no entanto, pode ser um desafio. É aqui que a ferramenta wordpress-to-markdown se destaca como uma solução eficaz.

Este script simplifica a transição, convertendo arquivos de exportação XML do WordPress diretamente para o formato Markdown, ideal para SSGs. Além disso, ele gerencia o salvamento de imagens, bem como a incorporação de conteúdos externos, como vídeos do YouTube, tweets ou trechos de código do CodePen, agilizando o processo de migração.

Primeiros Passos

Para utilizar esta ferramenta, siga estes passos:

  1. Certifique-se de ter o Node.js instalado (versão 12.14 ou superior).
  2. Obtenha o arquivo de exportação do seu site WordPress. Ao exportar, selecione a opção "Todo o conteúdo" para garantir que imagens e páginas sejam incluídas.

Após preparar esses pré-requisitos, execute o comando no seu terminal:


npx wordpress-to-markdown
 

Alternativamente, você pode clonar o repositório para executar o script localmente. Isso pode acelerar execuções futuras e permitir modificações personalizadas. Após clonar, navegue até o diretório do projeto no terminal e execute:


npm install && node index.js
 

Ambos os métodos iniciam um assistente interativo que o guiará pelas configurações necessárias.

Configurações via Linha de Comando

Para configurar as opções diretamente na linha de comando, utilize os seguintes argumentos:


npx wordpress-to-markdown --enable-date-prefix=true --create-post-directories=false
 

Se estiver executando a versão clonada localmente:


node index.js --enable-date-prefix=true --create-post-directories=false
 

O assistente solicitará as opções não especificadas. Para pular completamente o asssistente e usar os valores padrão, adicione o argumento --skip-wizard.

Parâmetros Configuráveis

  • --skip-wizard (booleano): Se definido como true, o script utilizará os valores padrão sem solicitar confirmação. Padrão: false.
  • --input-file (caminho de arquivo): Especifica o caminho para o arquivo XML de exportação do WordPress. Padrão: export.xml.
  • --output-dir (caminho de diretório): Define onde os arquivos Markdown e imagens serão salvos. O diretório será criado se não existir. Padrão: output.
  • --year-subdirs (booleano): Organiza os arquivos de saída em subdiretórios baseados no ano de publicação. Padrão: false.
  • --month-subdirs (booleano): Organiza os arquivos de saída em subdiretórios baseados no mês de publicação. Geralmente usado em conjunto com --year-subdirs. Padrão: false.
  • --create-post-directories (booleano): Cria um diretório para cada postagem usando seu slug, com o arquivo Markdown nomeado como index.md. Padrão: true.
  • --enable-date-prefix (booleano): Adiciona a data de publicação ao nome do arquivo Markdown da postagem. Padrão: false.
  • --download-media (booleano): Habilita o download e salvamento de todas as mídias associadas às postagens. Padrão: true.
  • --scrape-images (booleano): Habilita o download de imagens encontradas diretamente no conteúdo HTML das postagens através de tags <img>. Padrão: true.
  • --include-custom-post-types (booleano): Inclui tipos de postagem personalizados e páginas no processo de conversão. Padrão: false.

Configurações Avançadas

Para ajustes mais finos, como controle da taxa de download de imagens ou personalização do formato de data nos metadados do cabeçalho, edite o arquivo settings.js na cópia local do projeto. Essas configurações avançadas só são aplicáveis quando o script é executado localmente.

Em resumo, wordpress-to-markdown é uma ferramenta versátil e poderosa, essencial para quem busca uma transição suave de sites WordPress para arquiteturas baseadas em geradores de sites estáticos. Seja para otimizar performance ou simplificar a gestão, este projeto oferece uma solução robusta.

Tags: WordPress Markdown static site generators Node.js content migration

Publicado em 7-6 20:27