Shell script to quickly setup a project using html5boilerplate and twitter bootstrap.
html5boilerplate + twitter bootstrap is a super combo.
Here is what I usually do to setup a project using html5boilerplate and twitter bootstrap. Following assumes a build process and relies on bootstrap’s less files.
Bootstrap’s reset is droped in profit of h5bp’s normalize.
A single style.css file is used, h5bp’s style.css is renamed to h5bp.css, bootstrap less compile step outputs to bootstrap.css and an app.css is there to setup site’s specific CSS rules.
The style.css file relies on @import
, so it assumes the use of a build
process, to inline and minify these import in a single file.
Following assumes you have both git and npm (so node too) installed and available in your path.
h5bp-plus-bootstrap is a simple (and dumb) shell script, so you can drop it somewhere in your $PATH. It’s particularly handy if you have a collection of dotfiles and bin helpers.
Relatadely, it is bundled as an npm package, so you may use npm instead to perform the install.
Through npm:
npm install https://gist.github.com/gists/1422879/download -g
Just run h5bp-plus-boostrap
. You’ll be prompted for a directory name,
then by npm when the npm init
is run.
→ build
| → config
| → tools
→ css
| → less
→ examples
→ img
→ js
| → libs
| → mylibs
lib/
folder to css/less/
(or any other path you’d
like, following assumes css/less/
)css/less
, edit the bootstrap.less file and remove the @import
"reset.less";
line.css
, rename h5bp’s style.css
to h5bp.css
.css/style.css
file.Add the following:
/* =============================================================================
CSS App imports.
These imports are inlined and minified by the build script. If
you don't intend to use a build script, do not use @import
statements. Use a single style.css file with h5bp's style first,
then bootstrap.css, then your specific CSS files.
h5bp's style first.
========================================================================== */
@import url('h5bp.css');
@import url('bootstrap.css');
@import url('app.css');
css/app.css
. This file is where you’ll put your site’s
specific CSS rules.npm init
and follow
instructions)."private": true
props so that you don’t
accidently publish to npm registry. You may kill off
any of the props except from name/version ones.package.json:
{
"name": "foobar",
"description": "fancy description",
"version": "0.0.1",
"dependencies": {
"less": "~1.1.5"
},
"scripts": {
"less": "./node_modules/.bin/lessc --compress ./css/less/bootstrap.less > css/bootstrap.css"
}
}
Command is ./node_modules/.bin/lessc --compress ./css/less/bootstrap.less > css/bootstrap.css
.