Voxel ⭐
A minimal theme.
The live demo is hosted on Heroku at voxel-rsr.herokuapp.com/dist.
This project depends on the following tools:
🎩 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!
🎩 Tip If you have global installations of bower
and gulp
, then you can avoid typing the ./node_modules/.bin/
bit.
🎩 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://
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.
🎩 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.
🎩 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.
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
🎩 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.
🎩 Tip The heroku ps:scale web=1
will spin up a dyno under the free plan.
🎩 Tip The #75
above is the release tag for the project. Use the latest tag for best results.
🎩 Tip The non-minified version of this project is also deployed to Heroku at voxel-rsr.herokuapp.com/app.
See license.md.
HexIcons courtesy ExpanseLook.
Color theme palette courtesy Google Material Design Colors.
HTML example page courtesy Poole.