From c9823a72f71ed299daa4bb89e810d15efb722d38 Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Sun, 21 Jul 2013 17:03:56 -0700 Subject: [PATCH] assets: add support for specifying additional source load paths --- assets/Readme.rst | 12 ++++++++++++ assets/assets.py | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/assets/Readme.rst b/assets/Readme.rst index a61959f..29a0d32 100644 --- a/assets/Readme.rst +++ b/assets/Readme.rst @@ -76,5 +76,17 @@ LessCSS's binary: ASSET_CONFIG = (('closure_compressor_optimization', 'WHITESPACE_ONLY'), ('less_bin', 'lessc.cmd'), ) +If you wish to place your assets in locations other than the theme output +directory, you can use ``ASSET_SOURCE_PATHS`` in your settings file to provide +webassets with a list of additional directories to search, relative to the +theme's top-level directory. For example: + +.. code-block:: python + + ASSET_SOURCE_PATHS = ( + 'vendor/css', + 'scss', + ) + .. _Webassets: https://github.com/miracle2k/webassets .. _Webassets documentation: http://webassets.readthedocs.org/en/latest/builtin_filters.html diff --git a/assets/assets.py b/assets/assets.py index 3b3e9c9..eec0811 100644 --- a/assets/assets.py +++ b/assets/assets.py @@ -49,6 +49,14 @@ def create_assets_env(generator): if logging.getLevelName(logger.getEffectiveLevel()) == "DEBUG": generator.env.assets_environment.debug = True + if 'ASSET_SOURCE_PATHS' in generator.settings: + # the default load path gets overridden if additional paths are + # specified, add it back + generator.env.assets_environment.append_path(assets_src) + for path in generator.settings['ASSET_SOURCE_PATHS']: + full_path = os.path.join(generator.theme, path) + generator.env.assets_environment.append_path(full_path) + def register(): """Plugin registration."""