Best Practice When Heavily Altering an Existing Theme?


Active member
I'm planning to overhaul my site, and as part of that, I'll be taking my existing style/theme and making likely thousands of adjustments to the code (both xf & css edits).

What's the best practice when doing this? I've already done this once now when I released the latest update to my site, which resulted in 4,000+ lines of code in extra.css plus hundreds+ of edits elsewhere throughout the templates. It got to the point where even loading extra.css was a terrible experience and I had significant delay in making edits to that template...

Is it still recommended (required??) to make all css edits in extra.css? What are the implications to not doing so and to making them throughout the other templates? Same goes for non-css edits. And will there be any significant future implications to not making all edits in extra.css when the next major XF version is released? And/or if my base theme isn't kept up to date by the original author?



Active member
Existing styles will not work with xenforo 2 so you'd have to start from scratch anyway
I'm aware that there will need to be some heavy changes to adjust styles to work with xf2, but will I be making more work for myself by developing my site one way versus the other?


Well-known member
I approach editing themes for xenforo as a psd file in photoshop: layers.

Have a main theme with multiple inheriting childs below it. This way you can roll back to previous versions, while testing future versions and just change the 'live' version for the visitor when it's been tested.

And they're easy to name. for example would have

Style: OMG main (version 1.0.0)
Child of main - OMG colors
Child of colors - OMG categories
Child of categories - OMG header and footer (live)
Child of header/footer - OMG threads and posts tweak tests (only admins can use)

Meaning the main style has the latest version with the tweaks we dont need in child styles.
Then we changed colors and made other color customizations as a test, and it was successful. It was live, until we worked on categories, and they were all good.. And then we worked on header and footer and that worked out ..
Now if something goes wrong, we could roll back to the main version, or if the header/footer has a huge bug, we make the categories version live.

It makes managing it a lot easier. At some point we're happy with the live site, we could export it as a main style like version 1.0.1 or whatever is reasonable and start from there again.