222e6d9ae0
This patch is to propose the workflow of customizing Horizon theme easily. Currently Horizon relies on DjangoScssFilter to preprocess all the scss files. The css styles such as color and font are mostly controlled by the variables specified in the the scss files (_variables.scss). In addition, Horizon mostly reuses bootstrap sass variables to define the styles. We leverage the current idea by injecting another level of variables to overwrite the current bootstrap/horizon variables such that developer can swap the theme easily. This patch includes several areas of code changes: 1. Introduce another static file subdirectory for developer to store custom themes. 2. Add an additional configuration in the settings.py for developer to load the theme to use. 3. Add an example new custom theme. 4. Refactor the current Horizon sass files such that they don't hardcode the style but are controlled by the variables instead. Implements: blueprint horizon-themes Change-Id: Id915b95b66d9aba97cdb41cc100bf7dc1d75afcd Co-Authored-By: Alan Fung <wingfung@cisco.com> Co-Authored-By: Kahou Lei <kahou82@gmail.com> Co-Authored-By: David Lyle <dklyle0@gmail.com> |
||
---|---|---|
.tx | ||
doc | ||
horizon | ||
openstack_dashboard | ||
tools | ||
.gitignore | ||
.gitreview | ||
.jshintrc | ||
.mailmap | ||
.pylintrc | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
Makefile | ||
manage.py | ||
MANIFEST.in | ||
openstack-common.conf | ||
README.rst | ||
requirements.txt | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Horizon (OpenStack Dashboard)
Horizon is a Django-based project aimed at providing a complete
OpenStack Dashboard along with an extensible framework for building new
dashboards from reusable components. The
openstack_dashboard
module is a reference implementation of
a Django site that uses the horizon
app to provide
web-based interactions with the various OpenStack projects.
- Release management: https://launchpad.net/horizon
- Blueprints and feature specifications: https://blueprints.launchpad.net/horizon
- Issue tracking: https://bugs.launchpad.net/horizon
Using Horizon
See doc/source/topics/install.rst
about how to install
Horizon in your OpenStack setup. It describes the example steps and has
pointers for more detailed settings and configurations.
It is also available at http://docs.openstack.org/developer/horizon/topics/install.html.
Getting Started for Developers
doc/source/quickstart.rst
or http://docs.openstack.org/developer/horizon/quickstart.html
describes how to setup Horizon development environment and start
development.
Building Contributor Documentation
This documentation is written by contributors, for contributors.
The source is maintained in the doc/source
directory
using reStructuredText and
built by Sphinx
Building Automatically:
$ ./run_tests.sh --docs
Building Manually:
$ tools/with_venv.sh sphinx-build doc/source doc/build/html
Results are in the doc/build/html
directory