Foundation and the Theme Editor were introduced with the goal of allowing you and your teams to easily customize your site to give your community and knowledge bases a look and feel that showcases your brand.
Foundation has been built to ensure that your theme remains accessible, mobile friendly and compatible with any changes to our platform as we continue to improve and introduce new features.
The goal of Foundation is to give you a theming system that allows for customizability, while still allowing us to deliver new features to your sites. We also want to provide a better user experience across all devices. To accomplish this, we’ve moved away from our old theming system where you could edit the HTML, CSS and JS directly in your theme, towards a config-based system that uses Theme Variables.
Our previous system served us well over the years, but this new system and editor work very differently. We’re excited to show you the many advantages of this new process. Foundation is built to allow for new features to be easily enabled and introduced making Foundation more stable for the future and will allow for the theme to evolve with the community.
How does this new system work?
Foundation includes a set of variables that control all your theme customizations. Whether you use the theming editor UI, create your own file based theme or update variables using the API, those modifications get integrated into the site’s variables and get passed to the various components.
Read more on the different ways to edit themes:
Quick Set Up
The new system works with the configuration of assets and variables. This allows us to do a lot with very little overhead. Only a few colors and image uploads are required to skin your whole site! From there you can make more detailed customizations, but you get to a great starting point with minimal effort.
Previously, you needed to manage your desktop and mobile themes separately. Our new theme and theme editor components have been made to be mobile-responsive out of the box, making your options naturally flow through on mobile as well.
All of our components are built with accessibility in mind. By using our system, you are ensuring an inclusive experience for all your users
QA & Stability
By editing the HTML/CSS/JS directly, you are essentially creating your own custom version of Vanilla. This leads to each customer having their own unique set of code and customizations. This causes delays in support and requires developer resources in house to help troubleshoot. With this config-based system you are now applying your styles to a curated list of well tested components and variables. These components and variables are available to all customers and are frequently used. This means these components will be commonly known, regularly tested, and well documented.
Here are some of the features you will be able to take advantage of with Vanilla's theming system.
- Easily choose fonts and colors of the site. You can start with a few colors and have them flow through the theme, then dig deeper to make specific tweaks. Read more on configuring global styles
- Customizable layouts and flexible widgets like Featured Categories and Tabbed Discussions you can place in multiple areas of the page, or even show selectively by role to help you showcase the most important aspects of your community. Check out our Widgets & Modules
- A completely responsive theme experience. Be confident that your theme will look great across all devices.
- Optimized SEO and enhanced accessibility
- Add your own header and footer to match your family of sites so that users clicking around your web presence feel like they are in the same place.
Got a great idea?
After reading this guide and trying your hand at building a custom theme, you may find that some controls are not available to you in the code or via the UI. Do not fret. We want to know which features and components you would like to be able to customize. This information will help inform future development sprints and initiatives. If you have questions or feedback to share, submit this via our Product Ideas category. This notifies our Product team and allows them to make informed decisions as they plan upcoming sprints and releases.
Ready to get started?