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
- Roteiro de Validação de Imagens - Guia completo para validação e otimização de imagens
- Guia de Otimização de Imagens - Instruções detalhadas de otimização
- README de Otimização - Documentação dos scripts de otimização
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
- Validar Front Matter:
ruby scripts/validate_frontmatter.rb - Otimizar Imagens:
.\scripts\optimize_images.ps1 - Atualizar Referências:
.\scripts\replace_images_with_webp.ps1 - Validar Links:
ruby scripts/validate_links.rb