theme.json
Every theme needs a theme.json
to work. As mentioned before, all subdirectories of the packages
directory containing a theme.json
side by side with at least one template are to be considered as valid themes. Please see the list below for all required fields.
Fields
- name
- The name of the theme
- description
- A short description of the theme
- author
- The author's name
- version
- The version of the theme follwing the semantic versioning convention
- license
- The theme's license
- masks
- Masks can be defined to hide variables from either the page or shared settings sections. Take a look at the Light theme or the example below for more details.
- tooltips
- An object of tooltips for every variable used in the theme. Tooltips show up when hovering a variable's field in the dashboard when editing page data.
Example
The included Light theme provides a good example for a theme.json
file and can be used as template for your own project:
{
"name": "Light",
"description": "A light and elegant multi-purpose theme",
"author": "Marc Anton Dahmen",
"version": "1.5.4",
"license": "MIT",
"masks": {
"page": [
"formatDatePost",
"formatDateProject",
"imageAppleTouchIcon",
"imageFavicon",
...
],
"shared": [
"+main",
"text",
"textTeaser"
]
},
"tooltips": {
"+main": "The main content block area",
"brand": "The brand HTML, SVG or text to be used as logo",
"checkboxHideFilters": "Hide the filter button",
"checkboxHideFiltersAndSort": "Hide filter and sorting buttons",
"checkboxHideInMenu": "Hide this page in the main menu",
"checkboxHidePrevNextNav": "Hide the prev/next navigation at the bottom",
...
}
}