🚀 GitHub Pages + Hugo¶
1. O que é GitHub Pages?¶
O GitHub Pages é basicamente um servidor grátis do GitHub.
Você coloca os arquivos do seu site lá (HTML, CSS, JS) e ele fica online sem você pagar nada.
Só vale pra site estático (não pode PHP, banco de dados ou Node).
É perfeito para as documentações que faremos
Exemplo rápido:¶
- Criei um repositório no GitHub chamado
pages - Coloquei um arquivo
index.htmldentro - Ativei o GitHub Pages nas configurações do repositório
- O site ficou no ar em: https://usuario.github.io/pages/
- Você pode usar um domínio próprio também ex: "www.squad6.com" se quiser
Teste que eu fiz : https://luanludry.github.io/teste-github-pages/
Observações importantes:¶
- Só roda em site estático
- O repositório tem que ter no máximo 1 GB (que é o suficiente para a documentação)
- Da para usar diversas ferramentas que geram sites estáticos mas nós vamos usar o Hugo
O que é o Hugo?¶
O Hugo é um gerador de sites estáticos bem rápido feito em Go. Você escreve um Markdown, escolhe o tema e o site ta pronto. Tem diversos temas prontos que você pode encontrar aqui Hugo Themes
Tutorial https://www.youtube.com/watch?v=rX7VVaEIzPM&ab_channel=%E8%BE%B0%E5%8D%97
Como criar um site com Hugo + GitHub pages¶
bash sudo apt install hugo
Ver se deu certo: bash hugo version
Criar o projeto¶
bash hugo new site meu-site cd meu-site
Escolher um tema¶
bash git init git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke (exemplo de tema)
Configura no hugo.toml:
toml
theme = "ananke"
Criar um post¶
bash hugo new posts/primeiro-post.md
Vai em content/posts/primeiro-post.md e troca draft = true pra draft = false.
Testar no navegador¶
bash hugo server -D
Acesse: http://localhost:1313
Gerar o site final¶
bash hugo
Ele vai criar a pasta public/ com os arquivos prontos pra publicar.
4. Colocando no ar com GitHub Pages¶
Jeito rápido (branch gh-pages)¶
- Cria um repo no GitHub
- Vai na pasta
public/ -
Faz o push: bash git init git remote add origin https://github.com/seuusuario/meu-site.git git checkout -b gh-pages git add . git commit -m "deploy" git push origin gh-pages --force
-
No GitHub → Settings → Pages → escolhe o branch
gh-pages.
Observações importantes¶
- Acho que seria bom a gente padronizar os temas, existem alguns temas que eles são mais "completos" e são mais difíceis de ser usados
- A pasta public/ não deve ser comitada no repositorio principal
- o GitHub pages demora uns 3 minutos para ser postado, caso não funcione tenta fazer um novo commit, se isso não funcionar pode falar comigo que eu ajudo :)
- Infelizmente não existe muito conteúdo em português, mas por ser bem simples de ser usado o GPT e outras inteligencias artificiais podem auxiliar bastante
linkds dos conteúdos estudados¶
- Site do hugo, existem muita coisa interessantes aqui: https://gohugo.io/documentation/
- Essa playlist tem muito conteúdo para iniciar com o site: https://www.youtube.com/watch?v=0RKpf3rK57I&list=PLbb_NncyMIquNU4pdg6rVW3TuK30Gq9dw&ab_channel=Fireship
- Desse site peguei o passo a passo, inclusive ele é feito usandoHugo: https://www.testingwithmarie.com/posts/20241126-create-a-static-blog-with-hugo/
- Um vídeo do Lempa fazendo o passo a passo de como usar o Hugo com um dos themes mais utilizados: https://youtu.be/MX4yy1dTVYg?si=abOstu-P9trbIxTy
Documentação criada por Luan Ludry (@luanludry)