semvec/pypi-packages huggingface dataset:
growler-jade 0.0.1
An extension providing a jade renderer for growler applications
License: BSD

==============
Growler - Jade
==============

A Growler render engine for processing jade_ template files.
This uses the pyjade_ package with the mako base - though this *should* be
strictly an implemenation detail and not a concern of the user.


Installation
------------

To install the latest stable (published) version, use the pypi repository

.. code:: sh

  pip install growler-jade

To use the (semi-stable) development branch, you can use pip to directly
access the source repository

.. code:: sh

  pip install git+https://github.com/pyGrowler/growler-jade.git@dev

Otherwise, you can install locally via

.. code:: sh

  python setup.py install


Usage
-----

The only class the user has to worry about is JadeRenderer, which can be found in either
``growler_jade.JadeRenderer`` or the namespace ``growler_ext.jade_renderer.JadeRenderer``.
The latter method is used by the growler extension auto-importer ``growler.ext``, making
importing multiple packages very clean.

A JadeRenderer is created with a path (which must exist) which contains the template files
to render.
There are currently no configuration options available, but this is likely to change.
This object must be added to the application via the app.use() method.
In all server middleware following this object, a the 'render' method will be available
on the response object, allowing you to render any filename found in the given renderer's
path: ``res.render('foo')`` renders ``foo.jade`` found in the path.

Example
~~~~~~~

Here is a simple script which serves a single file, ``path/to/views/index.jade`` upon
request to the root page:

.. code:: python

  from growler import App

  from growler.ext import JadeRenderer # do NOT import growler.ext.JadeRenderer directly

  app = App("Jade Example")

  app.use(JadeRenderer("path/to/views"))

  @app.get("/")
  def index_page(req, res):
      if hasattr(req, 'user'):
          data = {'username': req.user.name}
      else:
          data = {'username': 'Anonymous'}

      # renders path/to/views/index.jade with values given data
      res.render("index", data)

  app.create_server_and_run_forever(host='localhost', port=9000)



Contributing
------------

Contributions are welcome that follow the `Growler Contribution Guidelines`_.


License
-------

No license has been chosen.



.. _jade: http://jade-lang.com/
.. _pyjade: https://pypi.python.org/pypi/pyjade
.. _Growler Contribution Guidelines:
  https://github.com/pyGrowler/Growler/blob/master/CONTRIBUTING.rst