The discussion revolves around adding theme dependencies in the Discourse specification. downey proposes adding a feature to specify child/component themes required for a theme to work correctly, avoiding manual configuration by the site admin. This feature would benefit theme authors and developers who build themes for clients.
Some users, including joebuhlig and LeoMcA, suggest adding the ability to specify a particular version/commit of the dependent theme to prevent breaking changes. joebuhlig and downey discuss the possibility of adding dependencies as links to specific commits, branches, or tags in any Git repository, not just GitHub.
vinothkannans announces that support for listing dependent theme components in the about.json file has been added, making it easier to install bundles. However, this feature currently has limitations, including only installing components on initial install and not removing installed components if they are removed from the about.json file.
bloomexperiment suggests making it possible to set default settings for bundled theme components to match the top-level theme, rather than requiring a fork of the theme component.
As a Discourse theme author, I want to be able to specify child/component themes that are required for my theme to work correctly, so the user (Discourse site admin) doesn’t have to manually go out and add/configure it.
We are working on a downstream theme to work alongside the Mozilla theme (thanks @LeoMcA!) but it’d be nice if we didn’t have to manually specify import their theme and manually link them. Could such a relationship be added to the about.json file?
An aside, this would also benefit developers who build themes for clients. It’s becoming a more appealing setup to use a public theme and then tweak it for the client site. But more and more often, they want their customized theme in GitHub for pulling updates and allowing multiple people to work on them. It’d be great to embed the dependency somehow.
I imagine it’d also be useful for you to be able to specify a particular version/commit that the theme depends on - that way, if we completely change something you’re depending on, it won’t all suddenly break on your end.
Maybe. If you can add the dependency as a GitHub link of sorts that allows a specific commit, branch, or tag, it gets easier. But that doesn’t mean the whole feature is easy.