# -*- coding: utf-8 -*-
from setuptools import setup

packages = \
['pelican', 'pelican.plugins.webassets']

package_data = \
{'': ['*']}

install_requires = \
['pelican>=4.5,<5.0', 'webassets>=2.0,<3.0']

extras_require = \
{'markdown': ['markdown>=3.2.2,<4.0.0']}

setup_kwargs = {
    'name': 'pelican-webassets',
    'version': '2.0.0',
    'description': 'Pelican plugin to manage web assets such as CSS and JS files',
    'long_description': '# Web Assets: A Plugin for Pelican\n\n[![Build Status](https://img.shields.io/github/workflow/status/pelican-plugins/webassets/build)](https://github.com/pelican-plugins/webassets/actions)\n[![PyPI Version](https://img.shields.io/pypi/v/pelican-webassets)](https://pypi.org/project/pelican-webassets/)\n![License](https://img.shields.io/pypi/l/pelican-webassets?color=blue)\n\nThis [Pelican](https://github.com/getpelican/pelican) plugin allows you to use\nthe [webassets][] module to perform a number\nof useful asset management functions on your web site, such as:\n\n* CSS minification (`cssmin`, `yui_css`, ...)\n* CSS compiling (`less`, `sass`, ...)\n* JS building (`uglifyjs`, `yui_js`, `closure`, ...)\n\nSome other interesting abilities of [webassets][] include:\n\n* [URL Expiry or\n  "cache-busting"](https://webassets.readthedocs.io/en/latest/expiring.html),\n  allowing you to set the cache headers for your assets long into the\n  future, saving bandwidth and reducing page load-times\n* a [`spritemapper`](https://yostudios.github.io/Spritemapper/) function to\n  automatically combine multiple icons into one large image with corresponding\n  position slices\n* a `datauri` function to minimize the number of HTTP requests by\n  replacing `url()` references in your stylesheets with internal\n  in-line [data URIs](https://en.wikipedia.org/wiki/Data_URI_scheme)\n\nFor the complete list of what [webassets][] can do, check out the **included\nfilters** section in the [webassets\ndocumentation](https://webassets.readthedocs.io/en/latest/builtin_filters.html).\n\n## Installation\n\nGetting started with [webassets][] couldn\'t be easier thanks to `pip`:\n\n```shell-session\npython -m pip install pelican-webassets\n```\n\nFor more detailed plugin installation instructions, please refer to the\n[Pelican Plugin Documentation](https://docs.getpelican.com/en/latest/plugins.html).\n\n💡 **Keep in Mind:** Each function you use in your `{% asset filters %}`\narguments (more on this later) will need to be installed\nseparately. For example, if you wanted to use the `libsass` filter, you\nwill need to `pip install libsass`. You can even [create a custom\nfilter](https://webassets.readthedocs.io/en/latest/custom_filters.html)\nif you wanted.\n\n## Usage\n\nWith the plugin installed, include one or more `{% assets %}` tags\ninto your web site\'s templates to generate everything your web page will\nneed. For example, something like this in your template…\n\n```html+jinja\n{% assets filters="libsass,cssmin", output="css/style.min.css", "css/style.scss" %}\n  <link rel="stylesheet" href="{{SITEURL}}/{{ASSET_URL}}">\n{% endassets %}\n```\n\n…\xa0will tell [webassets][] to use `libsass` and `cssmin` to compile and\nminify the `css/style.scss` file in your theme, and save the compiled\nstylesheet as `css/style.min.css` in the output of your finished\nwebsite, along with the `link` element like this in your web page:\n\n```html+jinja\n<link href="{SITEURL}/{THEME_STATIC_DIR}/css/style.min.css?b3a7c807" rel="stylesheet">\n```\n\n🌠 **The More You Know:** The `ASSET_URL` variable is the concatenation\nof your Pelican `THEME_STATIC_DIR` setting, the `output` argument, and\nthe "cache-busting" variable we already talked about.\n\n### JavaScript Example\n\nAs another example, we can use the [webassets][] `closure_js` function to\ncombine, minify, and compress two files in your web site\'s theme, `js/jQuery.js`\nand `js/widgets.js`:\n\n```html+jinja\n{% assets filters="closure_js", output="js/packed.js", "js/jQuery.js", "js/widgets.js" %}\n <script src="{{SITEURL}}/{{ASSET_URL}}"></script>\n{% endassets %}\n```\n\nThe resulting output will be a single `script` tag and its\ncorresponding file in your web site\'s generated output:\n\n```html+jinja\n<script src="{SITEURL}/{THEME_STATIC_DIR}/js/packed.js?00703b9d"></script>\n```\n\n## Configuration\n\nBeing a very small wrapper around the [webassets][] module, there are\nonly a few options that you may need.\n\n#### WEBASSETS_DEBUG\n\nBy default, if Pelican is in DEBUG mode (`pelican -D ...`), this\nplugin will put [webassets][] in DEBUG mode, to help you with\ndebugging. To override this behavior, set `WEBASSETS_DEBUG = False` to\nalways process files regardless of Pelican\'s DEBUG flag, or `True`\nto always force [webassets][] into DEBUG mode.\n\n```python\n# put webassets into DEBUG mode if Pelican is\nWEBASSETS_DEBUG = logger.getEffectiveLevel() <= logging.DEBUG\n```\n\n#### WEBASSETS_CONFIG\n\nSome [webassets][] filters require extra configuration options to function\nproperly. You can use `WEBASSETS_CONFIG` to specify these options in a\nlist of `(key, value)` tuples that are passed along to the [webassets][]\nenvironment.\n\n```python\nWEBASSETS_CONFIG = [\n  ("closure_compressor_optimization", "ADVANCED_OPTIMIZATIONS"),\n  ("libsass_style", "compressed")\n]\n```\n\n#### WEBASSETS_BUNDLES\n\n[Bundles](https://webassets.readthedocs.io/en/latest/bundles.html) are\na convenient way to group a collection of assets together along with\nthe information on how to properly process the files. The\n`WEBASSETS_BUNDLES` option allows us to make these Bundles by taking a\nlist of `(name, args, kwargs)` arguments that will be passed to the\n[webassets][] environment.\n\n```python\nWEBASSETS_BUNDLES = (\n     ("my_bundle", ("colors.scss", "style.scss"),\n     {"output\': "style.min.css", "filters": ["libsass", "cssmin"]}),\n)\n```\n\nAllowing you to simplify something like this in your web site\'s templates…\n\n```html+jinja\n{% assets filters="libsass,cssmin", output="style.min.css", "colors.scss", "style.scss" %}\n```\n\n… into this:\n\n```html+jinja\n{% assets \'my_bundle\' %}\n```\n\n#### WEBASSETS_SOURCE_PATHS\n\nIf your raw assets are in directories other than your\n`THEME_STATIC_PATHS`, you can supply additional directories to search\nin with `WEBASSETS_SOURCE_PATHS`.\n\n```python\nWEBASSETS_SOURCE_PATHS = ["stylehseets", "javascript"]\n```\n\n## Contributing\n\nContributions are welcome and much appreciated. Every little bit\nhelps. You can contribute by improving the documentation, adding\nmissing features, and fixing bugs. You can also help out by reviewing\nand commenting on [existing issues][].\n\nTo start contributing to this plugin, review the [Contributing to\nPelican][] documentation, beginning with the **Contributing Code**\nsection.\n\n[existing issues]: https://github.com/pelican-plugins/webassets/issues\n[Contributing to Pelican]: https://docs.getpelican.com/en/latest/contribute.html\n\n## License\n\nThis project is licensed under the [AGPL-3.0\nlicense](https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0))\n\n![AGPL-3.0](https://img.shields.io/pypi/l/pelican-webassets?color=blue)\n\n\n[webassets]: https://github.com/miracle2k/webassets\n',
    'author': 'Pelican Dev Team',
    'author_email': 'authors@getpelican.com',
    'maintainer': None,
    'maintainer_email': None,
    'url': 'https://github.com/pelican-plugins/webassets',
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'extras_require': extras_require,
    'python_requires': '>=3.6,<4.0',
}


setup(**setup_kwargs)
