Scripts de Validação e Otimização

Este diretório contém scripts úteis para validar, otimizar e manter a qualidade do projeto.

📚 Documentação Completa

Scripts Disponíveis

Validação

validate_frontmatter.rb

Valida o front matter de todos os posts do Jekyll, verificando:

  • Campos obrigatórios presentes
  • Formato de datas válido
  • Datas futuras ou muito antigas
  • Tamanho das descrições (SEO)
  • Tags duplicadas ou vazias

Uso:

ruby scripts/validate_frontmatter.rb

validate_links.rb

Valida links internos e externos nos posts, verificando:

  • Links externos acessíveis
  • Links internos apontando para arquivos existentes
  • Status HTTP dos links

Uso:

ruby scripts/validate_links.rb

Nota: Este script faz requisições HTTP reais, então pode demorar um pouco dependendo do número de links.

add_dates_from_filename.rb

Adiciona campo date baseado no nome do arquivo para posts que não têm.

Uso:

ruby scripts/add_dates_from_filename.rb

Otimização de Imagens

convert_to_webp.ps1

Converte uma imagem específica para WebP (suporta cwebp, ImageMagick ou Python).

Uso:

.\scripts\convert_to_webp.ps1 -ImagePath "assets\img\imagem.png" -Quality 80

convert_to_webp_python.py

Alternativa usando Python/Pillow para conversão.

Uso:

python scripts/convert_to_webp_python.py assets/img/imagem.png 80

optimize_images.ps1

Otimização completa de imagens (WebP + redimensionamento + compressão).

Uso:

.\scripts\optimize_images.ps1 -Path "assets\img" -Quality 80

replace_images_with_webp.ps1

Substitui referências de imagens em posts por WebP e arquiva originais.

Uso:

.\scripts\replace_images_with_webp.ps1 -PostsPath "_posts" -ArchivePath ".arquive"

update_projetos_webp.ps1

Atualiza referências de imagens em _includes/projetos.md para WebP.

Uso:

.\scripts\update_projetos_webp.ps1

Instalação de Dependências

Ruby Scripts

Os scripts Ruby usam apenas bibliotecas padrão, então não há dependências adicionais necessárias.

PowerShell Scripts

Requer uma das seguintes ferramentas:

  • cwebp (recomendado): choco install webp
  • ImageMagick: choco install imagemagick
  • Python + Pillow: pip install Pillow

Integração com CI/CD

Estes scripts podem ser integrados em pipelines de CI/CD:

# Exemplo para GitHub Actions
- name: Validar Front Matter
  run: ruby scripts/validate_frontmatter.rb

- name: Validar Links
  run: ruby scripts/validate_links.rb

- name: Otimizar Imagens
  run: |
    choco install webp -y
    .\scripts\optimize_images.ps1 -Path "assets\img"

Workflow Recomendado

  1. Validar Front Matter: ruby scripts/validate_frontmatter.rb
  2. Otimizar Imagens: .\scripts\optimize_images.ps1
  3. Atualizar Referências: .\scripts\replace_images_with_webp.ps1
  4. Validar Links: ruby scripts/validate_links.rb

Documentação Adicional