Sobre o projeto
Este é o repositório do código-fonte do site oficial da comunidade Open Source Design (opensourcedesign.net). O site é construído com o gerador de sites estáticos Hugo e Tailwind CSS, implantado no GitHub Pages, e utiliza GitHub Actions para build, pré-visualização e diversas tarefas automatizadas.
Organização do conteúdo
O conteúdo do site fica em Markdown no diretório content/, dividido principalmente em: About Us (sobre, manifesto, objetivos, governança, estatuto, código de conduta, painel de moderação), Events (anúncios e retrospectivas de eventos), Jobs (lista de vagas), Resources (central de recursos, com diretório de links selecionados, bibliografia e artigos da comunidade), além de páginas independentes como imprint, brand e a página inicial. O conteúdo dinâmico é alimentado por arquivos YAML em data/, por exemplo data/resources.yaml gerencia ferramentas e links selecionados, e data/bibliography.yaml gerencia entradas bibliográficas.
Formas de contribuir
O README oferece três caminhos de edição: modificar arquivos diretamente no editor web do GitHub, usar o GitHub Codespaces (ambiente de desenvolvimento em nuvem já pré-configurado com Hugo e pré-visualização em tempo real), ou montar o ambiente localmente. O desenvolvimento local exige apenas a instalação do Hugo extended e Git; o uso diário não depende de Node.js ou npm; o Tailwind standalone CLI e o Pagefind são binários opcionais. O fluxo de contribuição recomenda abrir uma issue para discussão antes de enviar um pull request; PRs de conteúdo precisam ser revisados por dois membros da comunidade. O projeto exige explicitamente que não sejam enviados códigos, issues, documentação ou revisões de código gerados por IA.
Estilos e build
A aparência das páginas vem das classes utilitárias do Tailwind nos templates em layouts/ e de regras personalizadas em assets/css/main.css, que são compilados em assets/css/compiled.css (não versionado, gerado pela CI). Ao rodar hugo server localmente, se esse arquivo estiver ausente, há fallback para o Tailwind Play CDN, que gera estilos no navegador em tempo real; também é possível compilar antecipadamente com o Tailwind CLI para corresponder ao ambiente de produção. Os estilos de modo escuro são carregados separadamente, e a tipografia dos artigos usa o typography.css pré-compilado.
Funcionalidades de vagas e eventos
Vagas e eventos podem ser enviados por formulário online, processado por um Cloudflare Worker que gera um pull request sujeito a revisão. As vagas suportam campos estruturados de salário, ícones de serviço com reconhecimento automático de links de candidatura, detecção de vagas duplicadas, e-mails de lembrete após cerca de seis semanas, mecanismo de expiração baseado em deadline (Action diária que envia PR de expiração automaticamente), feeds RSS separados por pago/voluntário, e cards de compartilhamento social gerados automaticamente. Os eventos suportam marcação de autor para distinguir anúncios de retrospectivas, arquivamento automático via endDate, e status de cancelamento.
Automação e garantia de qualidade
A CI pula builds do Hugo irrelevantes por meio de uma lista de caminhos em path-filters.yml. O lint de conteúdo verifica apenas arquivos alterados, valida campos obrigatórios do front matter, enums de status, datas ISO, e bloqueia armadilhas comuns de Markdown. Verificações do repositório, de acessibilidade e lint de conteúdo são status checks obrigatórios na branch main. Após a fusão de uma nova vaga, um script publica automaticamente no Mastodon e no Bluesky (chaves de configuração opcionais por plataforma, com suporte a acionamento manual e dry-run). Há ainda workflows de lembrete semanal de vagas, cache do fórum a cada 12 horas, e verificação de links duas vezes por mês.
Busca e imagens
A busca no site é um modal global, com atalhos Ctrl/⌘+K ou /, fornecida pelo Pagefind, com índice gerado após o build e carregado sob demanda. Imagens em Markdown passam pelo pipeline de recursos do Hugo; imagens raster locais são redimensionadas automaticamente e exportadas em AVIF e WebP, com fallback no formato original e largura/altura intrínsecas para evitar deslocamento de layout; SVG, GIF e links externos permanecem inalterados.
Licença
O código usa AGPLv3, e o conteúdo usa Creative Commons Attribution-ShareAlike 4.0; ao usar ou modificar, é necessário atribuir ao Open Source Design e aplicar a mesma licença a obras derivadas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.