A Armadilha do ‘vendor/bundle’ no Jekyll: Exclusão Obrigatória no _config.yml

[!NOTE] Resumo Executivo (DEV-2026-002): Como evitar que o Jekyll tente processar arquivos de template internos das gems instaladas como se fossem posts do próprio blog.


🚨 O Desafio Técnico / Contexto

Ao ativar ‘bundler-cache: true’, as gems são instaladas no caminho local ‘vendor/bundle’. O Jekyll tentou processar ‘vendor/bundle/…/jekyll-3.10.0/…/_posts/0000-00-00-welcome-to-jekyll.markdown.erb’ como post, falhando com erro fatal de data inválida em tag ERB.


💡 Principais Lições Aprendidas & Descobertas

  • 💡 Quando a diretiva ‘exclude:’ é declarada no ‘_config.yml’, o Jekyll substitui totalmente sua lista padrão de exclusões.
  • 💡 Se ‘vendor/’ não for recolocado explicitamente em ‘exclude:’, o Jekyll fará varredura recursiva em todo o código-fonte das gems instaladas.
  • 💡 Arquivos de exemplo e geradores internos de gems com extensão ‘.markdown.erb’ quebram o parser de frontmatter do Jekyll.

🛠️ Especificação Técnica & Código-Chave

# _config.yml - Exclusão obrigatória de artefatos de build
exclude:
  - vendor/
  - .bundle/
  - .sass-cache/
  - .jekyll-cache/
  - Gemfile
  - Gemfile.lock


📈 Impacto no Ecossistema & Valor Prático

Zero falsos positivos de compilação em ambientes de integração contínua (GitHub Actions e Vercel).

  • Projetos Relacionados: artesdosul.github.io, araguaci.github.io
  • Registro de Origem: _data/daily.dev-01.yml

Publicado originalmente como parte do Diário de Desenvolvimento 2026 do ecossistema Artes do Sul & Araguaci.