“There are only two hard things in Computer Science: cache invalidation and naming things – Phil Karlton”
As you can spend hours in scheming name patterns, structure and conventions we only advice to follow the BEM principles but using as a separator one dash only and always lowercase format: blockname-elementname.
We try to make our live as easy as possible. For this reason we implemented Gulp JS as task runner instead of Grunt as we prefer code over configuration. There are some helpful commands available:
- gulp runs gulp lint browser and watch commands
- gulp images optimised images within /static/img
- gulp browser connects to a given server (django) and runs livereload on http://0.0.0.0:3000
- gulp watch starts a watch command for linting
We are implementing the following additional Bootstrap plugins into the setup:
You can use any editor you want, to make your life a bit easier we implemented EditorConfig into the boilerplate’s root .editorconfig.
We are implementing the following standard libraries in addition to the default requirements from Bootstrap:
We implemented Bower to help you manage dependencies. Packages are automatically downloaded into /static/vendor/ but not moved to their appropriate folders. This still requires manual work.
We currently implemented a basic test framework within static/js/tests using QUnit. YOu can simply run tests using the Gulp command gulp tests.