Skip to main content

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.

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

Project

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.

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

pyramid_jitt-0.1.2.tar.gz (15.4 kB view details)

Uploaded Source

File details

Details for the file pyramid_jitt-0.1.2.tar.gz.

File metadata

File hashes

Hashes for pyramid_jitt-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fff4478285074b8824b7ae523b8814c0fa7d2d0782f186a9bcbcce3039faa215
MD5 7c48e68f0677d75f06f92e6a31ec44ca
BLAKE2b-256 764a9bcd1cd9c4dc7be0fdaf6fb7847fcb5dc8521883b6263ec066c927bb97f0

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