Metadata-Version: 1.1
Name: django-template-analyzer
Version: 1.6.2
Summary: Django Template Analyzer - Extract template nodes from a Django template
Home-page: https://github.com/edoburu/django-template-analyzer
Author: Diederik van der Boor & Django CMS developers
Author-email: opensource@edoburu.nl
License: BSD License
Download-URL: https://github.com/edoburu/django-template-analyzer/zipball/master
Description-Content-Type: UNKNOWN
Description: django-template-analyzer
        ========================
        
        .. image:: https://travis-ci.org/edoburu/django-template-analyzer.svg?branch=master
            :target: http://travis-ci.org/edoburu/django-template-analyzer
        .. image:: https://img.shields.io/pypi/v/django-template-analyzer.svg
            :target: https://pypi.python.org/pypi/django-template-analyzer/
        .. image:: https://img.shields.io/badge/wheel-yes-green.svg
            :target: https://pypi.python.org/pypi/django-template-analyzer/
        .. image:: https://img.shields.io/codecov/c/github/edoburu/django-template-analyzer/master.svg
            :target: https://codecov.io/github/edoburu/django-template-analyzer?branch=master
        
        The ``template_analyzer`` package offers an API to analyze the Django template structure.
        It can be used to find nodes of a particular type, e.g. to do automatic detection of placeholder tags.
        
        Supported features
        ==================
        
        The scanner finds tags in various situations, including:
        
        * Extend nodes
        * Include nodes
        * Overwritten blocks with new definitions
        * Blocks with or without ``{{ block.super }}``
        * Reorganized blocks
        * Ignoring nodes outside blocks in extending templates
        * Handling multiple levels of super includes
        
        The returned nodes are provided in a natural ordering,
        as they would be expected to appear in the outputted page.
        
        While Django offers a ``template.nodelist.get_nodes_of_type()`` function,
        this function does not produce the same results.
        
        
        API example
        ===========
        
        .. code-block:: python
        
            from django.template.loader import get_template
            from mycms.templatetags.placeholdertags import Placeholder
            from template_analyzer.djangoanalyzer import get_node_instances
        
            # Load a Django template
            template = get_template("mycms/default-page.html")
        
            # Find all tags in the template:
            placeholders = get_node_instances(template, Placeholder)
        
            # Read information from the template tag themselves:
            # (this is an example, accessing a custom method on the Placeholder object)
            placeholder_names = [p.get_name() for p in placeholders]
        
        Installation
        ============
        
        First install the module, preferably in a virtual environment. It can be installed from PyPI::
        
            pip install django-template-analyzer
        
        Or the current folder can be installed::
        
            pip install .
        
        Credits
        =======
        
        * This package is based on the work of
          `Django CMS <http://www.django-cms.org>`_. 
        * Many thanks to the contributors of ``cms/utils/placeholder.py`` / ``cms/utils/plugins.py`` in Django CMS!
        
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Framework :: Django :: 1.10
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Django :: 2.2
Classifier: Framework :: Django :: 3.0
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
