... on changing the default theme to Persona
-
Upon launching v0.7.1 (yesterday), we also changed the default activated theme to Persona. This doesn't mark that significant of a change, as the Persona theme itself has been available (and bundled with v0.7.0, iirc) for some time.
Up until now, NodeBB has naïvely assumed that if a template was required but not defined in the theme, to fall back to the template found in the Vanilla theme. This has worked well so far, and translates well to themes using vanilla as a base (like Lavender, and variants thereof).
With Persona now the default theme, we also need to transition this assumption (which we internally call the
base_templates_path
) to Persona as well. However, if we do make this change, it breaks any theme that attempts to move to this new version of NodeBB.Therefore, with it being a breaking change, I'll be committing it to a new branch that tracks the next NodeBB version,
v0.8.x
.Is
v0.8.x
the next version of NodeBB?Possibly, but I want to accelerate our timings so that we don't have a several-month gap between releases. The
master
branch is still the main development branch, and the majority of issue fixes will go there.v0.8.x
will contain any breaking changes to NodeBB, and will periodically merge changes and fixes frommaster
so that it is kept up to date.The idea is to launch v0.7.2 and v0.7.3 on a weekly or biweekly basis (that is, once every 2 weeks), containing bugfixes and various other non-breaking-change improvements.
There is no timeline for the impending release of v0.8.0, so this exercise is done purely to keep this (and other future) breaking changes out of
master
.How will this affect my Lavender-variant/Vanilla-based theme?
If you maintain a lavender variant or vanilla based theme, and you want to maintain compatibility when v0.8.x is eventually released, add a new hook listener to yourplugin.json
for the hookstatic:app.preload
, and have it explicitly set thebase_templates_path
runtime variable to point to vanilla's templates directory.You can examine how Lavender does it here.This change is backwards compatible with future v0.7.x releases, so it is safe to add it now in preparation for v0.8.x.Just add a new value to your
config.json
with the keybaseTheme
, and set it tonodebb-theme-vanilla
.Who needs to use the
v0.8.x
branch?Right now, the only installs that will require the v0.8.x branch are those that want specific breaking changes that are introduced in this branch.
Specific to themes, any theme designers who want to create a Persona-based theme will require the v0.8.x branch, because then the
base_templates_path
is set to Persona, and not Vanilla. -
@Codejet said:
can you still manually change to lavender in ACP after install / upgrade ? and run it this way
what is the benefit of adding a hook listener, or are u removing vanilla/lavender functionality
Yes, this change doesn't affect how you use NodeBB, it only affects you if you're a theme developer (with a Lavender-variant or vanilla-based theme) and you want to maintain compatibility post v0.8.x