Esse tutorial é um material de apoio da oficina Sites estáticos com framework Hugo, realizada em Curitiba em 15/02/20, que teve como instrutora @knienkotter e como monitoras @amandabrbz e @erikacarvalho.
Nossa ideia é disponibilizar o conteúdo online para que tanto quem esteve quanto quem não esteve presente na oficina possa se beneficiar do conteúdo.
A versão atual compreende apenas as notas sobre Hugo + Netlify, mas planejamos adicionar em breve um passo-a-passo para publicação com Hugo + GitHub Pages.
🥳 Divirta-se!
Um site estático é entregue ao navegador da pessoa usuária exatamente da mesma forma que está armazenado, em contraste a sites dinâmicos.
É baseado principalmente em HTML (HyperText Markup Language), que é uma "linguagem de marcação".
O documento HTML é interpretado pelo navegador, que o renderiza e exibe o conteúdo formatado.
- Site pessoal
- Blog
- Site institucional
Tableless, 1Password, Let's Encrypt, TreinaWeb Blog
- Custo de hospedagem (baixo ou nenhum)
- Performance
- Menos brechas de segurança
- Pra cada atualização é necessário um novo deploy
- Não é ótimo pra atividades que envolvam buscas (portais e e-commerces)
- Feito em 🐭Go, uma linguagem de programação desenvolvida pela Google
- Rápido
- Simples de usar: com 4 comandos seu site está no ar
- Tem temas prontos disponíveis em themes.gohugo.io
- Nesse tutorial vamos usar Hugo pra construir um site, Netlify pra publicá-lo, Git para versionar o projeto e GitHub para hospedar o repositório.
- Os comandos informados devem ser digitados no terminal (para quem usa Windows, sugerimos usar o Git Bash). O
$
indica o início de um comando, mas não deve ser digitado. - Caso precise de mais orientações sobre Git, esse repositório aqui tem o conteúdo da oficina sobre git e github.
-
Ter uma conta no GitHub. Caso não tenha, crie a sua gratuitamente aqui.
-
Ter instalado na sua máquina:
⚙️ IDE ou editor de texto de sua preferência. Caso não tenha nenhum, GoLand tem um período de 30 dias grátis.
⚙️ Git. Caso não tenha, é possível obter gratuitamente aqui.
Faça download do executável do Hugo Windows 64 bits ou Windows 32 bits (este executável não é um instalador, é necessário fazer a instalação manual)
Descompacte o conteúdo do ZIP para a pasta C:\Hugo\bin
(pode ser na pasta que preferir)
Copie o caminho onde está o executável hugo.exe
para configurar seu sistema para reconhecer o comando Hugo. Para isso você deve configurar a variável de ambiente PATH
seguindo os passos abaixo:
- Em Iniciar > Pesquisar, procure e selecione: Sistema (Painel de Controle)
- Clique no link Configurações avançadas do sistema.
- Clique em Variáveis de Ambiente. Na seção Variáveis do Sistema, localize a variável de ambiente
PATH
e selecione-a. Clique em Editar. Se a variável de ambientePATH
não existir, clique em Novo.- Na janela Editar Variável de Sistema (ou Nova Variável de Sistema), especifique o valor (
C:\hugo\bin\
) da variável de ambientePATH
. Clique em OK. Feche todas as janelas restantes clicando em OK.- Reabra o terminal e execute
$ hugo version
.
Outras formas de instalação podem ser encontradas aqui
Sugerimos que seja usado o Homebrew, mas no próprio site do Hugo há mais instruções (aqui).
Comando para instalar com Homebrew: $ brew install hugo
Use o package manager da sua distro/de sua preferência, instruções adicionais aqui
-
Checar versão do Hugo que está instalada
-
Isso permite verificar se a instalação ocorreu e dá a informação necessária para comparar com a "Minimum Hugo Version" que o tema precisa
-
Digite o seguinte comando:
$ hugo version
-
-
Criar novo site
-
Onde você quiser que seja criada a pasta com todo o projeto, digite o seguinte comando:
$ hugo new site meusite
-
Se der certo, você deve receber a seguinte mensagem:
Congratulations! Your new Hugo site is created in <...>
-
-
Inicializar o repositório git
-
Digite os seguintes comandos:
$ cd meusite
$ git init
-
-
Escolher um tema
- Nesse tutorial, vamos usar o tema Noteworthy
- No site é possível visualizar outros temas: themes.gohugo.io
-
Configurar o repositório do tema como submodule do seu repositório
-
Adicionar o submodule com o seguinte comando:
$ git submodule add <url> <path>
Exemplo:
$ git submodule add https://github.com/kimcc/hugo-theme-noteworthy themes/noteworthy
-
-
Trocar o arquivo de configuração
-
Copiar o arquivo 📄
config.toml
da pasta 📂exampleSite
para a raiz do seu projeto (📂meusite
) -
Onde encontrar o arquivo:
📂meusite └──📂themes └──📂noteworthy └──📂exampleSite └──📄config.toml
- OBS: Se quiser iniciar seu site com conteúdos para visualizar melhor as possibilidades do tema, copie também a pasta 📂
content
. Você poderá excluir o conteúdo que não é seu mais tarde.
-
-
Editar o arquivo de configuração que foi copiado
-
No arquivo 📄
config.toml
que foi copiado para a sua pasta 📂meusite
, promover as seguintes alterações:- Adicionar (ou corrigir)
theme = <nome do tema>
com o nome do tema (no caso,theme = "noteworthy"
) - Remover
themesDir = "../.."
(se houver) - Alterar o conteúdo do campo
title
- Na parte dos links da redes sociais, preencher com as
urls
das páginas que você quiser que sejam exibidas - Remover links das páginas que não deseja que sejam exibidas
- Alterar o valor do campo
description
para a mensagem que deseja que seja exibida no topo do site - Promover outras alterações que desejar
- Adicionar (ou corrigir)
-
-
Alterar a URL base no arquivo de configurações
- Primeiro, você deve visitar o endereço que deseja utilizar para verificar se recebe a mensagem
Not Found
- o que indica que o subdomínio está disponível. O endereço será:https://<NOMEESCOLHIDO>.netlify.com
- Se não estiver disponível, tente outro até que o retorno seja
Not Found
- Se estiver disponível, siga para a linha abaixo
- Se não estiver disponível, tente outro até que o retorno seja
- Colocar a URL do seu site no campo
baseURL
em 📄config.toml
, dessa forma:baseURL = "https://<NOMEESCOLHIDO>.netlify.com"
- Primeiro, você deve visitar o endereço que deseja utilizar para verificar se recebe a mensagem
-
Criar seu primeiro post
-
Digitar o seguinte comando:
$ hugo new posts/primeiro-post.md
-
Editar o arquivo que foi criado e adicionar o conteúdo que desejar
- Onde encontrar o arquivo:
📂meusite └──📂content └──📂posts └──📄primeiro-post.md
- OBS: Cada post tem um campo
draft
, que pode ter o valortrue
(caso seja ainda um rascunho) oufalse
(caso deva ser publicado). Edite o campo para sinalizar a publicação do post.
-
Repetir quantas vezes desejar para adicionar posts (usando nomes diferentes para os arquivos)
-
-
Visualizar o site localmente (para ver como está ficando 🤓)
-
Digitar o seguinte comando:
$ hugo server -D
- OBS: A flag
-D
força o conteúdo que está sinalizado como draft a ser publicado junto. Caso não deseje que isso aconteça, utilizar o comando sem a flag-D
.
- OBS: A flag
-
Em seu navegador de preferência, visitar o endereço
localhost:1313
(ou o endereço que for informado no próprio terminal após rodar o comando acima) -
Para parar, apertar
Ctrl + C
no terminal
-
-
Configurar a versão do Hugo que será utilizada pela Netlify
-
Para criar o arquivo, digite o seguinte comando:
$ touch netlify.toml
-
Edite o arquivo e insira nele o seguinte conteúdo:
[context.production.environment] HUGO_VERSION = "X.XX.X"
- OBS: no campo
HUGO_VERSION
deve ser colocado o valor indicado como "Minimum Hugo Version" na página do tema. A que foi usada nesse tutorial, para essa versão do Noteworthy foi0.55.2
- OBS: no campo
-
É possível encontrar mais sobre isso aqui
-
-
Fazer o commit do seu conteúdo na máquina
-
Digitar os seguintes comandos:
$ git status
- para visualizar onde ocorreram alterações$ git add .
- para adicionar as alterações à staging area$ git commit -m "<título do commit>"
- para realizar o commit -
OBS: caso precise de mais instruções sobre git, visitar esse repositório aqui.
-
-
Criar repositório no Git provider de sua preferência (nesse tutorial, estamos usando o GitHub)
- OBS: O repositório não precisa ser público, pois daremos permissão de leitura ao Netlify mais tarde. Pode ser criado como
Private
- OBS: O repositório não precisa ser público, pois daremos permissão de leitura ao Netlify mais tarde. Pode ser criado como
-
Dar push no conteúdo do repositório local para o remoto
-
Digitar os seguintes comandos:
$ git remote add origin https://github.com/<USER>/<REPO>.git
- pra adicionar sua origem remota- OBS: o endereço correto poderá ser encontrado na página inicial do seu repositório enquanto não houver um arquivo
README.md
, ou no botãoClone or download
disponível para ser copiado
$ git push -u origin master
- para realizar o push - OBS: o endereço correto poderá ser encontrado na página inicial do seu repositório enquanto não houver um arquivo
-
-
Criar um site dentro do Netlify
OBS: caso não tenha uma conta, criar uma usando autenticação via GitHub
-
No Netlify:
- Escolher Git provider
- Escolher o repositório no qual você trabalhou durante esse tutorial
- Últimas configurações e build
-
-
Publicar o site
-
Via Netlify, isso acontece como o 3º passo da sua configuração do novo site, dentro da própria plataforma.
-
OBS: é possível que você receba um erro similar a esse aqui no log do Deploy:
ERROR <DATA> <HORA> NOTEWORTHY theme does not support Hugo version 0.54.0. Minimum version required is 0.55.2
-
Se isso ocorrer, volte ao passo 11 para retificar a versão e faça um novo push
-
-
-
Configurar seu domínio customizado (opcional)
- Caso utilize um domínio customizado, ele deve ser colocado no campo
baseURL
no passo 8
- Caso utilize um domínio customizado, ele deve ser colocado no campo
-
Editar nome do subdomínio
-
No site da Netlify, siga o caminho informado abaixo e altere o nome do site para o mesmo que você colocou no campo
baseURL
no passo 8➡️
Settings
->Domain management
->Domains
->Custom domains
->...
->Edit site name
-
-
Pronto!
Seu site está no ar e disponível para você alterá-lo.
Sugerimos deletar os posts que tenham sido copiados da pasta
exampleSite
do tema durante a construção.Lembre-se que sempre que promover alterações no seu repositório local você deve realizar um novo
push
no seu repositório remoto para que as alterações possam ser implementadas!
💡 Precisa de mais dicas? Dá uma olhada aqui (em inglês).
💻 Colocou seu site no ar com a ajuda desse tutorial? Compartilha nas redes sociais e marca a gente! Nossa arroba é @womenwhogocwb
tanto no twitter quanto no instagram e a hashtag é #wwgcwb