さらに別の可能性として、プラグインやテーマコンポーネントとして行うのではなく、これをさらに外部化するというアプローチがあります。
関連する先行事例はこちらです: Discourse Public Data Dump
繰り返しますが、目指している最終結果の観点から可能な限りアプローチすることで、アドバイスがしやすくなると思います。
ですので、このリンクを共有していただきありがとうございます:
おそらく、これを足がかりとして、これまでに暗黙的に定義された機能仕様をさらに明確にすることができます。
現時点での私の理解では、あなたは以下を望んでいるようです:
- Discourseサイトの静的HTMLアーカイブを作成する
- 新しいコンテンツが作成されるにつれてそれを最新の状態に保つ
- 特定のカテゴリを除外する
そして、現在検討している設計は以下の通りです:
- 管理者が以下を行えるプラグインを作成する:
- 除外するカテゴリを明示的に設定できる
- 静的コンテンツを保存するためのgit URLを設定できる
- 定期的にバックグラウンドジョブを実行し、以下を行う:
- トピックと投稿のMarkdownファイルを作成する
- gitリポジトリ内のファイル/ディレクトリ構造にそれらを保存する
- それをGitHubにプッシュする
- エンドユーザーはGitHub上でコンテンツをHTMLとして見ることができる
これで合っていますか?