Skip to main content

JSON Parser and Collection for Render Engine

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 = "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.12.2.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

render_engine_json-2023.12.2-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file render_engine_json-2023.12.2.tar.gz.

File metadata

File hashes

Hashes for render_engine_json-2023.12.2.tar.gz
Algorithm Hash digest
SHA256 53f723b99d80c83b4bb58b98eb392acff3a9f22808630968c3ef5abb3071500a
MD5 229eac4f92982b9a7c1cc6286a300f59
BLAKE2b-256 487da10fa5f9368f213f0524c6b7d759087f0f3b161b2907d7552dd74189543b

See more details on using hashes here.

File details

Details for the file render_engine_json-2023.12.2-py3-none-any.whl.

File metadata

File hashes

Hashes for render_engine_json-2023.12.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f8353e5b98c935330deebcf5e7eb9ab2f9430d12b35ba0811590ac8c31e1182
MD5 e3c5f6bcdb941ec56df79450e568b7b9
BLAKE2b-256 60b52c7a946f169e210fed8e2ba0a843267f58622d63a6cf9889d1811914c3c9

See more details on using hashes here.

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