サイトの仕組み
Hugo、フラットファイル、GitHub Actionsのパイプラインで動作します。データベースはありません。
データベースではなくファイルで管理
すべてのツールは content/tools/ にあるMarkdownファイルです。カテゴリは data/categories.yaml で管理しています。管理画面や管理用バックエンドはなく、サイト全体をGitリポジトリ内のフラットファイルで構成しています。Hugo
という静的サイトジェネレーターでビルドし、HTMLを生成します。
GitHub Actionsが行うこと
3つのワークフローで定型作業を処理します。
- デプロイ:
mainへのプッシュごとにサイトをビルドして公開します。 - IssueからPRへ:ツール投稿のissueを自動で確認し、形式に合う場合はプルリクエストを作成します。
- README更新:ツールのデータが変わるたびに
README.mdを再生成します。
この構成を選んだ理由
フラットファイルを使うことで、誰でもリポジトリを複製し、サイトの内容と掲載理由を確認できます。信頼する必要のある隠れたデータベースはありません。修正に使うデータは、サイトに表示されるものと同じファイルです。
コードを見る
ソースコード、サイトのテンプレート、スクリプト、データはすべてgithub.com/best-of-ai/best-of-ai で公開しています。