Skip to main content

A Flexible Static Site Generator for Python

Project description

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 regular Collection and the JSONPageParser 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

render_engine_json-2023.1.0a1.tar.gz (2.4 kB view hashes)

Uploaded Source

Built Distribution

render_engine_json-2023.1.0a1-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page