The forum was not built from the ground up with this system. However, we’ve made a theme (Foundation) to benefit from the new theming system. This theme has an extra layer of compatibility built on top of it to apply the new styles with our legacy system.
These styles layer over top of the exiting styles, so we can get dynamic values from the theme and apply them in JS.
Note that to avoid really ugly CSS styles clashes, we’ve been using @if ($staticVariables) { } in our core SASS files to remove problematic styles. When we build the core styles, one version is unchanged (since the if statements will all return true). And in the Foundation version, it gets a lot of CSS stripped out. This maintains compatibility, while also simplifying the compatibility styles significantly.
Boyscout rule: “Always leave the campground cleaner than you found it”
We put a lot of effort in making the new system work on the Forum side, but it could be improved. Please submit improvements and additions to the system, just make sure it defaults to how things were so we don’t break anybody’s theme.
SASS Still works.
Foundation was built over top of Keystone, so it still has a lot of SASS. You can still use SASS to style your forum in your theme.
React components in the Forum
Although the Forum was not built in react, we’ve integrated a few react components into the forum, to make it much easier to maintain the look and feel on both sides.
It is possible for a theme to include the toolbar from the KB, the banner and use the same header/footer system.