O WebP Image Generator para Jekyll Sites pode gerar automaticamente imagens WebP para todas as imagens em seu site estático e servi-las quando possível. Veja em rubygems.org.
Leia mais sobre esta ferramenta em meu blog em blog.sverrirs.com
gem install jekyll-webp
A versão inclui todos os arquivos necessários para execução, incluindo os arquivos executáveis redistribuíveis do WebP.
Atualmente o lançamento inclui a versão v0.6.1 dos utilitários WebP para Windows, Linux e Mac OS X 10.9 (Mountain Lion). Outras versões e lançamentos podem ser baixados diretamente da página do Google.
Adicione a gema ao seu Gemfile
e ao _config.yml
do Jekyll, em seguida, execute jekyll serve
novamente e você deverá ver o gerador sendo executado durante a geração do site.
O plugin pode ser configurado no arquivo _config.yml
do site incluindo o elemento de configuração webp
# ###########################################################
# Site configuration for the WebP Generator Plugin
# The values here represent the defaults if nothing is set
webp :
enabled : true
# The quality of the webp conversion 0 to 100 (where 100 is least lossy)
quality : 75
# List of directories containing images to optimize, nested directories will only be checked if `nested` is true
# By default the generator will search for a folder called `/img` under the site root and process all jpg, png and tiff image files found there.
img_dir : ["/img"]
# Whether to search in nested directories or not
nested : false
# add ".gif" to the format list to generate webp for animated gifs as well
formats : [".jpeg", ".jpg", ".png", ".tiff"]
# File extensions for animated gif files
gifs : [".gif"]
# Set to true to always regenerate existing webp files
regenerate : false
# Local path to the WebP utilities to use (relative or absolute)
# Omit or leave as nil to use the utilities shipped with the gem, override only to use your local install
# Eg : "/usr/local/bin/cwebp"
webp_path : nil
# List of files or directories to exclude
# e.g. custom or hand generated webp conversion files
exclude : []
# append '.webp' to filename after original extension rather than replacing it.
# Default transforms `image.png` to `image.webp`, while changing to true transforms `image.png` to `image.png.webp`
append_ext : false
# ###########################################################
Caso você não tenha controle sobre seu servidor web, usar o elemento <picture>
e especificar todos os formatos de imagem disponíveis é a melhor opção. Dessa forma, o navegador decidirá qual formato usar com base em suas próprias capacidades.
< picture >
< source srcset =" /path/to/image.webp " type =" image/webp " >
< img src =" /path/to/image.jpg " alt ="" >
</ picture >
Se puder, configurar seu servidor web para servir seus novos arquivos .webp a clientes que suportam o formato é provavelmente a abordagem menos problemática. Dessa forma, você não precisa fazer nenhuma alteração em seus arquivos HTML, pois seu servidor web servirá automaticamente imagens WebP quando o cliente as suportar.
Abaixo está um exemplo de uma seção de configuração .htaccess em um servidor web Apache. Ele redirecionará os usuários para imagens webp sempre que possível.
####################
# Attempt to redirect images to WebP if one exists
# and the client supports the file format
####################
# check if browser accepts webp
RewriteCond %{HTTP_ACCEPT} image/webp
# check if file is jpg or png
RewriteCond %{REQUEST_FILENAME} (.*).(jpe?g|png)$
# check if corresponding webp file exists image.png -> image.webp
RewriteCond %1.webp -f
# serve up webp instead
RewriteRule (.+).(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
AddType image/webp .webp
Dependendo de outras configurações em seu arquivo
.htaccess
pode ser necessário atualizar suas diretivasExpiresByType
,ExpiresDefault
eHeader set Cache-Control
para incluir também o formato webp.