nolo shared a community project layout designed to suggest place and common intent around conversations. The layout has two main goals: framing conversations within a wider context and providing featured content and work areas. The design includes a conceptual landing view, navigation, and collaboration tools.
The implementation on nolo’s project, Couchers.org, uses a Discourse theme bundled with styles and theme components. However, the final layout and functionality depend on adjusting various settings, making it difficult to share the template as a simple theme.
nolo considers this a template, layout, or model rather than a theme, as its objective is to change the workings and UX to support a specific use case or community model.
nathank suggested exporting and importing site settings using the rake site_settings:export and rake site_settings:import commands. nolo found this helpful and is considering documenting the customization process to share with others.
I want to share a layout I’ve been doing for a community project. I’ve been working on abstracting some of it’s ideas and would hope it gives some general inspiration for non-profit, open-source, chapter-based or otherwise distributed community setups.
The design has two main goals:
always suggesting place and common intent around conversations
framing conversations within a wider context of featured content and work areas
You make some amazing-looking Discourse designs. Great work!
Setting aside whether you will do so, how much of this could be shared as a normal Discourse Theme? How much is Theme Component or other more in-depth customization?
About how it’s done: the conceptual template is just a mockup, I do these with Figma. It’s not specific to Discourse.
For the Couchers.org community I implemented it on Discourse bundling styles in a theme and using theme components (Header Search, Category Banners, Custom Nav Links, Featured Cards, Category Showcase, Modern Category Boxes, Easy Footer). I added some custom code to get distinct banners on the Homepage and the Latest route.
The final layout and working of the community then depends on adjusting settings: site-wide, on the components, on categories, for tags. So you couldn’t implement the template by only sharing a bundled theme and components.
Conceptually I don’t see this as a theme but rather a template, layout or model. Not sure about the best term yet. It’s objective is not so much to just change looks, but to change the workings and ux in order to support a specific use case or community model. I’m also working on other templates and wonder what would be the best way to share them. You’d need a way to export and import all overridden settings. Right now the only way I know is using a backup, but it would be great to find a way that just targets settings and not site content.
It might take a bit of work to document each one, but a simple way might be to post a new topic here in Meta (suitably tagged etc) outlining all of the customisations using a structure like this:
Design concept & demonstration site (if available)
Theme as an exported file
Theme Components as a list with a brief overview of changed settings
Plugins with brief notes on the configuration of each
Settings that have been changed from default as a .yml file