Render Engine JSON
JSON Parser and Collection Module for Render Engine
Installation
pip install render_engine_json
Usage
The render-engine-json
extends render-engine to allow you to build pages and collections using JSON.
The JSONPageParser
class can be used to parse a single JSON page and the JSONCollection
class can be used to parse a single collection of JSON pages.
NOTE The
JSONCollection
class is designed to work with a single JSON file that contains an array of JSON Objects or a JSON Hash where the keys are the slugs. If you want to work with multiple JSON files you can use a regularCollection
and theJSONPageParser
as the parser.
Single JSON Page Entry
To create a json entry you will need the JSONPageParser
class as the Parser for your Page
Object.
You can pass the page a json string or a json file path.
As a string
from render_engine import Page, Site
from render_engine_json import JSONPageParser
site = Site()
json_page = """
{
"title": "My JSON Page",
"content": "This is my json page"
}
"""
@site.page
class JSONStringPage(Page):
parser = JSONPageParser
content = json_page
As a file
@site.page
class JSONFilePage(Page):
parser = JSONPageParser
content = "path/to/json/file.json"
JSON Collection
To create a JSON collection you will need the JSONCollection
Object.
You can pass the collection a json string or a json file path.
As a string
from render_engine import Site, Collection
from render_engine_json import JSONCollection, JSONPageParser
site = Site()
json_collection = """
[
{
"title": "My JSON Page",
"content": "This is my json page"
},
{
"title": "My JSON Page 2",
"content": "This is my json page 2"
}
]
"""
@site.collection
class JSONStringCollection(Collection):
parser = JSONPageParser
content = json_collection