Metadata-Version: 1.1
Name: djangobars
Version: 0.2.0
Summary: An extension to allow Django to use Handlebars templates through the pybars port of Handlebars.js
Home-page: https://github.com/mjumbewu/djangobars/
Author: Mjumbe Wawatu Ukweli
Author-email: mjumbewu@gmail.com
License: UNKNOWN
Description: djangobars
        ==========
        
        An extension to allow Django to use Handlebars templates through the pybars port
        of Handlebars.js
        
        Because don't we all want to use the same templates on the client that we do on
        the server?
        
        .. image:: https://travis-ci.org/mjumbewu/djangobars.png?branch=master
          :target: https://travis-ci.org/mjumbewu/djangobars
        
        **NOTE: This project is very early-stage.  Try it out, leave feedback and wishes 
        in the issues.  And pull-requests welcome!**
        
        Installation
        ------------
        
        1. Install ``pybars``, ``pymeta``, and ``djangobars``::
        
            pip install git+git://github.com/mjumbewu/pymeta.git@master#egg=pymeta
            pip install git+git://github.com/mjumbewu/pybars.git@master#egg=pybars
            pip install djangobars
        
          *NOTE that ``djangobars`` depends on particular versions of ``pymeta`` and
          ``pybars``. If you add ``djangobars`` to a requirements file, be sure to add
          these versions of ``pymeta`` and ``pybars`` first.*
        
        2. Add ``'djangobars'`` to your installed applications.
        
        3. Add a ``HANDLEBARS_LOADERS`` value to your settings module. You will probably
           want::
        
               HANDLEBARS_LOADERS = (
                   'djangobars.template.loaders.filesystem.Loader',
                   'djangobars.template.loaders.app_directories.Loader',
               )
        
        4. *(optional)* Add a ``HANDLEBARS_DIRS`` and/or ``HANDLEBARS_APP_DIRNAMES``
           value to your setting module. By
           default, djangobars will search in your ``TEMPLATE_DIRS`` folder, but you can
           use the ``HANDLEBARS_DIRS`` value to override this behavior. For example, if
           you want to use both Django templates and Handlebars templates, you may want
           to keep the two in separate directories.
        
        
        Usage
        -----
        
        Use pretty much just as you would Django's own built-in templates.  Instead of::
        
            from django.shortcuts import render
        
            def my_view(request):
                # View code here...
                return render(request, 'myapp/index.html', {"foo": "bar"},
                    content_type="application/xhtml+xml")
        
        do this::
        
            from djangobars.shortcuts import render
        
            def my_view(request):
                # View code here...
                return render(request, 'myapp/handlebar_index.html', {"foo": "bar"},
                    content_type="application/xhtml+xml")
        
        And instead of::
        
            from django.views.generic import TemplateView
        
            class MyView (TemplateView):
                template_name = 'myapp/index.html'
        
        do this::
        
            from django.views.generic import TemplateView
            from djangobars.response import HandlebarsResponse
        
            class MyView (TemplateView):
                template_name = 'myapp/handlebar_index.html'
                response_class = HandlebarsResponse
        
        Template Tags
        -------------
        
        You can also include Handlebars templates with a Django template tag::
        
            {% load djangobars %}
        
            {% include_handlebars "handlebars_template_name.html" %}
        
        The current template context will be carried over into the Handlebars template.
        
        
        0.2.0
        =====
        
        * New dependencies on pymeta3 and pybars3.
        * Include partials of other templates in the project.
        
        
        
        0.1.5
        =====
        
        * Allow arbitrary objects as context for templates.
        
        
        
        0.1.4
        =====
        
        * Fix a bug in the app directories template loader where the path names were
          calling ``decode`` in Python 2 *and* 3.
        
        
        
        0.1.3
        =====
        
        * Change the installation details
        
          Pip 1.5 makes it difficult to specify installation sources outside of the
          PyPI. Also, this is better motivation to get these packages officially on
          PyPI.
        
        
        
        0.1.2
        =====
        
        * Depend on specific forks of pymeta and pybars
        
        
        
        0.1.1
        =====
        
        * First Release
        
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
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
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Framework :: Django
