{ "info": { "author": "Rehan Dalal", "author_email": "rehan@meet-rehan.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==============\n Flask-Funnel\n==============\n\n.. contents::\n :local:\n\n\n.. include:: ../README.rst\n\n\nRequirements\n============\n\n* **Flask 0.8** (or later)\n\nOne of the following:\n\n* **Java**: if you want to use `YUI Compressor`_.\n* **NodeJS**: if you want to use `Coffee-Script`_ , `UglifyJS`_ or `clean-css`_.\n\nOptionally:\n\n* **LESS**: if you need to compile `LESS`_ files.\n* **SCSS**: if you need to compile `SCSS`_ files.\n* **Stylus**: if you need to compule `Stylus`_ files.\n* **COFFEE**: if you need to compile `COFFEE`_ files.\n* **Autoprefixer**: if you want to have your CSS files autoprefixed.\n\n\nInstalling YUI Compressor\n=========================\n\nTo use `YUI Compressor`_ you must install Java. Once Java has been installed\nmake sure to set ``JAVA_BIN`` in your application config.\n\nYou can download YUI Compressor from\n``_ and make sure that\n``YUI_COMPRESSOR_BIN`` points to the ``yuicompressor-x.y.z.jar`` file.\n\n\nConfiguration\n=============\n\nThere are several configuration options available for **Flask-Funnel**:\n\n**CSS_BUNDLES**\n\n A dict of CSS bundles:\n\n .. code-block:: python\n\n app.config['CSS_BUNDLES'] = {\n 'bundle1': (\n 'stylesheet.css',\n 'another.css',\n 'tobecompile.less',\n 'tobecompile2.scss',\n ),\n }\n\n Defaults to: ``{}``\n\n**JS_BUNDLES**\n\n A dict of JavaScript bundles:\n\n .. code-block:: python\n\n app.config['JS_BUNDLES'] = {\n 'the_bundle': (\n 'jquery.js',\n 'jquery-ui.js',\n 'tubecompile.coffee',\n ),\n }\n\n Defaults to: ``{}``\n\n**CSS_MEDIA_DEFAULT**\n\n This is the default value for the media attribute of the tag for\n stylesheets.\n\n Defaults to: ``'screen,projection,tv'``\n\n**BUNDLES_DIR**\n\n The subdirectory of the static directory that the generated bundles are saved\n to.\n\n Defaults to: ``'bundles'``\n\n**YUI_COMPRESSOR_BIN**\n\n If you plan on using `YUI Compressor`_ you must set this variable.\n\n *It has no default value.*\n\n**JAVA_BIN**\n\n If you plan on using `YUI Compressor`_ you must set this variable.\n\n *It has no default value.*\n\n**LESS_BIN**\n\n If you require `LESS`_ support you must point this to ``lessc``.\n\n Defaults to: ``'lessc'``\n\n**LESS_PREPROCESS**\n\n If you want LESS files to be compiled when ``app.debug`` is ``True`` and\n compressed files are not being used.\n\n Defaults to: ``True``\n\n**SCSS_BIN**\n\n If you require `SCSS`_ support you must point this to ``scss``.\n\n Defaults to: ``'scss'``\n\n**SCSS_PREPROCESS**\n\n If you want SCSS files to be compiled when ``app.debug`` is ``True`` and\n compressed files are not being used.\n\n Defaults to: ``True``\n\n**STYLUS_BIN**\n\n If you require `Stylus`_ support you must point this to ``stylus``.\n\n Defaults to: ``'stylus'``\n\n**STYLUS_PREPROCESS**\n\n If you want Stylus files to be compiled when ``app.debug`` is ``True`` and\n compressed files are not being used.\n\n Defaults to: ``True``\n\n**COFFEE_BIN**\n\n If you require `COFFEE`_ support you must point this to ``coffee``.\n\n Defaults to: ``'coffee'``\n\n**COFFEE_PREPROCESS**\n\n If you want CoffeeScript files to be compiled when ``app.debug`` is\n ``True`` and compressed files are not being used.\n\n Defaults to: ``True``\n\n**AUTOPREFIXER_BIN**\n\n If you want to use `Autoprefixer`_ you must point this to ``autoprefixer``.\n\n Defaults to: ``'autoprefixer'``\n\n**AUTOPREFIXER_ENABLED**\n\n Flag to indicated whether to run Autoprefixer on bundles and preprocessed\n files.\n\n Defaults to: ``False``\n\n**AUTOPREFIXER_BROWSERS**\n\n Determines which browsers to prefix for. See `Autoprefixer`_ documentation\n for more information.\n\n Defaults to: ``'last 2 versions'``\n\n**UGLIFY_BIN**\n\n If you want to use `UglifyJS`_ you must set this variable.\n\n *It has no default value.*\n\n**CLEANCSS_BIN**\n\n If you want to use `clean-css`_ you must set this variable.\n\n *It has no default value.*\n\n**FUNNEL_USE_S3**\n\n If you are using `Flask-S3`_ you must set this to use Flask-S3's\n ``url_for()`` function.\n\n Defaults to: ``False``\n\nIncluding bundles in templates\n==============================\n\nTo include a bundle in a template you can use the ``css()`` or ``js()``\nfunction:\n\n.. code-block:: html+jinja\n\n {# Jinja2 template #}\n \n \n \n The Title\n {{ css('bundle-name') }}\n \n \n

Headline

\n {{ js('bundle-name') }}\n \n \n\n\nThis will generate the appropriate markup for each bundle.\n\nNote: When ``app.debug`` is ``True`` these will output markup for each file in\nthe bundle.\n\n\nMedia types for stylesheets\n---------------------------\n\nThe ``css()`` function will, by default, generate ```` tags with a\n``media`` attribute set to ``CSS_MEDIA_DEFAULT``. You can override this by\npassing an optional second argument.\n\n\nUsing the manager to bundle and minify assets\n---------------------------------------------\n\nThe extension provides a sub-manager for `Flask-Script`_ which can be used as\nfollows:\n\n.. code-block:: python\n\n from flask.ext.script import Manager\n from flask.ext.funnel.manager import manager as funnel_manager\n\n manager = Manager(app)\n manager.add_command('funnel', funnel_manager)\n\n\nYou can now use the manager to bundle and minify your assets using::\n\n $ ./manage.py funnel bundle_assets\n\n\nThis will create a ``bundle`` folder within the app's static folder to store the\nbundled files. CSS bundles go into a ``css`` subfolder and JavaScript bundles go\ninto the ``js`` subfolder. Each of these subfolders will have a number of\n``*-min.*`` files which are the compressed and minified versions of the bundles.\n\n\n.. include:: ../CHANGELOG\n\n\n.. include:: ../CONTRIBUTORS\n\n\n.. _clean-css: http://github.com/GoalSmashers/clean-css\n.. _Flask: http://flask.pocoo.org/\n.. _Flask-S3: http://github.com/e-dard/flask-s3\n.. _Flask-Script: http://github.com/techniq/flask-script\n.. _GitHub: http://github.com/rehandalal/flask-funnel\n.. _LESS: http://lesscss.org/\n.. _UglifyJS: http://github.com/mishoo/UglifyJS\n.. _YUI Compressor: http://github.com/yui/yuicompressor\n.. _COFFEE: http://jashkenas.github.com/coffee-script/\n.. _SCSS: http://sass-lang.com/\n.. _Stylus: http://learnboost.github.io/stylus/\n.. _Autoprefixer: https://github.com/ai/autoprefixer", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/rehandalal/flask-funnel/", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "Flask-Funnel", "package_url": "https://pypi.org/project/Flask-Funnel/", "platform": "any", "project_url": "https://pypi.org/project/Flask-Funnel/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/rehandalal/flask-funnel/" }, "release_url": "https://pypi.org/project/Flask-Funnel/0.1.10/", "requires_dist": null, "requires_python": null, "summary": "Asset management for Flask.", "version": "0.1.10" }, "last_serial": 914524, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "35bf96e389ecf6e6fbcbd9b80fa1250c", "sha256": "54cbc65e02326f49dcd89ba40465abfe104dde0f69a57b6089f002cc8c1ef3ce" }, "downloads": -1, "filename": "Flask-Funnel-0.1.tar.gz", "has_sig": false, "md5_digest": "35bf96e389ecf6e6fbcbd9b80fa1250c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 889354, "upload_time": "2013-03-01T08:43:26", "url": "https://files.pythonhosted.org/packages/3b/09/c017421850c5de15cefab18947de775515c4e496ed5aeb04317fcc7df93d/Flask-Funnel-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8ba12fd215f5a43c8a406dcebe776806", "sha256": "2c97cbcdc101ea0fcfde383814a7b46c3fab7f684b899b15a31ab316ca629290" }, "downloads": -1, "filename": "Flask-Funnel-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8ba12fd215f5a43c8a406dcebe776806", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 889365, "upload_time": "2013-03-02T01:20:01", "url": "https://files.pythonhosted.org/packages/1e/37/da9db4cf44edd9611ad46db7a8ac9b9a4b25ede7bae1b712897842ac345a/Flask-Funnel-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "d2af39fb2cb4f7164d97bb5c108f461a", "sha256": "43182470ed8c3441c3d7801f83bca5f6fa51bf1f6655312060ca74dd5da8f76d" }, "downloads": -1, "filename": "Flask-Funnel-0.1.10.tar.gz", "has_sig": false, "md5_digest": "d2af39fb2cb4f7164d97bb5c108f461a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47565, "upload_time": "2013-11-08T13:51:15", "url": "https://files.pythonhosted.org/packages/e3/a1/3a0c83792a471d6a3eeaf468cdf5f0519ff8d8b020ad27f8c1696f8c1d81/Flask-Funnel-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b98bed9ce39bf423f12e1f3c2d97cb30", "sha256": "029dca8e84b730ee7e053b9b201b48355a031532ab81cc1863d59a39352e8a08" }, "downloads": -1, "filename": "Flask-Funnel-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b98bed9ce39bf423f12e1f3c2d97cb30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 889363, "upload_time": "2013-03-02T01:44:19", "url": "https://files.pythonhosted.org/packages/2e/36/9905a887f6ff0f40779e64996ee0884b0160c8d32f03292d2df0edf3830b/Flask-Funnel-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "84e6240402566b78fb2e2a659f73a7af", "sha256": "e5bb3e1fc580b71e511b71114426275e22bd92e30c7327145bf2ad52cccc3281" }, "downloads": -1, "filename": "Flask-Funnel-0.1.3.tar.gz", "has_sig": false, "md5_digest": "84e6240402566b78fb2e2a659f73a7af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40977, "upload_time": "2013-03-07T13:14:11", "url": "https://files.pythonhosted.org/packages/88/a0/7801eec4a0b2ac471fcc68df7349cce30604f8a0fff71d8b180c52e6704d/Flask-Funnel-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "2fe6dc37c31d49481b55f320256e8aa8", "sha256": "4b0aa8cfe3845ced41d53db44fb64ca71091d608d4ddeca9392558c4d49916c1" }, "downloads": -1, "filename": "Flask-Funnel-0.1.4.tar.gz", "has_sig": false, "md5_digest": "2fe6dc37c31d49481b55f320256e8aa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40999, "upload_time": "2013-03-07T13:37:23", "url": "https://files.pythonhosted.org/packages/b2/3c/0f5c7772702b88b506ecf1c2dffb97091c60a83a08c7993dce349797881c/Flask-Funnel-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "3088fab0dc9f312d7b8b1c0d5e61a963", "sha256": "98eb961029082136c3c3e9eb1ad2e3c50a933f47e31ef542813c324631439a38" }, "downloads": -1, "filename": "Flask-Funnel-0.1.5.tar.gz", "has_sig": false, "md5_digest": "3088fab0dc9f312d7b8b1c0d5e61a963", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40980, "upload_time": "2013-03-07T14:13:48", "url": "https://files.pythonhosted.org/packages/df/27/e40b5ae051de37564d49f83249cf4248f55896fc7875be9ae587f6379c47/Flask-Funnel-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "f7ed89e89c06c1514aead0694b74442c", "sha256": "08b5badf05cd8dc600fa4d98ee772ef0c451df7705922785a4617940111e6ac4" }, "downloads": -1, "filename": "Flask-Funnel-0.1.6.tar.gz", "has_sig": false, "md5_digest": "f7ed89e89c06c1514aead0694b74442c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40985, "upload_time": "2013-03-07T23:18:47", "url": "https://files.pythonhosted.org/packages/29/62/d99c45ec0c71db809f6e7d7f3856510ee1a65acafdcfcad48c22fcc06243/Flask-Funnel-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7ee3ba859860e1ff4d7ef872a4b0be7a", "sha256": "ac88e0e865afc98de54067c6e383bc53ca6dbc8a835ce09ad1ff07d1d6c134e9" }, "downloads": -1, "filename": "Flask-Funnel-0.1.7.tar.gz", "has_sig": false, "md5_digest": "7ee3ba859860e1ff4d7ef872a4b0be7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40985, "upload_time": "2013-03-13T10:39:55", "url": "https://files.pythonhosted.org/packages/6c/1f/556d1685a7d0086e486c35150cb29cdb544c1e4c4a5ac305e609891cd504/Flask-Funnel-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "12d7722042afde5be6512b27da2632ca", "sha256": "d1da7650fa4987766d6b1d52c8895e16e2bec52afc70030a80870bb23e96afb4" }, "downloads": -1, "filename": "Flask-Funnel-0.1.8.tar.gz", "has_sig": false, "md5_digest": "12d7722042afde5be6512b27da2632ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46500, "upload_time": "2013-10-17T09:42:34", "url": "https://files.pythonhosted.org/packages/0d/59/95b83b3f0b99ea461b973e2404e857cd1f47f0f29d7be545308bef6f718e/Flask-Funnel-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "63daefad440ee0b83f66cda06ccd027a", "sha256": "affa2f9ad9a9d64dd8f5fa0c5918e9ef6b72b620da103e45b4d981c8ef7f9e57" }, "downloads": -1, "filename": "Flask-Funnel-0.1.9.tar.gz", "has_sig": false, "md5_digest": "63daefad440ee0b83f66cda06ccd027a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46581, "upload_time": "2013-10-20T11:23:22", "url": "https://files.pythonhosted.org/packages/8b/e3/d8cc60c8052ae97997cfaa60713b0ffdf0eb16fe54d603cfce8864053671/Flask-Funnel-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2af39fb2cb4f7164d97bb5c108f461a", "sha256": "43182470ed8c3441c3d7801f83bca5f6fa51bf1f6655312060ca74dd5da8f76d" }, "downloads": -1, "filename": "Flask-Funnel-0.1.10.tar.gz", "has_sig": false, "md5_digest": "d2af39fb2cb4f7164d97bb5c108f461a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47565, "upload_time": "2013-11-08T13:51:15", "url": "https://files.pythonhosted.org/packages/e3/a1/3a0c83792a471d6a3eeaf468cdf5f0519ff8d8b020ad27f8c1696f8c1d81/Flask-Funnel-0.1.10.tar.gz" } ] }