94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ## <a href="#webpage-element-import"></a>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"
 | |
| 	}
 | |
| 	 |