.. _ref-configuration:

=============
Configuration
=============

Configuration and list of available settings for Pipedash


Specifying files
================

You specify your packages (a collection of resources) in your settings.

The basic syntax for specifying packages is ::

    PIPEDASH_PACKAGES = {
        'js:index': {
            'path': 'js/main.js',
            'mime': 'text/javascript',
            'attrs': {
                'async': 'async',
            },
            'files': [
                ('js/foo.js', 'text/javascript'),
                ('js/bar.js', 'text/javascript'),
            ],
        },
        'css:index': {
            'path': 'css/main.css',
            'mime': 'text/css',
            'attrs': {
                'media': 'screen',
            },
            'files': [
                ('css/red.css', 'text/css'),
                ('css/blue.css', 'text/css'),
                ('css/green.less', 'text/less'),
            ]
        }
    }

For convenience you can namespace your javascript and css resources with the ``css:`` and ``js:`` prefix

Group options
-------------

``path``
........

    **Required**

    Is the filename/path of the final concatenated resource


``files``
.........

    **Required**

    Is a tuple of the resources files to be compiled, compressed and concatenated.
    The files are concatenated in the order specified in the list.


``mime``
........

    **Required**

    The output file MIME type.
    Used in determining the name of the template for rendering the package html

``attrs``
.........

    **Optional**

    Is a dictionary of values to be converted to key=value attributes and added to the
    outputted html. Usefull for ``{'media': 'all'}`` on css and ``{'async': 'async'}``
    on javascript files


Other settings
--------------

``PIPEDASH_CONCAT``
...................

    ``True`` if pipedash should concatenate all the compiled and compressed resources, ``False`` if not.

    Defaults to ``not settings.DEBUG``.

``PIPEDASH_COMPILERS``
......................

    A tuple of compiler processes to be run against all the resources specified in ``PIPEDASH_PACKAGES``

    These processors run before any processes listed in ``PIPEDASH_COMPRESSORS``

    If empty or ``None``, no compilers will run.

    Defaults to an empty tuple ``()``.


``PIPEDASH_COMPRESSORS``
........................

    A tuple of compressor processes to be run against all the resources specified in ``PIPEDASH_PACKAGES``

    These processors run after any processes listed in ``PIPEDASH_COMPILERS``

    If empty or ``None``, no compressors will run.

    Defaults to an empty tuple ``()``.
