Awesome
Voxel :star:
A minimal theme.
:star: Live demo
The live demo is hosted on Heroku at voxel-rsr.herokuapp.com/dist.
:rowboat: Get started
This project depends on the following tools:
:tophat: Tip Use nvm and rvm for easy management of NodeJS and Ruby installations.
git clone git@github.com:rishabhsrao/voxel.git voxel
cd voxel
npm install
bundle install
./node_modules/.bin/bower install
./node_modules/.bin/gulp serve && say awesome # Only on Mac OSX; use espeak on GNU/Linux. Windows users, sorry, no awesomeness for you!
:tophat: Tip If you have global installations of bower
and gulp
, then you can avoid typing the ./node_modules/.bin/
bit.
:tophat: Tip Downloading dependencies over git://
may be blocked if you are behind a firewall. The solution is to configure Git to use https://
instead of git://
. Run the following to force Git to use HTTPS:
git config url.https://.insteadOf git://
# Undo using git config unset url.https://
:nut_and_bolt: Build
This project is built using Gulp.
You can run a task using ./node_modules/.bin/gulp {{task-name}}
. The following build tasks are available:
- build Creates a build artifact, ready for deployment.
- clean:deploy Cleans all generated artifacts, except the distribution artifact.
- clean Cleans the distribution artifact and any other generated artifacts.
- image:minify Compresses the image files using gulp-imagemin.
- script:lint Lints the JavaScript files using JSHint.
- script:minify:json Minifies the JSON files using JSON Minify.
- script:minify Minifies the JavaScript files using UglifyJS.
- script:optimize Combines and optimizes all RequireJS modules into one file using RequireJS Optimizer.
- script:test:report Uploads the code coverage report to Coveralls.
- script:test:unit Runs the JavaScript unit tests using Karma and Jasmine.
- script:test Runs all the JavaScript tests.
- serve Starts a web server with live-reload support using BrowserSync.
- source Copies the source files in the distribution artifact.
- style:compile Compiles the Sass files using Compass.
- style:lint Lints the Sass files using SCSS-Lint.
:tophat: Tip It's a good idea to occasionally run:
git gc
npm prune && npm install
bower prune && bower install
bundle clean --force && bundle install
... to keep your repository lean and mean.
:tophat: Tip The environment variable, VOXEL_CI
, must be set in Travis. It is used to control how Gulp builds the project, for example, sending operating system build notifications.
:rocket: Deploy
This project is continuously deployed to Heroku at voxel-rsr.herokuapp.com/dist using a NodeJS buildpack by Travis, whenever a new tag is pushed. This should be configured only once using the Heroku toolbelt:
heroku create voxel-rsr
heroku ps:scale web=1 --app voxel-rsr
heroku config:set BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs#v75 --app voxel-rsr
:tophat: Tip You will need to authenticate Travis with Heroku by adding an API key using:
bundle exec travis encrypt $(heroku auth:token) --add deploy.api_key
... which will update .travis.yml
with an encrypted Heroku API key.
:tophat: Tip The heroku ps:scale web=1
will spin up a dyno under the free plan.
:tophat: Tip The #75
above is the release tag for the project. Use the latest tag for best results.
:tophat: Tip The non-minified version of this project is also deployed to Heroku at voxel-rsr.herokuapp.com/app.
:scroll: License
See license.md.
HexIcons courtesy ExpanseLook.
Color theme palette courtesy Google Material Design Colors.
HTML example page courtesy Poole.