Modify SiteSettings/make SiteSettings mutable?

Another possible approach would be to externalize this even further, rather than do it as a plugin or a theme component.

Some prior art here: Discourse Public Data Dump

Again, I think approaching this as much as possible from the perspective from the end result you’re working towards, the easier it’ll be to advise.

So thanks for sharing this link:

Perhaps we can use that as a jumping off point to further clarify the functional spec you’ve implicitly defined so far.

The way I’m understanding it now you want to:

  • create a static html archive of a Discourse site
  • keep it up to date as new content is created
  • exclude certain categories

And the design you’re currently exploring is:

  • create a plugin that:
    • allows admins to:
    • explicitly configure which categories to exclude
    • configure a git URL to store static content
    • runs a background job periodically that:
      • creates markdown files for topics and posts
      • store them in some file/directory structure in a git repo
    • pushes that to GitHub
  • end users can see the content on GitHub as html

Is that about right?