Ultimamente sempre me deparo com a mesma coisa: se tudo que você tem é um blog, você não precisa de um CMS. Apenas escreva Markdown, faça push para o Git, faça deploy para uma CDN. Pule o banco de dados e servidor completamente. E honestamente? É um argumento convincente.

A ideia de uma pasta de arquivos .md que é seu site, versionado no Git, escrito num IDE, é um workflow genuinamente ótimo. Geradores de sites estáticos como Hugo e Astro fazem isso decentemente. Na minha opinião, as pessoas se movendo nessa direção não estão necessariamente erradas.

Eu também aprecio alguns desses benefícios, mas honestamente percebo o quanto sentiria falta do WordPress. Pode ser um plugin em que confio, um sistema de temas que conheço bem, a capacidade de adicionar funcionalidade dinâmica sem reconstruir um pipeline. Para minha situação particular, as coisas que eu abriria mão superavam as coisas que ganharia.

Então, em vez de sair do WordPress para conseguir o workflow que eu queria, trouxe o workflow para o WordPress.

File-based Content (FBC)

File-based Content é um plugin WordPress (GitHub) que permite gerenciar posts e páginas como arquivos Markdown em uma estrutura de diretórios amigável ao Git. Você escreve conteúdo localmente em arquivos .md com frontmatter YAML, e o FBC sincroniza tudo no WordPress como blocos Gutenberg nativos.

Seu conteúdo fica em uma pasta assim:

content/
├── posts/
│   ├── my-post/
│   │   ├── index.md
│   │   └── photo.jpg
│   └── another-post/
│       └── index.md
└── pages/
    └── about/
        └── index.md

Cada post é uma pasta. O nome da pasta se torna o slug. Dentro, index.md contém seu conteúdo e frontmatter (título, data, categorias, tags, excerpt, imagem destacada). Qualquer imagem que você referencia por caminho relativo é automaticamente importada para a Biblioteca de Mídia do WordPress. Sem uploads manuais, sem copiar e colar URLs.

Por Que Eu Construí Este Plugin

Este blog roda nele. O post que você está lendo agora é um arquivo index.md num diretório de plugin, sincronizado pelo FBC.

Eu queria escrever no meu editor (usando Opus), commitar no Git, e deixar o WordPress cuidar do resto. Não queria abrir o editor de blocos para posts simples de texto, e não queria conteúdo preso num banco de dados que é doloroso migrar. Arquivos simples, com WordPress ainda fazendo o que WordPress faz bem.

A outra coisa que me impulsionou: portabilidade. Eu configurava um site WordPress, escrevia alguns posts no admin, depois queria mudar de host ou reconstruir o ambiente. A migração de banco de dados sempre era a pior parte. Com FBC, o conteúdo viaja com o código. Suba uma instalação WordPress nova, ative os plugins, e tudo está lá.

Como Funciona

FBC roda num job WP-Cron a cada 5 minutos. Ele gera hash do conteúdo de cada arquivo e só processa o que mudou, então não está reimportando seu site inteiro a cada ciclo. Markdown é convertido para blocos Gutenberg, imagens locais são importadas para a Biblioteca de Mídia, e frontmatter mapeia para metadados do post.

Você pode colocar markup de bloco Gutenberg diretamente no seu Markdown para qualquer coisa além do que Markdown padrão oferece. FBC detecta comentários e os passa intocados.

Há uma página admin em Configurações → FBC que mostra status de sincronização, contagem de arquivos, e um botão de sincronização manual para quando você não quer esperar.

Se você já tem posts no WordPress e quer experimentar essa abordagem, FBC pode exportar seu conteúdo existente em Markdown: posts, imagens, frontmatter, tudo. Migração em um clique nas duas direções.

Status

Está em beta. Submeti para o diretório de plugins do WordPress.org, mas a listagem ainda não é pública; por enquanto, pegue no GitHub. O core é estável (venho rodando meu próprio site nele), mas há arestas ásperas que quero suavizar.

Nem todo mundo precisa disso. Se um gerador de site estático te dá tudo que você quer, vá em frente. Mas se você é como eu e quer o workflow Markdown-e-Git sem ir embora do WordPress, experimente. Se algo quebrar ou você tiver ideias, abra uma issue no GitHub.