This library is an extension of Bootstrap 4 for use with edX and openEdX.
Using npm:
npm install --save @edx/edx-bootstrap
1. Clone your new repo:
``git clone https://github.com/openedx/edx-bootstrap.git``
2. Use node v18.x.
The current version of the micro-frontend build scripts support node 18.
Using other major versions of node *may* work, but this is unsupported. For
convenience, this repository includes an .nvmrc file to help in setting the
correct node version via `nvm <https://github.com/nvm-sh/nvm>`_.
3. Install npm dependencies:
``cd edx-bootstrap && npm ci``
Add the following import in your project's base scss file:
@import "~@edx/edx-bootstrap/scss/edx/theme.scss";
Or for Open edX users:
@import "~@edx/edx-bootstrap/scss/open-edx/theme.scss";
This includes everything you need. Bootstrap is included so you don't need to add it in your project. If you need more control, see the theming section.
Alternatively, you can download this repo and use one of the compiled outputs:
dist/open-edx/theme.css
(Open edX bootstrap, extensions, & theme)dist/edx/theme.css
(edX bootstrap, extensions, & theme)dist/core/core.css
(edX bootstrap & extensions only)
The content of a theme.scss file:
// Optional
@import "my-fonts";
@import "my-variables";
// Required core (includes bootstrap and extensions)
@import "@edx/edx-boostrap/scss/core/core.scss";
// The rest of your scss
// ...
To create a theme, make a copy of the scss/open-edx
folder in your own project
and make changes. Then include it before you include edx-bootstrap:
@import "fonts";
@import "variables";
// If you are creating your own theme remove
// the "../core/core" import with the line below.
@import "../core/core";
// @import "@edx/edx-boostrap/scss/core/core.scss";
@import "overrides";
If you’re having trouble, you can ask in the front-end channel on Slack or contact the Frontend Working Group:
The code in this repository uses the Apache 2.0 license unless otherwise noted. Please see the LICENSE file for details.
Documentation details can be found in the docs index.rst.
Contributions are very welcome, but for legal reasons, you must submit a signed individual contributor agreement before we can accept your contribution. See our CONTRIBUTING file for more information – it also contains guidelines for how to maintain high code quality, which will make your contribution more likely to be accepted.
Please do not report security issues in public. Please email [email protected].