Об этом проекте

Авторы описывают Gopad как простой веб-интерфейс для написания и обновления документов на базе markdown, сопоставимый с Etherpad, но ориентированный на написание и форматирование markdown. Данный репозиторий, gopad-api, содержит серверную часть проекта, реализованную на Go, в то время как пользовательский интерфейс построен на VueJS. Сопровождающие проект особо отмечают, что он находится в стадии активной разработки, стабильный релиз еще не выпущен, и до первого полноценного релиза следует ожидать критических изменений. Установка и упаковка. Предварительно скомпилированные бинарные файлы доступны через релизы GitHub и специальный сайт для загрузки. Проект также предоставляет репозитории пакетов DEB и RPM, размещенные на Cloudsmith, образы контейнеров, опубликованные на GHCR, Docker Hub и Quay, формулу Homebrew для пользователей macOS, а также документацию на gopad.eu. Cloudsmith указан в качестве хостинг-провайдера для репозиториев пакетов. Процесс сборки. Версии инструментов управляются с помощью mise; внутри репозитория необходимо выполнить mise trust и mise install для активации и установки всего, что определено в mise.toml. Сами этапы сборки являются частью taskfile go-task, поэтому задокументированная последовательность действий состоит в клонировании репозитория, затем запуске task fe:install fe:build be:build и, наконец, запуске полученного бинарного файла. Все статические ресурсы встроены в бинарный файл, поэтому помимо запуска исполняемого файла дополнительный веб-сервер не требуется. Рабочий процесс разработки. Предоставляются конфигурации DevContainer, поэтому контрибьюторы, использующие их, могут начать работу без установки mise в свою систему. Активная разработка предполагает использование двух задач отслеживания (watch tasks), запущенных в отдельных вкладках или окнах терминала: task watch:server и task watch:frontend. Сервер разработки бэкенда работает на localhost:8080, а фронтенд — на localhost:5173, с поддержкой горячей перезагрузки, чтобы сервисы автоматически перезапускались или обновлялись при изменении кода. Участие в разработке и релизы. Проект следует стандарту conventional commits для автоматической генерации журналов изменений (changelogs) для каждого релиза; новый функционал или исправления должны интегрироваться через pull requests. Нумерация релизов соответствует семантическому версионированию, чтобы обозначить, исправляет ли версия ошибки, добавляет ли функции или вносит критические изменения. После установки инструментов через mise контрибьюторы настраивают pre-commit хуки с помощью prek (управляемого через mise) для типов хуков pre-commit и commit-msg. После слияния pull request и успешной сборки новый релиз создается автоматически не реже одного раза в неделю. Отчеты о безопасности следует направлять на gopad@webhippie.de. Проект лицензирован под Apache-2.0, авторские права принадлежат Thomas Boerger с 2018 года.