diff --git a/doc/source/topics/settings.rst b/doc/source/topics/settings.rst index 094ef5414a..25ea290455 100755 --- a/doc/source/topics/settings.rst +++ b/doc/source/topics/settings.rst @@ -1209,6 +1209,14 @@ loaded on every page. This is needed for AngularJS modules that are referenced i A list of javascript spec files to include for integration with the Jasmine spec runner. Jasmine is a behavior-driven development framework for testing JavaScript code. +``ADD_SCSS_FILES`` +---------------------- + +.. versionadded:: 2015.2(Liberty) + +A list of scss files to be included in the compressed set of files that are +loaded on every page. We recommend one scss file per dashboard, use @import if +you need to include additional scss files for panels. ``DISABLED`` ------------ diff --git a/openstack_dashboard/templates/_stylesheets.html b/openstack_dashboard/templates/_stylesheets.html index 927b15ed85..bfa4f04f0c 100644 --- a/openstack_dashboard/templates/_stylesheets.html +++ b/openstack_dashboard/templates/_stylesheets.html @@ -15,6 +15,11 @@ css rules getting cut off if one css file to get more than 4k rules inside. {% compress css %} + +{% for file in HORIZON_CONFIG.scss_files %} + +{% endfor %} + {% endcompress %} diff --git a/openstack_dashboard/utils/settings.py b/openstack_dashboard/utils/settings.py index c374fd0bb3..2abcbfdc3f 100644 --- a/openstack_dashboard/utils/settings.py +++ b/openstack_dashboard/utils/settings.py @@ -103,6 +103,7 @@ def update_dashboards(modules, horizon_config, installed_apps): angular_modules = [] js_files = [] js_spec_files = [] + scss_files = [] panel_customization = [] update_horizon_config = {} for key, config in import_dashboard_config(modules): @@ -121,6 +122,7 @@ def update_dashboards(modules, horizon_config, installed_apps): js_files.extend([f for f in config.get('ADD_JS_FILES', []) if f not in existing]) js_spec_files.extend(config.get('ADD_JS_SPEC_FILES', [])) + scss_files.extend(config.get('ADD_SCSS_FILES', [])) update_horizon_config.update( config.get('UPDATE_HORIZON_CONFIG', {})) if config.get('DASHBOARD'): @@ -144,4 +146,5 @@ def update_dashboards(modules, horizon_config, installed_apps): horizon_config.setdefault('angular_modules', []).extend(angular_modules) horizon_config.setdefault('js_files', []).extend(js_files) horizon_config.setdefault('js_spec_files', []).extend(js_spec_files) + horizon_config.setdefault('scss_files', []).extend(scss_files) installed_apps[0:0] = apps