Skip to content

akitaonrails/akitaonrails.github.io

Repository files navigation

AkitaOnRails - based on Hextra Starter Template

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.

Desenvolvimento Local

Pré-requisitos

Docker (Recomendado)

  • Docker e Docker Compose

Instalação Local

  • Hugo (Extended version)
  • Go
  • Ruby
  • Git

Usando Docker

  1. Clone o repositório:
git clone https://github.com/akitaonrails/akitaonrails.github.io.git
cd akitaonrails.github.io
  1. Inicie o ambiente:
./scripts/dev.sh start
  1. Acesse o blog:
  1. 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

Instalação Local

# 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 1313

Performance do build no Netlify: o netlify.toml está configurado com o netlify-plugin-cache persistindo resources/_gen e 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.

Como Contribuir

1. Fork e Clone

  • Faça um fork do repositório
  • Clone seu fork localmente

2. Ambiente de Desenvolvimento

  • Use Docker (recomendado) ou instale as dependências localmente
  • Siga as instruções acima para configurar o ambiente

3. Fazendo Mudanças

  • 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) ou hugo server
  • Commit suas mudanças: git commit -m "Adiciona nova funcionalidade"

4. Criando Posts

# 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

5. Estrutura de um Post

---
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...

6. Pull Request

  • Push para sua branch: git push origin feature/nova-funcionalidade
  • Abra um Pull Request no GitHub
  • Descreva suas mudanças claramente

Estrutura do Projeto

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)

Checklist para Contribuições

  • Testei localmente com Docker ou instalação local
  • Gerei o índice de posts (./scripts/dev.sh generate-index ou ./scripts/generate_index.rb)
  • Verifiquei se o site funciona corretamente
  • Segui as convenções de nomenclatura do projeto
  • Documentei mudanças significativas

Diretrizes de Contribuição

  • 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

Licença

Shield: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

About

2025 export from my old Rails-based blog AkitaOnRails.com

Resources

Stars

195 stars

Watchers

6 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors