Provides a front-end framework for easier integration of the EPFL graphic charter.
Developers: Julien Ramboz, Francesco De RoseMaintainers: Olivier Bieler, William BelleBackup: Gregory CharmierUser Documentation: EPFL Bootstrap, BlogTechnical Documentation: ConfluenceGit: kis-bootstrap
See the infrastructure page on Confluence.
You will need a recent version of nodejs (>=8.0.0). You can install it via nvm.
If not already installed, also add:
brew update && brew install fontforge ttfautohint sudo gem install sass sudo npm install -g phantomjs casperjs sudo npm install -g grunt-cli bower
On Linux use sudo apt-get install ... instead of brew.
sudo apt-get install ...
sudo apt-get install nodejs npm nodejs-legacy sudo apt-get install gem ruby sudo apt-get install fontforge ttfautohint sudo gem install sass sudo npm install -g phantomjs casperjs sudo npm install -g grunt-cli bower sudo rm -rf ~/tmp
Then, to get started on the project:
git clone git@github.com:epfl-idevelop/kis-bootstrap.git cd kis-bootstrap npm install bower install
The application folder is organised as follows:
app/
app/doc
app/doc/styleguide
app/doc/styleguide/_theme
app/images
app/images/icons
app/images/sprites
app/includes
app/scripts
app/scripts/plugins
app/scripts/ui-lib
app/styles
app/templates
app/vendor
build/
release/
tests/
tools/
bower.json
Gruntfile.coffee
package.json
README.md
Various grunt tasks are available for the project. They are as follows:
grunt
grunt release-staging
grunt build
grunt build-ci
grunt build-opt
grunt serve
grunt serve-opt
grunt test
grunt test-ci
grunt test-opt
grunt bump:patch
grunt bump:minor
grunt bump:major
grunt compress
To start the development server (non-optimized files):
To start the production server (optimized files):
grunt serve-opt --force
Edit the following files:
app/includes/epfl-header-panels.en.html app/includes/epfl-header-panels.fr.html
To test the library using the default non-optimized require loading:
To test the library using the optimised single-file require loading:
grunt test-opt --force
Check the changes since the last release (vX.Y.Z):
git shortlog vX.Y.Z..HEAD
Update the changelog accordingly, and then:
grunt bump:patch (or minor/major)
For staging, do:
grunt release-staging grunt compress scp release/*.tgz kis@exopgesrv1.epfl.ch:~
or for production:
grunt grunt compress scp release/*.tgz kis@kissrv104.epfl.ch:~ scp release/*.tgz kis@kissrv105.epfl.ch:~
Finally execute this command on each infrastructure
~/app.sh deploy epfl-bootstrap-vX.Y.Z-release.tgz
In case a problem in production occurs on the current version do a roll back
~/app.sh rollback 0.15.0 rm -rf ~/static.epfl.ch/v0.16.0/ ~/app.sh deploy epfl-bootstrap-v0.16.0-release.tgz
git tag -a v<version> -m "Version <version>" git push --tags
and don't forget to post release info on the blog.
Bootstrap
Provides a front-end framework for easier integration of the EPFL graphic charter.
Developers: Julien Ramboz, Francesco De Rose
Maintainers: Olivier Bieler, William Belle
Backup: Gregory Charmier
User Documentation: EPFL Bootstrap, Blog
Technical Documentation: Confluence
Git: kis-bootstrap
Infrastructure
See the infrastructure page on Confluence.
Setup
Prerequisites
You will need a recent version of nodejs (>=8.0.0). You can install it via nvm.
If not already installed, also add:
On Linux use
sudo apt-get install ...
instead of brew.Project installation
Then, to get started on the project:
git clone git@github.com:epfl-idevelop/kis-bootstrap.git cd kis-bootstrap npm install bower install
Project structure
The application folder is organised as follows:
app/
app/doc
app/doc/styleguide
app/doc/styleguide/_theme
app/images
app/images/icons
app/images/sprites
app/includes
app/scripts
app/scripts/plugins
app/scripts/ui-lib
app/styles
app/templates
app/vendor
build/
release/
tests/
tools/
bower.json
Gruntfile.coffee
package.json
README.md
Grunt tasks
Various grunt tasks are available for the project. They are as follows:
grunt
grunt release-staging
grunt build
grunt build-ci
grunt build-opt
grunt serve
grunt serve-opt
grunt test
grunt test-ci
grunt test-opt
grunt bump:patch
grunt bump:minor
grunt bump:major
grunt compress
release/
Build
To start the development server (non-optimized files):
To start the production server (optimized files):
Updating the global header
Edit the following files:
Test
To test the library using the default non-optimized require loading:
grunt test
To test the library using the optimised single-file require loading:
grunt test-opt --force
Deploy
Check the changes since the last release (vX.Y.Z):
Update the changelog accordingly, and then:
For staging, do:
or for production:
Finally execute this command on each infrastructure
In case a problem in production occurs on the current version do a roll back
~/app.sh rollback 0.15.0 rm -rf ~/static.epfl.ch/v0.16.0/ ~/app.sh deploy epfl-bootstrap-v0.16.0-release.tgz
Tagging
git tag -a v<version> -m "Version <version>" git push --tags
and don't forget to post release info on the blog.
Useful links