The docs
folder is for demo purposes only.
Changes should be commited to src
files only.
The dist
folder is not kept in source control.
The template is built with Sass and Gulp build system with these features:
- Handlebars HTML templates with Panini – a super simple flat file generator for use with Gulp. It compiles a series of HTML pages using a common layout. These pages can also include HTML partials, external Handlebars helpers, or external data as JSON or YAML.
- Sass compilation, prefixing with autoprefixer, and javaScript concatenation
- Built-in BrowserSync server - will automatically reload your page when files are changed. It also live-injects CSS changes when you save a Sass file. This task runs continuously and defaults to localhost.
- For production builds - CSS compression, JavaScript compression, Image compression and more.
To use this template, your computer needs:
- Node.js is used to run the build processes. https://nodejs.org/en/download/
- Run
node -v
in the terminal - npm (Node comes with npm installed so you should have a version of npm.) Used to manage development dependencies.
- Run
npm -v
in the terminal - Gulp – task runner
npm install -g gulp
- Run
gulp -v
in the terminal
- Clone this repo:
git clone https://github.com/johndavemanuel/bootstrap-gulp-starter-template.git
- Navigate into the repo directory:
cd bootstrap-gulp-starter-template
- Install all node packages:
npm install
- Run
gulp development
- Your site is now viewable at this URL: http://localhost:3000
- To create compressed, production-ready assets run
gulp production
. This will delete everything in the dist folder and recreate all of your complied files. Never make updates directly into the dist folder as these files get overridden each time.
dist/
- compiled distribution filesnode_modules
- front-end dependenciessrc/
- contains all of your core, working files—static assets, pages, templates, etcsrc/assets/
- scss files, JS files, images, and fontssrc/data/
- external data (JSON or YAML)src/layouts/
- HTML layouts templatessrc/pages/
- site pagessrc/partials/
- handlebars partials files.gulpfile.js
- all task definitionspackage.json
- handles the project dependencies.htmllintrc
- handles the HTML lint rules.sass-lint.yml
- handles the SCSS lint rulesreports
- txt generated file for accessibility issues
- gulp-accessibility
- gulp-autoprefixer
- gulp-compile-handlebars
- gulp-concat
- gulp-cssmin
- gulp-gh-pages
- gulp-html-replace
- gulp-htmllint
- gulp-imagemin
- gulp-jshint
- gulp-newer
- gulp-pretty-html
- gulp-purgecss
- gulp-remove-code
- gulp-remove-logging
- gulp-rename
- gulp-sass
- gulp-sass-lint
- gulp-sourcemaps
- gulp-uglify
- gulp-babel