Add ability to customize theme styles

Showcases how different themes/styles can be supported using
.env variables. If an environemnt name is specified during
the build process, an overrides file will be pulled in to
allow modifications to color and font definitions.

This commit includes possible style modifications with the openpower
env name as an example. To see the openpower changes, add the variable
definition VUE_APP_NAME="openpower" to your .env.development.local file
or build using 'npm run build -- --mode openpower'

- Moves helper imports into vue config to allow for
  specific import order
- Removed helper imports in SFCs

Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Change-Id: Iaf7a59c24fda06a7b74e23f2f042fb3300cb2056
27 files changed
tree: ce816f9b249b1eb6ebcf6448d18752f12cbaf9de
  1. .github/
  2. docs/
  3. public/
  4. src/
  5. tests/
  6. .browserslistrc
  7. .env.intel
  8. .env.openpower
  9. .eslintrc.js
  10. .gitignore
  11. .npmrc
  12. babel.config.js
  13. CONTRIBUTING.md
  14. format-code.sh
  15. jest.config.js
  16. LICENSE
  17. MAINTAINERS
  18. package-lock.json
  19. package.json
  20. postcss.config.js
  21. README.md
  22. vue.config.js
README.md

webui-vue

webui-vue is a web-based user interface for the OpenBMC firmware stack built on Vue.js.

Hold on... What happened to phosphor-webui?

phosphor-webui was built on AngularJS and AngularJS goes End of Life June 30, 2021, so this repository is hopefully its replacement. At this time, phosphor-webui still contains more features and you should consider using it.

When will this new Vue.js application reach feature parity with phosphor-webui?

The current plan is by the end of June 2020, with exception to the following pages:

  • Firmware
  • SNMP settings
  • KVM
  • Virtual media

Why will this application be better?

As mentioned, this application is built using Vue.js, a modern open-source Model-View-ViewModel JavaScript framework supported by an active community and strong documentation. It has been architected to allow organizations to easily update the theme to support their brand. This rewrite takes advantage of front-end development best practices and does not suffer from some of the anti-patterns that exist in phosphor-webui today.

How can I get involved?

Documentation

The documentation for coding standards and components is located in the docs directory. It is created using the VuePress static site generator. Information about how to write documentation can be found on the VuePress website.