このプロジェクトについて

Gopadは、Markdownベースのドキュメントを作成・更新するためのシンプルなWebインターフェースであり、Etherpadに似ていますが、Markdownの記述とフォーマットに焦点を当てています。このリポジトリ「gopad-api」にはGoで実装されたプロジェクトのサーバー側が含まれており、ユーザーインターフェースはVueJSで構築されています。メンテナーは、プロジェクトが現在アクティブに開発中であり、まだ安定版はリリースされていないため、最初の正式リリースまでに破壊的な変更が予想されることを明記しています。 インストールとパッケージングについて。ビルド済みバイナリはGitHubリリースおよび専用のダウンロードサイトから提供されています。また、CloudsmithでホストされるDEBおよびRPMパッケージリポジトリ、GHCR、Docker Hub、Quayで公開されているコンテナイメージ、macOSユーザー向けのHomebrewフォーミュラが用意されており、ドキュメントはgopad.euで公開されています。パッケージリポジトリのホスティングプロバイダーとしてはCloudsmithが利用されています。 ビルドプロセスについて。ツールバージョンはmiseで管理されており、リポジトリ内で「mise trust」および「mise install」を実行することで、mise.tomlで定義されたすべてのツールの有効化とインストールが行われます。ビルド手順自体はgo-taskのtaskfileの一部となっており、ドキュメント化された手順は、リポジトリをクローンし、「task fe:install fe:build be:build」を実行し、最終的に生成されたバイナリを起動することです。すべての静的アセットはバイナリに組み込まれているため、実行ファイルを起動する以外に別途Webサーバーを用意する必要はありません。 開発ワークフローについて。DevContainerの設定が提供されているため、これを利用するコントリビューターは自身のシステムにmiseをインストールすることなく開始できます。アクティブな開発では、別々のターミナルタブまたはウィンドウで「task watch:server」と「task watch:frontend」という2つのウォッチタスクを実行します。バックエンド開発サーバーはlocalhost:8080で、フロントエンドはlocalhost:5173で動作し、ホットリロード機能によりコード変更時にサービスが自動的に再起動またはリロードされます。 コントリビューションとリリースについて。プロジェクトはConventional Commitsに従っており、リリースごとに変更履歴(changelog)を生成できます。新機能や修正はプルリクエストを通じて統合することが求められています。リリースのナンバリングはセマンティックバージョニングに従い、バグ修正、機能追加、または破壊的変更の有無を示します。mise経由でツールをインストールした後、コントリビューターはprek(miseで管理)を使用して、pre-commitおよびcommit-msgフックタイプのpre-commitフックを設定します。プルリクエストがマージされビルドが成功すると、少なくとも週に1回、新しいリリースが自動的に作成されます。 セキュリティレポートは、まずgopad@webhippie.deに送信してください。プロジェクトはApache-2.0ライセンスの下で提供されており、著作権は2018年よりThomas Boergerに帰属します。