Другой возможный подход — вынести это ещё дальше, вместо того чтобы делать это в виде плагина или компонента темы.
Примеры предыдущих реализаций здесь: Discourse Public Data Dump
Ещё раз подчеркну: чем больше вы сможете описать задачу с точки зрения конечного результата, к которому стремитесь, тем проще будет дать рекомендации.
Поэтому спасибо за ссылку:
Возможно, мы сможем использовать это как отправную точку, чтобы дополнительно уточнить функциональную спецификацию, которую вы уже неявно определили.
Как я понимаю сейчас, вы хотите:
- создать статический HTML-архив сайта Discourse;
- поддерживать его в актуальном состоянии по мере появления нового контента;
- исключить определённые категории.
А текущий дизайн, который вы исследуете, выглядит так:
- создать плагин, который:
- позволяет администраторам:
- явно настраивать, какие категории исключать;
- указывать URL репозитория Git для хранения статического контента;
- периодически запускает фоновую задачу, которая:
- создаёт Markdown-файлы для тем и сообщений;
- сохраняет их в определённой структуре файлов/каталогов в репозитории Git;
- отправляет изменения в GitHub;
- позволяет администраторам:
- конечные пользователи могут просматривать контент на GitHub в виде HTML.
Правильно ли я понял?