Metadata-Version: 2.0
Name: fresco-template
Version: 1.0.0
Summary: Template system integration for fresco
Home-page: UNKNOWN
Author: Oliver Cope
Author-email: oliver@redgecko.org
License: Apache
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: fresco

fresco-template - Templating for Fresco
=======================================


Example usage with Jinja2::

    from fresco import FrescoApp
    from fresco_template import Jinja2
    from jinja2 import PackageLoader

    app = FrescoApp()
    jinja2 = Jinja2(loader=PackageLoader('mypackage', 'template/dir'))
    jinja2.init_app(app)


    @jinja2.contextprocessor
    def default_context():
        # Return a dictionary of variables always to be included in the
        # template context.
        #
        # NB the fresco context object and urlfor function are already included
        # in the template context by default.
        return {}

    @jinja2.render('page.html')
    def myview():
        return {'var': 'value'}


Same example with Chameleon::

    from fresco import FrescoApp
    from fresco_template import Chameleon
    from chameleon import PageTemplateLoader

    app = FrescoApp()

    loader = PageTemplateLoader(['template/dir'], auto_reload=True)
    chameleon = Chameleon(loader)
    chameleon.init_app(app)


    @chameleon.contextprocessor
    def default_context():
        # Return a dictionary of variables always to be included in the
        # template context.
        #
        # NB the fresco context object and urlfor function are already included
        # in the template context by default.
        return {}

    @chameleon.render('page.html')
    def myview():
        return {'var': 'value'}


1.0.0 (released 2020-09-27)
---------------------------

- Dropped Python 2 compatibility
- Fixed exception when calling ``as_string`` as a function decorator.
- Fixed deprecation warnings

0.3.1 (released 2016-11-29)
---------------------------

- Added support for the
  `Piglet templating engine <https://pypi.python.org/pypi/piglet>`_.

0.3.0 (released 2015-09-25)
---------------------------

- Added support for Kajiki

- The ``environment`` variable has had its name changed to ``loader`` and
  is no longer available directly on the TemplateEnvironment object but
  via the ``plugin`` property. For example::

    from jinja2 import Environment, FileSystemLoader
    from fresco_template import Jinja2

    # Old style - BROKEN in 0.3 release:
    j2 = Jinja2(environment=Environment(FileSystemLoader('templates')))
    j2.environment.install_gettext_translations(my_translation_module)

    # New style:
    j2 = Jinja2(Environment(autoescape=True, FileSystemLoader('templates')))
    j2.plugin.loader.install_gettext_translations(my_translation_module)

- Any custom plugins will need to be rewritten. Refer to any of the default
  plugins for examples.

0.2.1
-----

- The ``TemplateContent`` class now calls all context processors on
  instantiation. This ensures context processors are always called before
  response headers are sent.

0.2
---

Initial release

0.1
---

(unreleased version)


