I have tweaked the Starter Template for the AkitaOnRails Blog. Check their github repo for more info.
I will accept some pull requests, but do not make any massive changes, only tweaks.
Docker (Recomendado)
- Docker e Docker Compose
Instalação Local
- Hugo (Extended version)
- Go
- Ruby
- Git
- Clone o repositório:
git clone https://github.com/akitaonrails/akitaonrails.github.io.git
cd akitaonrails.github.io- Inicie o ambiente:
./scripts/dev.sh start- Acesse o blog:
- Comandos úteis:
./scripts/dev.sh logs # Ver logs
./scripts/dev.sh stop # Parar ambiente
./scripts/dev.sh new-post # Criar novo post
./scripts/dev.sh generate-index # Gerar índice
./scripts/dev.sh help # Ver todos os comandos# clone repository
git clone https://github.com/akitaonrails/akitaonrails.github.io.git
cd akitaonrails.github.io
# adicionar conteúdo
nvim content/2025/08/29/hello/index.md
# gerar índice (gera _index.md + archives/_index.md)
./scripts/generate_index.rb
# build completo (produção) — sem --gc para não invalidar o cache do Netlify
hugo --minify
# dev server rápido (só renderiza 2025+ via renderSegments + in-memory + fast render)
hugo server --renderSegments recent --renderToMemory -p 1313
# dev server completo (se precisar ver posts antigos)
hugo server --renderToMemory -p 1313Performance do build no Netlify: o
netlify.tomlestá configurado com onetlify-plugin-cachepersistindoresources/_gene o cache de módulos do Hugo entre builds. O primeiro deploy depois de habilitar o cache é frio; os seguintes reusam imagens processadas, SCSS compilado e módulos remotos (~50–80% mais rápido). Por isso o build command não usa--gc: isso limparia exatamente o que queremos cachear.
- Faça um fork do repositório
- Clone seu fork localmente
- Use Docker (recomendado) ou instale as dependências localmente
- Siga as instruções acima para configurar o ambiente
- Crie uma branch para sua feature:
git checkout -b feature/nova-funcionalidade - Faça suas alterações
- Teste localmente usando
./scripts/dev.sh start(Docker) ouhugo server - Commit suas mudanças:
git commit -m "Adiciona nova funcionalidade"
# Com Docker
./scripts/dev.sh new-post "Título do Post"
# Manualmente
mkdir -p content/2025/01/15/meu-post
nvim content/2025/01/15/meu-post/index.md---
title: "Título do Post"
date: 2025-01-15T10:00:00-03:00
draft: false
description: "Descrição do post"
tags: [tag1, tag2]
categories: [categoria]
---
Conteúdo do post aqui...- Push para sua branch:
git push origin feature/nova-funcionalidade - Abra um Pull Request no GitHub
- Descreva suas mudanças claramente
akitaonrails.github.io/
├── content/ # Posts e páginas (Markdown)
│ ├── _index.md # Homepage (auto-gerado, posts recentes)
│ └── archives/
│ └── _index.md # Arquivo completo (auto-gerado, posts antigos)
├── layouts/ # Templates HTML
├── assets/ # CSS, JS, imagens
├── hugo.yaml # Configuração do Hugo (inclui render segments)
├── go.mod # Dependências Go
├── scripts/
│ └── generate_index.rb # Gera _index.md + archives/_index.md
├── Dockerfile # Imagem Docker
└── docker-compose.yml # Orquestração Docker (usa --renderSegments recent)
- Testei localmente com Docker ou instalação local
- Gerei o índice de posts (
./scripts/dev.sh generate-indexou./scripts/generate_index.rb) - Verifiquei se o site funciona corretamente
- Segui as convenções de nomenclatura do projeto
- Documentei mudanças significativas
- Mantenha mudanças pequenas e focadas
- Teste sempre antes de submeter
- Use mensagens de commit descritivas
- Respeite o estilo de código existente
- Para mudanças grandes, abra uma issue primeiro
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
