2 KiB
Webpage element import
There are two methods of importing webpage elements: uploading a zip file or referencing a local cloud files folder. Both methods require that the webpage elements are specified using a specific folder structure. The import tool makes it possible to import all the elements necessary to construct an entire website or set of websites. The goal is to accommodate external development of webpages as well as tools to simplify and automate deployment on a hub.
Folder structure
Element definitions must be stored in the repo root under folders called
/pages/
/blocks/
/layouts/
Each element of these types must be defined in an individual subfolder using two files: one JSON-formatted file for the metadata and one plain text file for the element content.
Page elements
Page element metadata is specified in a JSON-formatted file called page.json
with the following properties:
- title
- pagelink
- mimetype
- layout
- contentfile
Example
Files:
/pages/my-page/page.json
/pages/my-page/my-page.bbcode
Content of page.json
:
{
"title": "My Page",
"pagelink": "mypage",
"mimetype": "text/bbcode",
"layout": "my-layout",
"contentfile": "my-page.bbcode"
}
Layout elements
Layout element metadata is specified in a JSON-formatted file called layout.json
with the following properties:
- name
- description
- contentfile
Example
Files:
/layouts/my-layout/layout.json
/layouts/my-layout/my-layout.bbcode
Content of layout.json
:
{
"name": "my-layout",
"description": "Layout for my project page",
"contentfile": "my-layout.bbcode"
}
Block elements
Block element metadata is specified in a JSON-formatted file called block.json
with the following properties:
- name
- title
- mimetype
- contentfile
Example
Files:
/blocks/my-block/block.json
/blocks/my-block/my-block.html
Content of block.json
:
{
"name": "my-block",
"title": "",
"mimetype": "text/html",
"contentfile": "my-block.html"
}