{
"info": {
"author": "Olivier Meunier",
"author_email": "olivier@neokraft.net",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Utilities"
],
"description": "=============\nDjango Facets\n=============\n\nFeatures\n========\n\nDjango facets is an assets manager providing a cache manager for static files, CSS, Javascript,\nimages compression and a collection (concatenation) system for CSS and JavaScript.\n\nThis new version uses Django static storage system.\n\n\nInstallation\n============\n\n- Download the package and type ``python setup.py install``\n- Add ``django.contrib.staticfiles`` and ``facets`` to your ``INSTALLED_APPS``\n- Set ``STATICFILES_STORAGE`` setting to ``facets.storages.FacetsFilesStorage``\n- Add, **in first position** ``facets.finders.FacetsFinder`` to ``STATICFILES_FINDERS`` setting\n\n\nConfiguration\n=============\n\nDjango facets needs some configuration settings.\n\nFACETS_ENABLED\n--------------\n\nThis setting enables cache. Its default value is the negation of ``DEBUG`` setting. You can set\nit manualy if you want to test your cache in debug mode.\n\nCACHES\n------\n\nDjango Facets keeps track of cached files using Django cache system. It tries to use the cache\nnamed \"facets\" and falls back to default. Here a configuration example::\n\n CACHES = CACHES = {\n 'default': {\n # Whatever you want\n },\n 'facets': {\n 'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',\n 'LOCATION': '/path/to/directory'\n }\n}\n\nFACETS_HANDLERS\n---------------\n\nA list of handlers. The default value is::\n\n (\n 'facets.processors.css.CssUrlsProcessor',\n )\n\nThese handlers are called during static files collect and/or while compiling some files. Order does not matter.\n\nSee handlers_ section.\n\n\nUsage\n=====\n\nAll static files should be handled as with `Django staticfiles\n`_.\n\nCollections\n-----------\n\nCollections are files you want to concatenate while in production. To create\na collection, you should use the ``mediacollection`` template tag. Here's an\nexample::\n\n {% load static from staticfiles %}\n {% load facets %}\n\n {% mediacollection \"css/main.css\" %}\n \n \n {% endmediacollection %}\n\nThe argument of the tag is the collection's final name.\n\nCollections follow some rules:\n\n* Only for ``link`` and ``script`` HTML tags.\n* You can't mix ``link`` and ``script`` tags together.\n* With ``link`` tags, the following attributes must have the same values on\n each tag: ``rel``, ``type``, ``media``\n* With ``script`` tags, the following attributes must have the same values on\n each tag: ``type``\n\nCollect\n-------\n\nBefore using the cache, you should run ``./manage.py collectstatic``. This\ncommand generates cached files.\n\nYou could run this command during project deployment. Please note that you MUST restart your\nproject server after running collectstatic.\n\n.. _handlers:\n\nHandlers\n========\n\nHandlers are classes that take responsibility to transform an input file. There are two types of handlers: compilers and processors.\n\nCompilers\n---------\n\nCompilers create final files for some preprocessors languages (Less, Sass, CoffeeScript, etc.).\nA compiler will be called during *collectstatic* and while serving static files if setting ``FACETS_ENABLED`` is set to ``False`` (usually during development).\n\nPlease note that there can be only one compiler by file extension.\n\nfacets.compilers.css.LessCompiler\n+++++++++++++++++++++++++++++++++\n\n:Extensions: ``less``\n:Options:\n\n | **new_name**: ``{base}.css``\n | **program**: ``/usr/bin/env lessc``\n | **command**: ``{program} - {outfile}``\n\nThis compiler compiles Less files using `Less `_ preprocessor.\n\nfacets.compilers.css.SasscCompiler\n++++++++++++++++++++++++++++++++++\n\n:Extensions: ``scss``, ``sass``\n:Options:\n\n | **new_name**: ``{base}.css``\n | **program**: ``/usr/bin/env sassc``\n | **command**: ``{program} -``\n\nThis compiler compiles Sass files using `SassC `_ preprocessor.\n\nfacets.compilers.css.LibSassCompiler\n++++++++++++++++++++++++++++++++++++\n\n:Extensions: ``scss``, ``sass``\n\nThis compiler compiles Sass files using `libsass-python `_ preprocessor.\n\nfacets.compilers.js.CoffeScriptCompiler\n+++++++++++++++++++++++++++++++++++++++\n\n:Extensions: ``coffee``\n:Options:\n\n | **new_name**: ``{base}.js``\n | **program**: ``/usr/bin/env coffee``\n | **command**: ``{program} -c --print {infile}``\n\nThis compiler compiles CoffeeScript files using `CoffeeScript `_ command.\n\nfacets.compilers.js.LiveScriptCompiler\n++++++++++++++++++++++++++++++++++++++\n\n:Extensions: ``ls``\n:Options:\n\n | **new_name**: ``{base}.js``\n | **program**: ``/usr/bin/env lsc``\n | **command**: ``{program} -c --print {infile}``\n\nThis compiler compiles LiveScript files using `LiveScript `_ command.\n\nfacets.compilers.js.DartCompiler\n++++++++++++++++++++++++++++++++\n\n:Extensions: ``dart``\n:Options:\n\n | **new_name**: ``{base}.js``\n | **program**: ``/usr/bin/env dart2js``\n | **command**: ``{program} -o {outfile} {infile}``\n\nThis compiler compiles Dart files using `Dart `_ dart2js.\n\n\nProcessors\n----------\n\nProcessors are called during *collectstatic*. Their job is usually to optimize files.\n\nfacets.processors.css.CssUrlsProcessor\n++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.css``\n:Options: **priority**: -1000 (please don't change it)\n\nThis processor transforms every URL found in CSS files to point to cached files version. For\nexample, this rule::\n\n h1 {\n background: url(../img/title.png);\n }\n\nwould become::\n\n h1 {\n background: url(\"/static/img/title-e221e1b36656.png\");\n }\n\n**Note**: It is recommended to always have this processor set.\n\nfacets.processors.css.CssMinProcessor\n+++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.css``\n\nThis processor minifies CSS files using `cssmin `_.\n\nfacets.processors.js.JsMinProcessor\n+++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.js``\n\nThis processor minifies JavaScript files using `jsmin `_.\n\nfacets.processors.js.UglifyJsProcessor\n++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.js``\n:Options:\n\n | **program**: ``/usr/bin/env uglifyjs``\n | **command**: ``{program} {infile} --ascii -m -c -o {outfile}``\n\nThis processor minifies JavaScript files using `UglifyJs 2 `_.\n\nfacets.processors.js.GoogleClosureProcessor\n+++++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.js``\n:Options:\n\n | **program**: ``/usr/bin/env java -jar /path/to/compiler.jar`` (you'll have to change that)\n | **command**: ``{program} {infile}``\n\nThis processor minifies JavaScript files using `Google Closure Compiler\n`_.\n\nfacets.processors.js.YuiJsProcessor\n+++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.js``\n:Options:\n\n | **program**: ``/usr/bin/env java -jar /path/to/yuicompressor-xxx.jar`` (you'll have to change that)\n | **command**: ``{program} {infile}``\n\nThis processor minifies JavaScript files using `Yahoo UI Compressor\n`_.\n\nfacets.processors.css.YuiCssProcessor\n+++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.css``\n:Options:\n\n | **program**: ``/usr/bin/env java -jar /path/to/yuicompressor-xxx.jar`` (you'll have to change that)\n | **command**: ``{program} {infile}``\n\nThis processor minifies CSS files using `Yahoo UI Compressor\n`_.\n\nfacets.processors.images.OptiPngProcessor\n+++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.png``\n:Options:\n\n | **program**: ``/usr/bin/env optipng``\n | **command**: ``{program} -o7 -nc {infile}``\n\nThis processor optimizes PNG files using `OptiPNG `_.\n\nfacets.processors.images.AdvPngProcessor\n++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.png``\n:Options:\n\n | **program**: ``/usr/bin/env advpng``\n | **command**: ``{program} -z -4 {infile}``\n\nThis processor optimizes PNG files using `AdvanceCOMP advpng\n`_.\n\nfacets.processors.images.JpegtranProcessor\n++++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.jpg, *.jpeg``\n:Options:\n\n | **program**: ``/usr/bin/env jpegtran``\n | **command**: ``{program} -copy none -optimize {infile}``\n\nThis processor optimizes JPEG files using `jpegtran `_.\n\nfacets.processors.images.JpegoptimProcessor\n+++++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.jpg, *.jpeg``\n:Options:\n\n | **program**: ``/usr/bin/env jpegoptim``\n | **command**: ``{program} -q --strip-all {infile}``\n\nThis processor optimizes JPEG files using `jpegoptim `_.\n\nfacets.processors.images.GifsicleProcessor\n++++++++++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.gif``\n:Options:\n\n | **program**: ``/usr/bin/env gifsicle``\n | **command**: ``{program} --batch -O3 {infile}``\n\nThis processor optimizes GIF files using `Gifsicle `_.\n\nfacets.processors.gz.GZipProcessor\n++++++++++++++++++++++++++++++++++\n\n:Scope: ``*.htm, *.html, *js, *.css, *.txt, *.eot, *.ttf, *.woff, *.svg``\n:Options:\n\n | **priority**: 1000 (please don't change it)\n | **compresslevel**: A compression level (0-9). Default to 5.\n\nThis processor is a bit special. Instead of updating existing cached file, it creates a gziped copy. It could be very useful if you configured Nginx with `Gzip Static Module\n`_.\n\n\nLicense\n=======\n\nDjango facets is released under the BSD license. See the LICENSE\nfile for the complete license.",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/olivier-m/django-facets",
"keywords": "django assets css javascript compression",
"license": "MIT License",
"maintainer": null,
"maintainer_email": null,
"name": "facets",
"package_url": "https://pypi.org/project/facets/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/facets/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/olivier-m/django-facets"
},
"release_url": "https://pypi.org/project/facets/1.1.0/",
"requires_dist": null,
"requires_python": null,
"summary": "Asset manager for Django.",
"version": "1.1.0"
},
"last_serial": 1197851,
"releases": {
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "ec3c5692d60d0ac88c115fd57ba537f1",
"sha256": "1e36835378412ba228a554637d055cb3ffebd42cdb9653636bfd27828ac06f43"
},
"downloads": -1,
"filename": "facets-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "ec3c5692d60d0ac88c115fd57ba537f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10807,
"upload_time": "2013-09-02T10:36:59",
"url": "https://files.pythonhosted.org/packages/76/95/2abe093257e179b79d3b4401be24d83c300f8d8c20ede5f492cc87871db4/facets-0.8.1.tar.gz"
}
],
"0.8.2": [
{
"comment_text": "",
"digests": {
"md5": "a59880bd249df07c8c7df399e61b760f",
"sha256": "959ccda19d7ac03a7dc949131c07edb650ab7a7f60885ce81306e2f2bd5909cb"
},
"downloads": -1,
"filename": "facets-0.8.2.tar.gz",
"has_sig": false,
"md5_digest": "a59880bd249df07c8c7df399e61b760f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10799,
"upload_time": "2014-01-15T12:10:01",
"url": "https://files.pythonhosted.org/packages/91/e6/99d6ec5ed3978e9442d0e59e05474488d89dac48478fe3d4fff7f9dd53bd/facets-0.8.2.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "2988823564187d8d7bbb356c9649155b",
"sha256": "62bb62523ea61938dfb7f4ca2f4c3403eb4a66a6a089498b98a3e5a1fbbdc7de"
},
"downloads": -1,
"filename": "facets-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "2988823564187d8d7bbb356c9649155b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15450,
"upload_time": "2014-06-03T12:12:06",
"url": "https://files.pythonhosted.org/packages/df/f7/e5e2dba72bed44fa1bf7d49c0c54588d8f2075d11c181c21490feef62a4d/facets-1.0.0.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "96d07e09d7a3c62d5b9dba6434a18cd9",
"sha256": "b3c997d97d35fd8afbb333f5dd890d73ada86e6ad3c8f6e567e0daa37dc18ff2"
},
"downloads": -1,
"filename": "facets-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "96d07e09d7a3c62d5b9dba6434a18cd9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15000,
"upload_time": "2014-08-21T15:05:53",
"url": "https://files.pythonhosted.org/packages/5b/66/deb8a69a06a5ed433d2bcf7542e135acc6ad789c258d936a2f81cab3ed7e/facets-1.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "96d07e09d7a3c62d5b9dba6434a18cd9",
"sha256": "b3c997d97d35fd8afbb333f5dd890d73ada86e6ad3c8f6e567e0daa37dc18ff2"
},
"downloads": -1,
"filename": "facets-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "96d07e09d7a3c62d5b9dba6434a18cd9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15000,
"upload_time": "2014-08-21T15:05:53",
"url": "https://files.pythonhosted.org/packages/5b/66/deb8a69a06a5ed433d2bcf7542e135acc6ad789c258d936a2f81cab3ed7e/facets-1.1.0.tar.gz"
}
]
}