Skip to main content

Provide handlebars templating capability to moban.

Project description

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

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

moban-handlebars-0.0.5.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

moban_handlebars-0.0.5-py2.py3-none-any.whl (6.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file moban-handlebars-0.0.5.tar.gz.

File metadata

  • Download URL: moban-handlebars-0.0.5.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for moban-handlebars-0.0.5.tar.gz
Algorithm Hash digest
SHA256 10e900b5a82e29e3df6cd628537213eb786a96bb122ade3193247e5e6c0c0ac1
MD5 4b6dffa65fb73090fef6702d349a13f2
BLAKE2b-256 74313e3f999081153d0683a86dffbfb1a90714234dbaed53b5b4fb7d15d864ae

See more details on using hashes here.

File details

Details for the file moban_handlebars-0.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: moban_handlebars-0.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using 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

File hashes

Hashes for moban_handlebars-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 03e59cbf3c2226095b78bafc486e4439aff31e4976256d0ad8de831e34308217
MD5 94292c816804b02c0306557cc1b0dcd8
BLAKE2b-256 555c33ddedb27f2c252336fad7c694fd1511fd8bbf7ad82d7d8beb4d275a36d7

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