Metadata-Version: 1.1
Name: pypugjs
Version: 5.9.6
Summary: PugJS syntax template adapter for Django, Jinja2, Mako and Tornado templates
Home-page: https://github.com/kakulukia/pypugjs
Author: Andy Grabow
Author-email: andy@freilandkiwis.de
License: MIT
Download-URL: https://github.com/kakulukia/pypugjs/tarball/5.9.6
Description: PyPugJS |PyPiPackage|_ |BuildStatus|_ |Coverage|_
        ===================================================
        
        .. |PyPiPackage| image:: https://badge.fury.io/py/pypugjs.svg
        .. _PyPiPackage: https://badge.fury.io/py/pypugjs
        
        .. |BuildStatus| image:: https://travis-ci.org/kakulukia/pypugjs.svg
        .. _BuildStatus: https://travis-ci.org/kakulukia/pypugjs
        
        .. |Coverage| image:: https://codecov.io/gh/kakulukia/pypugjs/branch/master/graph/badge.svg
        .. _Coverage: https://codecov.io/gh/kakulukia/pypugjs
        
        **PyPugJS is a fork of** `PyJade <http://github.com/syrusakbary/pyjade>`_
        **with the name Jade changed to** `PugJS <https://github.com/pugjs/pug>`_.
        
        **Additional disclaimer:** Since the original pypugjs died i took the liberty to keep it alive, because
        since starting to work with the jade compiler for node I hate writing HTML and want to continue using it in my Django projects.
        I will keep the existing non Django stuff inside the project, but I cannot support anything other since I'm not actively using
        it not will be in the foreseable future. Tornado, Mako etc. support will be welcome tho!
        
        PyPugJS is a high performance port of PugJS for python, that converts any .pug source into different
        Template-languages (Django, Jinja2, Mako or Tornado).
        
        UTILITIES
        =========
        To simply output the conversion to your console::
        
            pypugjs [-c django|jinja|mako|tornado] input.pug [output.html]
        
        INSTALLATION
        ============
        
        To install pypugjs::
        
            pip install pypugjs
        
        Now simply **name your templates with a `.pug` extension** and this PugJS compiler
        will do the rest.  Any templates with other extensions will not be compiled
        with the pypugjs compiler.
        
        `Framework specific installation instructions <docs/installation.rst>`_
        
        Syntax
        ======
        
        Generally the same as the PugJS Node module (except of cases and several other features, which are not implemented)
        https://github.com/pugjs/pug/blob/master/README.md
        
        
        Example
        -------
        
        This code
        
        .. code:: pug
        
            !!! 5
            html(lang="en")
              head
                title= pageTitle
                script(type='text/javascript').
                  if (foo) {
                     bar()
                  }
              body
                h1.title PugJS - node template engine
                #container
                  if youAreUsingPugJS
                    p You are amazing
                  else
                    p Get on it!
        
        
        Converts to
        
        .. code:: html
        
            <!DOCTYPE html>
            <html lang="en">
              <head>
                <title>{{pageTitle}}</title>
                <script type='text/javascript'>
                  if (foo) {
                     bar()
                  }
                </script>
              </head>
              <body>
                <h1 class="title">PugJS - node template engine</h1>
                <div id="container">
                  {%if youAreUsingPugJS%}
                    <p>You are amazing</p>
                  {%else%}
                    <p>Get on it!</p>
                  {%endif%}
                </div>
              </body>
            </html>
        
        Convert existing templates online with the `HTML2Jade converter <http://www.html2jade.org/>`_.
        
        
        Register filters
        ================
        
        If you want to register a function as a filter, you only have to
        decorate the function with ``pypugjs.register_filter("filter_name")``
        
        .. code:: python
        
            import pypugjs
        
            @pypugjs.register_filter('capitalize')
            def capitalize(text, ast):
              return text.capitalize()
        
        
        Notable Features
        ===================
        
        Adding conditional classes:
        
        .. code:: pug
        
            a(class={'active-class': True, 'another': False})
        
        Define mixins like this *mixins/foo.pug*:
        
        .. code:: pug
        
            mixin foo(data)
              .foo {{ data }}
        
        And use them in your templates like this:
        
        .. code:: pug
        
            include mixins/foo.pug
        
            div
              +foo(data)
        
        
        
        TESTING
        =======
        
        To start the testsuite, start the following commands::
        
            make init
            make test
        
        TODOs and BUGS
        ==============
        See: https://github.com/kakulukia/pypugjs/issues
        
        `ChangeLog <docs/HISTORY.rst>`_
        
        
        
        
        History
        -------
        
        \*
        
        * django docs: mention not to wrap with django's caching template loader
        * updated history
        
        5.8.1
        +++++++
        * mentioning the flask example in the installation section of the docs
        * prevent endless recursion in Django template overriding
        
        5.8.0
        +++++++
        * more details/docs for using pypugjs with jinja2
        * fixed issue with Jinja Choiceloaders
        
        5.7.2
        +++++++
        * Fix specifying attributes without commas.
        
        5.7.1
        +++++++
        * code has been blacked
        
        5.7.0
        +++++++
        * included encoding detection for template files
        
        5.6.1
        +++++++
        * fixed documentation for the new translation call
        * fixed typos in code
        * added min Django version to the docs
        * new release script
        
        5.6.0
        +++++++
        * added enable_pug_translations call
        
        5.5.1
        +++++++
        * fixed wrong exception handling for visitExtends
        
        5.5.0
        +++++++
        * better caching for django template loader
        * loader has been made compatible with django 1.11
        
        5.4.0
        +++++++
        * added mixing to flask hello world
        * Clean pipe inserts whitespace This allows for use of a single pipe character on a line to insert a whitespace before or after a tag.
        
        
        5.3.0
        +++++++
        * fixed build script adding back all internal packages
        
        5.2.0
        +++++++
        * fixed recursive import problem
        
        5.1.5
        +++++++
        * addeded flake8 testing
        * sorting out old Django version 1.11 and 2.0 are left for travis testing
        
        5.1.4
        +++++++
        * better release script
        
        5.1.3
        +++++++
        * cleanup / documentation
        * extended makefile
        
        5.1.2
        +++++++
        
        * added Makefile for testing, installing, releasing, linting ...
        * added coverage reports
        * package is mainly base on the cookiecutter package
        * additional release helpers
        * packages passes flake8 test
        
        
        5.1.1
        +++++++
        
        * conditional classes feature (thx to paradoxxxzero)
        * mixin support for jinja (matin)
        * mixin support for django
        * refactored the django tests to actually use the file loader
        * some pep8 fixes
        
        
        Authors
        ---------
        
        * PyPugs was originally created as PyJade by Syrus Akbary in November 2011.
        * It was then renamed maintained by Matan Noam Shavit
        * Since I need it for my projects and hate coding plain HTML, I continued maintaining this package.
        
Keywords: pug,pugjs,template,converter
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Topic :: Software Development :: Libraries :: Python Modules
