A sensible baseline for simple web projects using HTML5 Boilerplate, SASS, Bourbon, Neat, and Gulp.
This project makes the following assumptions:
- You have Node and NPM installed. If you don't, you can install Node, which includes NPM by [downloading it here](https://nodejs.org/en/ title="Download Node and NPM").
- You have Gulp installed globally. If you don't, you can install it using NPM by typing
npm install -g gulp
in a terminal window.
Baseplate includes tasks for local development as well as readying your code for production.
- HTML includes
- normalize.css for consistent rendering
- Sass compilation and sourcemapping
- Bourbon Sass mixin library
- Neat semantic and simple grid framework
- JavaScript linting with JSHint
- jQuery latest via NPM
- Live reloading and local server via Browsersync
- HTML minification
- Script concatenation, uglifying, and sourcemapping
- CSS minification and concatenation
- Image optimization
You'll need Node.js, npm
and gulp
to work with Baseplate. If you don't already have Node.js installed, I recommend you install it via Node Version Manager. Even better, install brew and use that to install NVM!
NVM will also install npm
for you.
Once you've got Node and npm
, you'll need gulp:
$ npm install -g gulp
Now grab a copy of Baseplate and set it up.
$ git clone [email protected]:demersdesigns/baseplate.git
$ cd baseplate
$ npm install // install additional dependencies
Now you're ready to get going.
IMPORTANT: New files and edits to existing files should take place only within the app folder. Files in the .tmp and public folders are autmatically generated and will be overwritten when the gulp tasks are run.
There are two tasks that can be run. One is for local development purposes and the other is for production. The gulp dev
task will run the development processes listed in the product capabilities section above and will continue to watch for changes and refresh the browser accordingly. The gulp prod
task creates a public folder or cleans the existing public folder, runs the gup dev
tasks and then runs a few other tasks to get the code production-ready including minification and concatenation. This process attempts to get your code to a place where you can then layer in any CI and deployment tasks that you may need on a per-project basis.
$ gulp dev
This process will process the files in your app folder and will also create a .tmp folder. It will then open up a new browser window with your project in it. In the console, you will see both a local and an external URL that your site is available for viewing from.
All file edits you make are automatically reflected in any of the browsers that have your project open.
- When you are ready to create project files that are ready for a production environment, run the
gulp prod
task. - Once this process completes, the public folder will contain production-ready files.