Metadata-Version: 1.1
Name: neuronjs
Version: 1.0.0
Summary: The python middleware for neuron.js
Home-page: https://github.com/kaelzhang/python-neuronjs
Author: Kael Zhang
Author-email: i@kael.me
License: MIT
Description: |Build Status|
        
        neuronjs
        ========
        
        Python utilities and middleware for neuron.js
        
        neuronjs analyzes the dependencies from user defined facades according
        to the dependency tree, and outputs ``<script>`` tags and configurations
        for `neuron.js <https://github.com/kaelzhang/neuron>`__
        
        The dependency tree can be generated by
        `neuron-package-dependency <https://github.com/kaelzhang/neuron-package-dependency>`__
        
        Install
        -------
        
        .. code:: sh
        
            $ pip install neuronjs
        
        Usage
        -----
        
        .. code:: py
        
            from neuronjs import Neuron
        
            n = Neuron(
              dependency_tree=dependency_tree,  # must defined
              resolve=resolve,
              version=version,
              cache=cache,
              debug=False)
        
        ``neuronjs`` could be used either in template file or your python
        controller.
        
        `Here <./sample/sample-jinja.html>`__ is a sample Jinja2 template file.
        
        -  **dependency\_tree** ``dict`` the ``json.loads()``\ ed dependency
           tree
        -  **resolve** ``function(id)=`` (optional) implements your own custom
           resolver. ``resolve`` accepts one parameter ``id`` which can be
           either a ``str`` of module id or a ``list`` of module ids. If a
           ``str`` is passed in, the method should returns the resolved absolute
           url of the module id. If ``id`` is a ``list``, an url of comboed
           script files should be returned.
        -  **debug** ``function|bool=False`` tells neuronjs whether should
           switch on debug mode. When on debug mode, no javascript files of
           dependencies will be preloaded, and the output will not be
           compressed.
        -  if ``debug`` is callable, neuronjs will use the return value of
           method ``debug``
        -  if ``debug`` is a boolean value, and ``debug`` is true, the debug
           mode will be on.
        -  **cache** ``dict=None`` if ``cache`` is defined, it should contains 3
           methods:
        -  ``cache.has(key)`` returns ``bool``
        -  ``cache.get(key)`` looks up and returns the cached value by key
        -  ``cache.set(key, value)`` sets the value by key
        -  **version** ``str`` only works if ``cache`` is defined. neuronjs will
           uses ``version`` to generate the key to cache the output result
        
        module id
        ^^^^^^^^^
        
        .. code:: js
        
            <name>@<version><path>  # for example: 'jquery@2.0.0/jquery.js'
        
        n.facade(entry, data=None)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        -  **entry** ``str`` id of the entry module
        
        Registers a facade entry with ``data``. neuronjs will
        
        Returns ``''``\ (empty string), so you can use this method in python
        template
        
        n.combo(id...)
        ^^^^^^^^^^^^^^
        
        Returns ``''``
        
        n.css(id)
        ^^^^^^^^^
        
        Returns ``''``
        
        n.output()
        ^^^^^^^^^^
        
        Returns ``str``
        
        n.output\_css()
        ^^^^^^^^^^^^^^^
        
        Returns ``str``
        
        License
        -------
        
        MIT
        
        .. |Build Status| image:: https://travis-ci.org/kaelzhang/python-neuronjs.svg?branch=master
           :target: https://travis-ci.org/kaelzhang/python-neuronjs
        
Keywords: neuron.js middleware javascript loader facade
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: MIT License
