Theme Metadata

Theme metadata is saved in the theme.json file. This file provides the necessary meta information for the theme, tells the Pagedip Theme Tool how the theme is organized, and sets up theme options.

Here's an example theme.json:

{
"title": "Example Theme",
"handle": "example-theme",
"description": "An Example Theme",
"main": "basic.html",
"directories": {
"templates": "./templates",
"assets": "./assets",
"preview": "./preview"
}
}

title

The name of the theme. Not required but definitely recommended seeing as this is used everywhere in the Pagedip interface

handle

The theme's unique, human-readable identifier. This only needs to be unique to the owner of the theme. Themes with the same handle and owner are considered the same theme, so make sure this is sufficiently long enough to not conflict. This field is required.

description

A short description of the theme.

main

Name of the template to use as the default template. This should be the template's filename, with any extension.

preview

The ID of a Pagedip to use for previewing this theme. Usually this should just be set to _default/preview as that is the Pagedip used for previewing the default themes. You will need to make sure the Pagedip is compatible with your theme.

directories

An object mapping types to folders within the theme. This is not required per se, but not including it will result in an empty theme.

directories.assets

Relative path to the assets directory.

directories.templates

Relative path to the templates directory.

directories.preview

Relative path to the preview directory.

globalBlueprint

A blueprint describing global theme options. This is merged with template blueprints.

blueprint

A blueprint describing theme options. This is merged with template blueprints.

blockStyles

Alternate block styles for block elements.