Sistema de conteúdo dinâmico GSoC
Este diretório usa uma abordagem baseada em dados para gerar páginas GSoC, eliminando a necessidade de copiar e colar conteúdo entre anos.
Como funciona
- Arquivo de dados: todo o conteúdo específico do ano é armazenado em
_data/gsoc-data.json - Generator Script:
scripts/generate-gsoc-pages.pylê os dados e gera arquivos markdown - Páginas Geradas: O script cria arquivos
YYYY.mdpara cada ano
Adicionando um Ano Novo
Para o ano atual (com ideias de projetos):
- Abra
_data/gsoc-data.json - Adicione uma nova entrada em
yearscom o ano como chave:"2026": { "type": "current", "title": "GSoC 2026", "description": "Google Summer of Code 2026 program at omegaUp", "intro": "Your introduction text here...", "project_ideas": [...], "application_process": {...}, "communications": [...], "faq": [...], "related_docs": [...] } - Atualize o
typedo ano anterior para"past"e adicione a matrizprojectsem vez deproject_ideas - Execute o gerador:
python3 scripts/generate-gsoc-pages.py - Revise os arquivos gerados e envie-os
Para o ano passado (projetos concluídos):
- Abra
_data/gsoc-data.json - Adicione uma nova entrada em
years:"2025": { "type": "past", "title": "GSoC 2025", "description": "Google Summer of Code 2025 projects", "intro": "Projects completed during GSoC 2025.", "projects": [ { "name": "Project Name", "description": "Project description", "result": "Project result/outcome" } ], "related_docs": [...] } - Execute o script gerador
- Revise e comprometa-se
Atualizando conteúdo existente
Simplesmente edite _data/gsoc-data.json e execute o script gerador. Todas as páginas serão regeneradas com o conteúdo atualizado.
Benefícios
- Sem erros de copiar e colar: fonte única de verdade para conteúdo compartilhado
- Consistência: todas as páginas seguem a mesma estrutura
- Atualizações fáceis: atualize o arquivo de dados uma vez, gere novamente todas as páginas
- Controle de versão: arquivo de dados mostra exatamente o que mudou entre os anos
Estrutura do arquivo
gsoc/
├── _data/
│ └── gsoc-data.json # Single source of truth
├── _templates/ # (Legacy - not used anymore)
├── 2023.md # Generated file
├── 2024.md # Generated file
├── 2025.md # Generated file
├── index.md # Manual file (not generated)
└── README.md # This file
Notas
- O script gerador usa apenas a biblioteca padrão Python (sem dependências externas)
- Os arquivos gerados devem ser confirmados no git
- O arquivo de dados (
gsoc-data.json) é a fonte da verdade - edite-o, não os arquivos markdown gerados - Sempre execute o gerador após atualizar o arquivo de dados