Concepts

Page data

Page data concepts for Built.js themes and plugins.

A Page represents a web page. You may expect a Page to have sections, but Built themes and plugin pages do not. Instead, it's a ModulePage which specifies which sections belong to a page. This way, pages and sections can be wrapped up in a module so the end user of the theme can choose to include the pages and sections by simply adding a module.

After you've exported the theme/plugin from Built Studio, you can find the page configuration in public/data/pages.json. This is an example of a page:

public/data/pages.json
{
  "pages": [
    {
      "name": "home",
      "title": "Home"
    },
    ...
  ]
}

In order to specify which sections belong on a page, you need to create a module page.

If a page is for an article page (i.e. a page which has a route like pages/post/[slug].js), the page object is required to have a contentType property, for example:

public/data/pages.json
  {
    "pages": [
      {
        "name": "blogArticle",
        "contentType": {
          "name": "post",
          "config": {
            "populate": [
              {
                "name": "author",
                "type": "author",
                "populate": [
                  {
                    "name": "profile",
                    "type": "profile"
                  }
                ]
              },
              {
                "name": "tags",
                "type": "tag"
              }
            ]
          }
        }
      }
    ]
  }

Learn more about articles here.

On this page

No Headings