What about using special body classes to include new CSS? If new sites got the classes, but existing sites did not, we could prevent the CSS from affecting existing sites. (backwards-compatible)
At install time, the list of special body classes would be determined. Then, for the rest of that site's lifetime, only those original classes would be applied.
If new CSS is added in 1.17, one of those classes could be version-1-17
. All the new CSS rules in 1.17 could be prefixed with .version-1-17
, and all sites installed at version 1.17 or later would have this class applied. However, if I had installed Backdrop at version 1.14, my site would not have the version-1-17
body class, so would not get the CSS rules applied.
Backdrop sites installed at version 1.18 would also get all previous body classes, and if there were new CSS changes introduced in 1.18 too, that site would also get a version-1-18
class (but if there weren't any CSS changes, no class would be added).
Pro: This approach would allow us to keep all the related CSS in the same file, rather than moving the newer ones into a separate file that would not be included on newer sites.
Pro: This approach could work for CSS included in any part of core (modules, themes, etc).
Con: This approach could eventually lead to a lot of body classes on older Backdrop sites.
Related issues:
Recent comments
It seems that if I set the "Block title type" to either "Default" or "Custom", the title (i.e. the view title or the custom title defined in the block, respectively) always appears,...
Hide title of a view block if no results?
How are you generating the View? There are a few ways to do it... but it depends on how you generate your View. Are you using Contextual Filters? You could use the "no...
Hide title of a view block if no results?
Thank you for sharing your final solution. This may be very helpful for future visitors trying to do the same.
Views Accordion as primary navigation