Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

A Just-In-Time compilation and packaging of JavaScript templates for Pyramid.

Project Description

The pyramid_jitt package is a wrapper around the jstc JavaScript template compiler that allows client-side templates to be defined in disparate server-side files and be assembled, pre-compiled, packaged, cached, and access-controlled for inline, deferred, and restricted delivery.

Important

As of 2016/10/09, “restricted” delivery (i.e. access-controlled delivery control of all or a subset of the templates) and per-template JIT rendering is not yet available.

Currently, jQuery (v1.9.1+) is required for non-inline template delivery.

Installation

$ pip install pyramid_jitt

Usage

Enable the package either in your INI file via:

pyramid.includes =
  pyramid_beaker
  pyramid_jitt

(it is highly recommended to use pyramid_beaker for caching of rendered templates) or in code in your package’s application initialization via:

def main(global_config, **settings):
  # ...
  config.include('pyramid_beaker')
  config.include('pyramid_jitt')
  # ...

Configure pyramid_jitt’s behaviour by setting the various options in your INI file (see the Manual for details), for example:

# use pyramid_beaker for caching!
cache.type                        = memory
cache.regions                     = pyramid_jitt
cache.pyramid_jitt.expire         = 3600

# override all template attributes to disable deferred loading
jitt.overrides.inline             = true

# define where the "webapp" templates (Handlebars, in this case) are
# located and disable pre-compilation (only for "webapp" templates)
jitt.@webapp.assets               = myapp:static/scripts/**.hbs
jitt.@webapp.overrides.precompile = false

Then, add the delivery payload to your HTML file, here a Mako example:

<html>
  <body>

    ${request.registry.jitt.render('webapp')|n}

    <script type="text/javascript">
      // NOTE: this must come **after** the `jitt.render` call!
      $(function() {
        $('#Templates').data('jitt').ready(function() {
          // start your client-side app that uses your templates here!...
        });
      });
    </script>

  </body>
</html>

More Documentation

More documentation can be found in the Manual.

Release History

Release History

This version
History Node

0.1.2

History Node

0.1.1

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyramid_jitt-0.1.2.tar.gz (15.4 kB) Copy SHA256 Checksum SHA256 Source Oct 9, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting