Olá Hugo

Adeus Jekkyl

Depois de muito tempo usando o Jekyll eu resolvi mudar de ferramenta para gerenciar o meu site pessoal.

Talvez por um reflexo do meu trabalho na newsletter A semana Go acabei optando pelo excelente Hugo, escrito na linguagem do Google.

A migração do Jekyll foi bem tranquila graças a documentação oficial e encontrei uma boa gama de temas para escolher.

O principal motivo para esta mudança foi a diferença de performance para gerar o site. Enquanto o Jekyll leva mais de 40 segundos para converter os 528 posts de markdown para html o mesmo processo leva 600 ms com o Hugo. E a instalação do Hugo é bem mais simples e rápida, bastando um

brew install hugo

no MacOSX e tudo pronto.

Continuo usando o S3 para hospedar o site da mesma forma que eu fazia com a versão anterior, o que é a forma mais prática e barata para manter um site estático. Para isso eu instalei o pacote awscli usando o:

brew install awscli

O primeiro passo é configurar os dados de conexão com a Amazon executando :

aws configure

E respondendo as perguntas solicitadas pelo script.

Para facilitar o processo eu criei um shell script com os comandos para o deploy. Usei este post como inspiração e criei o deploy.sh:

BUCKET_NAME=eltonminetto.net

# Build a fresh copy
hugo

# Copy over pages - not static js/img/css/downloads
aws s3 sync --acl "public-read" public/ s3://$BUCKET_NAME/ --exclude 'img' --exclude 'js' --exclude 'css' --exclude 'post'

# Ensure static files are set to cache forever - cache for a month --cache-control "max-age=2592000"
aws s3 sync --cache-control "max-age=2592000" --acl "public-read" public/img/ s3://$BUCKET_NAME/img/
aws s3 sync --cache-control "max-age=2592000" --acl "public-read" public/css/ s3://$BUCKET_NAME/css/
aws s3 sync --cache-control "max-age=2592000" --acl "public-read" public/js/ s3://$BUCKET_NAME/js/

Estou gostando do resultado e devo incrementar o site com algumas outras features nos próximos dias, então qualquer sugestão de melhoria ou apontamento de erro é sempre bem vindo.

P.S. A verdadeira razão é que eu odiava escrever “jekyl”, “jekkyl”, até acertar o comando certo :)

comments powered by Disqus