Skip to content

Instantly share code, notes, and snippets.

@sevennineteen
Created December 28, 2012 18:16
Show Gist options
  • Save sevennineteen/4400462 to your computer and use it in GitHub Desktop.
Save sevennineteen/4400462 to your computer and use it in GitHub Desktop.

Revisions

  1. sevennineteen created this gist Dec 28, 2012.
    25 changes: 25 additions & 0 deletions example.json
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    { "path": "/content/geometrixx/my-first-jinja-page",
    "properties": [
    { "name": "jcr:primaryType",
    "value": "cq:Page" }],

    "nodes": [
    { "path": "jcr:content",
    "properties": [
    { "name": "jcr:primaryType",
    "value": "cq:PageContent"},
    { "name": "sling:resourceType",
    "value": "geometrixx/components/widepage"},
    { "name": "jcr:title",
    "value": "{{ page.title }}" },
    { "name": "cq:template",
    "value": "/apps/geometrixx/templates/widepage"},
    { "name": "cq:tags",
    "type": "String[]",
    "value": {{ page.tags|jsonify }} },
    { "name": "jcr:description",
    "value": "{{ page.description }}" },
    { "name": "sling:vanityPath",
    "value": "/connector-examples/json/" }]}
    ]
    }
    16 changes: 16 additions & 0 deletions runner.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    import json
    from jinja2 import Environment, PackageLoader

    env = Environment(loader=PackageLoader('app', 'templates'))
    env.filters['jsonify'] = json.dumps

    # Template file at ./app/templates/example.json
    template = env.get_template('example.json')

    page = {
    'title': 'Jinja Example Page',
    'tags': ['jinja', 'python', 'migration'],
    'description': 'This is an example page created using Jinja2 with a JSON template.'
    }

    print template.render(page=page)