Mozilla Foundation Bootstrap 4 theme.
For the moment it's recommended that you use one of two methods to include the compiled mofo-bootstrap CSS in your project:
package.json
for an npm-managed project by running npm install mofo-bootstrap --save
. You can then point your build system at the compiled CSS which resides at node_modules/mofo-bootstrap/dest/css/mofo-bootstrap.css
. This is the preferred method.http://mozilla.github.io/mofo-bootstrap/dest/css/mofo-bootstrap.css
from your HTML. This is not recommended for production, but is OK for prototyping or test purposes. Eventually we will put the CSS on a proper CDN.It's not currently advisable that you extend and compile the mofo-bootstrap SCSS in your project. SCSS doesn't (currently) allow for dynamic import paths, which complicates things when mofo-bootstrap becomes a module. We're working on a reasonable approach for allowing this...
Run the following commands in your terminal:
git clone https://github.com/mozilla/mofo-bootstrap.git && cd mofo-bootstrap
npm i
npm start
dest/ <- Contains compiled code. Don't edit anything in this folder!
src/
├── index.pug <- Template for demo page (Creates: dest/index.html)
└── scss/
├── custom/ <- SCSS for non-Bootstrap modules.
| └── components/ <- SCSS for custom components.
├── overrides/ <- SCSS modules that override or extend Bootstrap components.
├── demo.scss <- SCSS specific to the demo page.
└── mofo-bootstrap.scss <- Primary entry point that defines all imports.
hyphenated-lowercase
_
)/src/scss/overrides/_type.scss
and bootstrap/scss/_type.scss
)To lint your Sass code, run npm run test:sass
Travis is connected to this task and your pull requests will fail if this test doesn't pass locally.
Deployment is run automatically after npm version
is invoked as part of the postversion
script.
The npm run deploy
command will deploy a demo page and compiled CSS for the library to the gh-pages
branch of the origin
remote. It will use the latest code on the master
branch of the origin
remote. It's not recommended to run it on its own, because doing so can result in the deployed demo and library not matching the latest published package in npm.