Sobre el proyecto

Gopad es descrito por sus autores como una interfaz web sencilla para escribir y actualizar documentos basados en markdown, comparable a Etherpad pero enfocada en la escritura y el formato de markdown. Este repositorio, gopad-api, contiene el lado del servidor del proyecto, implementado en Go, mientras que la interfaz de usuario está construida con VueJS. Los mantenedores señalan explícitamente que el proyecto está en desarrollo activo, que aún no hay un lanzamiento estable y que se deben esperar cambios disruptivos antes del primer lanzamiento real. Instalación y empaquetado. Se ofrecen binarios precompilados a través de los lanzamientos de GitHub y un sitio de descarga dedicado. El proyecto también prepara repositorios de paquetes DEB y RPM alojados por Cloudsmith, imágenes de contenedor publicadas en GHCR, Docker Hub y Quay, una fórmula de Homebrew para usuarios de macOS y documentación en gopad.eu. Cloudsmith es acreditado como el proveedor de alojamiento para los repositorios de paquetes. Proceso de construcción. Las versiones de las herramientas se gestionan con mise; dentro del repositorio se ejecuta mise trust y mise install para activarlo e instalar todo lo definido en mise.toml. Los pasos de construcción en sí forman parte de un taskfile de go-task, por lo que la secuencia documentada es clonar el repositorio, luego ejecutar task fe:install fe:build be:build y, finalmente, iniciar el binario resultante. Todos los activos estáticos están embebidos en el binario, por lo que no se necesita un servidor web adicional más allá de iniciar el ejecutable. Flujo de trabajo de desarrollo. Se proporcionan configuraciones de DevContainer, por lo que los colaboradores que las utilicen pueden comenzar sin instalar mise en su propio sistema. El desarrollo activo utiliza dos tareas de observación (watch) ejecutadas en pestañas o ventanas de terminal separadas: task watch:server y task watch:frontend. El servidor de desarrollo del backend está documentado para ejecutarse en localhost:8080 y el frontend en localhost:5173, con recarga en caliente para que los servicios se reinicien o recarguen automáticamente al realizar cambios en el código. Contribuciones y lanzamientos. El proyecto sigue los conventional commits para que se puedan generar registros de cambios por lanzamiento, y solicita que las nuevas funcionalidades o correcciones se integren a través de pull requests. La numeración de los lanzamientos sigue el versionado semántico para señalar si una versión corrige errores, añade funciones o introduce cambios disruptivos. Después de instalar las herramientas a través de mise, los colaboradores configuran ganchos de pre-commit con prek (gestionado por mise) para los tipos de ganchos pre-commit y commit-msg. Una vez que un pull request se fusiona y las construcciones tienen éxito, se crea automáticamente un nuevo lanzamiento al menos una vez a la semana. Los informes de seguridad deben enviarse primero a gopad@webhippie.de. El proyecto está licenciado bajo Apache-2.0, con el copyright atribuido a Thomas Boerger a partir de 2018.