FEATURE: Site setting to always show category definitions (PR #10124)

Adds a hidden site settings to always show category definition topics in the topic list.

GitHub

Tests should fail here because all site settings need descriptions.

Consider changing where the option is set instead of ignoring the option inside the query.

@eviltrout Looks like specs passed. Also it looks like the setting directly above this (overridden_robots_txt) does not have a description. I guess they don’t need descriptions?

▶ grep -R "overridden_robots_txt"            
config/site_settings.yml:  overridden_robots_txt:
app/controllers/admin/robots_txt_controller.rb:    SiteSetting.overridden_robots_txt = params[:robots_txt]
app/controllers/admin/robots_txt_controller.rb:    SiteSetting.overridden_robots_txt = ""
app/controllers/admin/robots_txt_controller.rb:    robots_txt = SiteSetting.overridden_robots_txt.presence
app/controllers/robots_txt_controller.rb:    if (overridden = SiteSetting.overridden_robots_txt.dup).present?
app/controllers/robots_txt_controller.rb:    overridden = SiteSetting.overridden_robots_txt
grep: public/plugins/discourse-internet-explorer: No such file or directory
spec/requests/admin/robots_txt_controller_spec.rb:      expect(SiteSetting.overridden_robots_txt).to eq("")
spec/requests/admin/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "overridden_content"
spec/requests/admin/robots_txt_controller_spec.rb:      expect(SiteSetting.overridden_robots_txt).to eq("overridden_content")
spec/requests/admin/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "something"
spec/requests/admin/robots_txt_controller_spec.rb:      expect(SiteSetting.overridden_robots_txt).to eq("new_content")
spec/requests/admin/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "overridden_content"
spec/requests/admin/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "overridden_content"
spec/requests/admin/robots_txt_controller_spec.rb:      expect(SiteSetting.overridden_robots_txt).to eq("")
spec/requests/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "something"
spec/requests/robots_txt_controller_spec.rb:        SiteSetting.overridden_robots_txt = "overridden_content"
spec/requests/robots_txt_controller_spec.rb:        SiteSetting.overridden_robots_txt = "overridden_content"
spec/requests/robots_txt_controller_spec.rb:      SiteSetting.overridden_robots_txt = "blah whatever"

Aha my bad - it seems we only look for translation keys for non-hidden settings. I guess they’re never shown!