- Ensure NodeJS is installed and
npm
is available on your PATH - If it isn't already, install the gulp cli globally
npm i gulp-cli -g
- Run
npm install
to install the project dependencies - Run
gulp
to launch the project in dev mode
- semistandard as a way to conform to the same coding styles. This is enforced during compilation.
- webpack for commonjs (node style) front-end javascript dependency management
- blue-js for a simple dom library alternative to jquery (optional)
- blue-widgets for creating class based 'widgets' that attach functionality to the dom (optional)
- ITCSS as a scalable CSS architecture
- Sass (Scss syntax) for CSS preprocessing
- BEM for selector naming
- Autoprefixer - a post-processing build task to avoid having to write vendor prefixes
- Scss files are automatically linted with our style rules in the .scss-lint.yml config
- Nunjucks for simple layouts and partials to avoid repetitive code
- Nunjucks pages and partials are automatically linted with our style rules in the .htmlhintrc config to catch some common errors
All the docs for your project live in ./docs
- everything is in markdown and is rendered to the end user using DocsHub, please have a read of those docs in order to understand how it works.
The default task runs the build in dev mode. Assets are copied or compiled to the ./www
folder and a browsersync+nunjucks dev server is launched which compiles the nunjucks templates on the fly and live reloads the pages when pages or assets change (far quicker than recompiling all templates every time)
Run a build in release mode. Instead of compiling all output to ./www
the assets are all compiled and minified to ./dist
. The nunjucks pages are compiled into html.
Same as the default dev build task, but minifies/uglifies CSS and JS and is therefore much slower. Useful for speed testing in dev mode.
Regenerate favicons (and nunjucks partial) from ./src/favicon.png
See release history for changelogs in order to manually upgrade to a new version