À propos du projet

Gopad est décrit par ses auteurs comme une interface web simple pour écrire et mettre à jour des documents basés sur markdown, comparable à Etherpad mais axée sur l'écriture et le formatage markdown. Ce dépôt, gopad-api, contient le côté serveur du projet, implémenté en Go, tandis que l'interface utilisateur est construite avec VueJS. Les mainteneurs précisent explicitement que le projet est en développement actif, qu'il n'y a pas encore de version stable et que des changements majeurs sont à prévoir avant la première version réelle. Installation et packaging. Des binaires précompilés sont proposés via les releases GitHub et un site de téléchargement dédié. Le projet prépare également des dépôts de paquets DEB et RPM hébergés par Cloudsmith, des images de conteneurs publiées sur GHCR, Docker Hub et Quay, une formule Homebrew pour les utilisateurs de macOS, et une documentation sur gopad.eu. Cloudsmith est crédité comme le fournisseur d'hébergement pour les dépôts de paquets. Processus de construction. Les versions des outils sont gérées avec mise ; à l'intérieur du dépôt, vous exécutez mise trust et mise install pour l'activer et installer tout ce qui est défini dans mise.toml. Les étapes de construction font partie d'un taskfile go-task, donc la séquence documentée consiste à cloner le dépôt, puis à exécuter task fe:install fe:build be:build, et enfin à lancer le binaire résultant. Tous les actifs statiques sont intégrés dans le binaire, donc aucun serveur web supplémentaire n'est nécessaire au-delà du démarrage de l'exécutable. Flux de développement. Des configurations DevContainer sont fournies, afin que les contributeurs qui les utilisent puissent commencer sans installer mise sur leur propre système. Le développement actif utilise deux tâches de surveillance exécutées dans des onglets ou fenêtres de terminal séparés : task watch:server et task watch:frontend. Le serveur de développement backend est documenté comme fonctionnant sur localhost:8080 et le frontend sur localhost:5173, avec un rechargement à chaud pour que les services redémarrent ou se rechargent automatiquement lors de modifications du code. Contribution et versions. Le projet suit les conventional commits afin que des journaux de modifications puissent être générés par version, et demande que les nouvelles fonctionnalités ou corrections soient intégrées via des pull requests. La numérotation des versions suit le versionnage sémantique pour signaler si une version corrige des bugs, ajoute des fonctionnalités ou introduit des changements majeurs. Après l'installation des outils via mise, les contributeurs configurent des hooks pre-commit avec prek (géré par mise) pour les types de hooks pre-commit et commit-msg. Une fois qu'une pull request est fusionnée et que les builds réussissent, une nouvelle version est créée automatiquement au moins une fois par semaine. Les rapports de sécurité doivent d'abord être envoyés à gopad@webhippie.de. Le projet est sous licence Apache-2.0, avec le copyright attribué à Thomas Boerger à partir de 2018.