Skip to main content
https://api.travis-ci.org/moremoban/moban-handlebars.svg https://codecov.io/github/moremoban/moban-handlebars/coverage.png https://badge.fury.io/py/moban-handlebars.svg https://pepy.tech/badge/moban-handlebars/month https://img.shields.io/github/stars/moremoban/moban-handlebars.svg?style=social&maxAge=3600&label=Star

Introduction

With pybars3, this library allow moban users to have handlebars template in their next documentation endeavour.

Quick start

$ moban "<p>{{firstname}} {{lastname}}</p>" --template-type handlebars -d firstname=hello lastname=world

Nested input objects

Given a data.json file with the following content

{
  "person": {
    "firstname": "Yehuda",
    "lastname": "Katz",
  },
}
$ moban --template-type handlebars -c data.json  "{{person.firstname}} {{person.lastname}}"
Handlebars-ing <p>{{first... to moban.output
Handlebarsed 1 file.
$ cat moban.output
Yehuda Katz

For handlebars.js users, yes, the example was copied from handlebarjs.com. The aim is to show off what we can do.

Let’s continue with a bit more fancy feature:

$ moban --template-type handlebars -c data.json "{{#with person}}{{firstname}} {{lastname}} {{/with}}"

Moban’s way of pybar3 usage:

Let’s save the following file a script.py under helper_and_partial folder:

from moban_handlebars.api import Helper, register_partial

register_partial('header', '<h1>People</h1>')


@Helper('list')
def _list(this, options, items):
    result = [u'<ul>']
    for thing in items:
        result.append(u'<li>')
        result.extend(options['fn'](thing))
        result.append(u'</li>')
    result.append(u'</ul>')
    return result

And given data.json reads as the following:

{
    "people":[
        {"name": "Bill", "age": 100},
        {"name": "Bob", "age": 90},
        {"name": "Mark", "age": 25}
    ]
}

Let’s invoke handlebar template:

$ moban --template-type hbs -pd helper_and_partial -c data.json "{{>header}}{{#list people}}{{name}} {{age}}{{/list}}"
Handlebars-ing {{>header}... to moban.output
Handlebarsed 1 file.
$ cat moban.output
<h1>People</h1><ul><li>Bill 100</li><li>Bob 90</li><li>Mark 25</li></ul>

Installation

You can install moban-handlebars via pip:

$ pip install moban-handlebars

or clone it and install it:

$ git clone https://github.com/moremoban/moban-handlebars.git
$ cd moban-handlebars
$ python setup.py install

Author

Charlie Liu

Contributors

In alphabetical order:

Change log

0.0.5 - 07.06.2020

Updated

  1. Name the moban actions when this template is used

  2. #12: provide apis for end user to use their own block helper and partials

0.0.4 - 14.10.2019

Updated

  1. #10: support moban v6.5

0.0.3 - 10.09.2019

Updated

  1. #7: support moban v4.1

  2. #9: support moban v6

0.0.2 - 22-01-2019

Updated

  1. #1: support moban v0.3.8

  2. #2: add license file

  3. #3: support moban v0.3.9

0.0.1 - 18-11-2018

First release

  1. render .hbr .handlebars files for moban

Metadata

Release files for moban-handlebars 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moban-handlebars 0.0.5
File Size Uploaded
moban-handlebars-0.0.5.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for moban-handlebars 0.0.5
File Interpreter ABI Platform
moban_handlebars-0.0.5-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 17.7 kB

Release files / moban-handlebars-0.0.5.tar.gz

Download URL moban-handlebars-0.0.5.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
10e900b5a82e29e3df6cd628537213eb786a96bb122ade3193247e5e6c0c0ac1
BLAKE2b-256 checksum
How to use checksums
74313e3f999081153d0683a86dffbfb1a90714234dbaed53b5b4fb7d15d864ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

Release files / moban_handlebars-0.0.5-py2.py3-none-any.whl

Download URL moban_handlebars-0.0.5-py2.py3-none-any.whl
Size 6.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
03e59cbf3c2226095b78bafc486e4439aff31e4976256d0ad8de831e34308217
BLAKE2b-256 checksum
How to use checksums
555c33ddedb27f2c252336fad7c694fd1511fd8bbf7ad82d7d8beb4d275a36d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page