Sobre el proyecto
Este es el repositorio del código fuente del sitio web oficial de la comunidad Open Source Design (opensourcedesign.net). El sitio se construye con el generador de sitios estáticos Hugo y Tailwind CSS, se despliega en GitHub Pages y utiliza GitHub Actions para la compilación, la vista previa y diversas tareas automatizadas.
Organización del contenido
El contenido del sitio se almacena en formato Markdown en el directorio content/ y se divide principalmente en: About Us (acerca de, manifiesto, objetivos, gobernanza, estatutos, código de conducta, panel de revisión), Events (anuncios y resúmenes de eventos), Jobs (listado de empleos), Resources (centro de recursos, con directorio de enlaces destacados, bibliografía y artículos de la comunidad), así como páginas independientes como imprint, brand y la página de inicio. El contenido dinámico se gestiona mediante archivos YAML en data/, por ejemplo data/resources.yaml administra herramientas y enlaces destacados, y data/bibliography.yaml gestiona entradas bibliográficas.
Formas de contribuir
El README ofrece tres vías de edición: modificar archivos directamente en el editor web de GitHub, usar GitHub Codespaces como entorno de desarrollo en la nube (ya preconfigurado con Hugo y vista previa en vivo), o montar un entorno local. El desarrollo local solo requiere instalar Hugo extendido y Git; el uso diario no depende de Node.js ni npm; Tailwind CLI independiente y Pagefind son binarios opcionales. Se recomienda que el flujo de contribución comience abriendo un issue para discutir y luego enviar un pull request; los PR de contenido deben ser revisados por dos miembros de la comunidad. El proyecto exige explícitamente no enviar código, issues, documentación ni revisiones de código generados por IA.
Estilos y compilación
La apariencia de las páginas proviene de las clases utilitarias de Tailwind en las plantillas de layouts/ y de las reglas personalizadas en assets/css/main.css, que se compilan en assets/css/compiled.css (no incluido en el control de versiones, generado por CI). Al ejecutar hugo server localmente, si falta ese archivo, se recurre al CDN de Tailwind Play para generar estilos al instante en el navegador; también se puede compilar previamente con Tailwind CLI para igualar el entorno de producción. Los estilos de modo oscuro se cargan por separado y la tipografía de los artículos usa typography.css precompilado.
Funciones de empleos y eventos
Los empleos y eventos se pueden enviar mediante formularios en línea, procesados por un Cloudflare Worker que genera un pull request sujeto a revisión. Los empleos admiten campos salariales estructurados, iconos de servicio con reconocimiento automático de enlaces de solicitud, detección de empleos duplicados, correos de recordatorio tras unas seis semanas, mecanismo de caducidad basado en deadline (una Action diaria envía automáticamente PR de caducidad), fuentes RSS diferenciadas por remunerado/voluntario y tarjetas de compartir en redes generadas automáticamente. Los eventos admiten etiquetas de autor para distinguir anuncios de resúmenes, archivado automático mediante endDate y estado de cancelación.
Automatización y garantía de calidad
CI omite compilaciones de Hugo irrelevantes mediante listas de rutas permitidas en path-filters.yml. El lint de contenido solo revisa archivos modificados, valida campos obligatorios del front matter, enumeraciones de estado, fechas ISO y bloquea trampas comunes de Markdown. Las comprobaciones del repositorio, de accesibilidad y el lint de contenido son verificaciones de estado obligatorias en la rama main. Tras fusionar un nuevo empleo, un script lo publica automáticamente en Mastodon y Bluesky (claves de configuración opcionales por plataforma, con activación manual y dry-run). También hay flujos de trabajo para recordatorios semanales de empleos, caché del foro cada 12 horas y verificación de enlaces dos veces al mes.
Búsqueda e imágenes
La búsqueda interna es un modal de todo el sitio, compatible con los atajos Ctrl/⌘+K o /, proporcionada por Pagefind, con índice generado tras la compilación y carga diferida. Las imágenes Markdown se procesan mediante la canalización de recursos de Hugo; las imágenes rasterizadas locales se escalan automáticamente y se exportan en AVIF y WebP, con respaldo en el formato original y dimensiones intrínsecas para evitar desplazamientos de diseño; SVG, GIF y enlaces externos permanecen sin cambios.
Licencia
El código usa AGPLv3 y el contenido usa Creative Commons Attribution-ShareAlike 4.0; al usar o modificar se debe atribuir a Open Source Design y aplicar la misma licencia a las obras derivadas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.