Metadata-Version: 2.1
Name: Jinja2-template-info
Version: 0.2.2
Summary: Jinja2 Extension for template debugging.
Home-page: https://github.com/ondratu/jinja2-template-info
Author: Ondřej Tůma
Author-email: mcbig@zeropage.cz
License: BSD
Description: Jinja2 template info
        ====================
        
        Jinja2-template_info is Jinja2 Extension module and piece of code to generate
        and show some template information which could help with debuging templates.
        
        ``template_info``
        -----------------
        
        ``render(template, path, **kwargs)``
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        That is simple function, which return rendered string from Jinja2. If there is
        ``debug`` variable set to positive variable in ``kawrgs``,
        ``TemplateInfoExtension`` is used and attributes ``data`` and ``template`` was
        set.
        
        :template: template file name
        :path: path or paths, where jinja could find the template
        :\**kwargs: data, which are send to template
        
        
        .. code:: python
        
            >>> try:
            ...     from importlib.resources import files
            ... except ImportError:
            ...     from importlib_resources import files
            >>> from jinja2_template_info import render
            >>> path = (files('jinja2_template_info'), "./")
            >>> render("test.html", path, debug=True,
            ...        code_variable="Variable from code")
            ...        # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
            '<!DOCTYPE html>...</html>'
        
        
        ``class TemplateInfoExtension(Extension)``
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Extension class, which append ``TemplateInfo`` instance to template in
        ``template_info`` variable. This class contains own ``Undefined`` class, which
        is use to store undefined variables names. They are in
        ``template_info.undefined``.
        
        .. code:: python
        
            >>> try:
            ...     from importlib.resources import files
            ... except ImportError:
            ...     from importlib_resources import files
            >>> from jinja2 import Environment, FileSystemLoader
            >>> from jinja2_template_info import TemplateInfoExtension
            >>> data = {"title":"Title"}
            >>> path = (files('jinja2_template_info'), "./")
            >>> env = Environment(loader=FileSystemLoader(path),
            ...                   extensions=[TemplateInfoExtension])
            >>> env.globals["template_info"].data = data.copy()
            >>> env.globals["template_info"].template = "test.html"
            >>> template = env.get_template("test.html")
            >>> template.render(data)   # doctest: +ELLIPSIS +NORMALIZE_WHITESPACE
            '<!DOCTYPE html>...</html>'
        
        ``template_info.html``
        ----------------------
        This file contains some macros for better html output of variables. Becouse
        local template variables are readed only from each template, that must be
        used as macro argument.
        
        ``render_info(local_variables=none)``
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Append debug output to template. Output is labeled with section name, some
        sections are shown only if they are set.
        
        :Local Variables:
                    Variables from template, where render_info is call. Local
                    variable could be get with
                    ``template_info.context().get_exported())`` call.
        :Template:  Template file name (``template_info`` variable).
        :Input Variables:
                    kwargs data from ``render`` function (``template_info`` variable).
        :Context:   Context content without variables. There are all functions, macros
                    and other objects set to ``environment.globals``.
        :Undefined objects:
                    List of undefined variables,functions, macros and other objects,
                    which is not found and template want use it.
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Description-Content-Type: text/x-rst
