• Stars
    star
    1,403
  • Rank 33,517 (Top 0.7 %)
  • Language
    JavaScript
  • License
    Other
  • Created almost 13 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Create front end projects from templates, add dependencies, and automate the resulting projects

Create browser-based, front-end projects from project templates, and add dependencies by fetching them from GitHub. Once your project is set up, automate common tasks.

volo is dependency manager and project creation tool that favors GitHub for the package repository.

At its heart, volo is a generic command runner -- you can create new commands for volo, and you can use commands others have created.

By default, volo knows how to:

Prerequisites

  • Node 0.6.5 or later installed.

If you are using Ubuntu, then you may need to apt-get install nodejs-legacy too.

Install

volo requires Node to run. Node includes npm, a package manager for node code. To install volo:

npm install -g volo

If you get an error when running that command, and it contains this line somewhere in it:

npm ERR! Please try running this command again as root/Administrator.

You will need to run the install via sudo:

sudo npm install -g volo

Usage

volo can use GitHub to retrieve code, so one of the core concepts when using it is understanding user/repo for archive names. See the add doc for more info on the types of archive names to use.

AMD project example

To set up an AMD/RequireJS-based project called fast that uses AMD versions of Backbone, jQuery and underscore:

> volo create fast (uses [volojs/create-template](https://github.com/volojs/create-template) for project template)
> cd fast
> volo add jquery (uses jquery/jquery as the repo)
> volo add underscore (uses amdjs/underscore as repo since an AMD project)
> volo add backbone (uses amdjs/backbone as repo since an AMD project)

Then modify www/js/app.js to require the modules you need and add your app logic.

The above example uses the amdjs/underscore and amdjs/backbone versions of those libraries, which include integrated AMD support.

Browser globals project example

To set up an HTML5 Boilerplate project that does not use AMD/RequireJS, but does use documentcloud repos of Backbone and Underscore (the Boilerplate already has jQuery):

> volo create html5fast html5-boilerplate (pulls down latest tag of that repo)
> cd html5fast
> volo add underscore (uses documentcloud/underscore as repo)
> volo add backbone (uses documentcloud/backbone as repo)

Updating a previously added library

There is no "update" command in Volo. However, updating a library is simple:

> volo add -f underscore

This will delete your local copy of underscore and then re-add underscore.

Library Best Practices

To work well with volo, here are some tips on how to structure your library code:

Details

Engage

More Repositories

1

create-template

The sample single page app project template, uses RequireJS
JavaScript
413
star
2

create-responsive-template

volo template to set up a responsive web app based on the Twitter Bootstrap
JavaScript
58
star
3

grunt-volo

Use volo inside grunt for fetching code dependencies from GitHub
JavaScript
17
star
4

volo-appcache

A volo command for generating an appcache manifest
JavaScript
8
star
5

repos

Supplemental information for repos on GitHub that do not have usable package.json files
8
star
6

volo-ghdeploy

A volo command for deploying a directory to GitHub Pages
JavaScript
8
star
7

test-gh-app

test app trying the github pages
JavaScript
2
star
8

test-type-directory

Tests the use of volo.type = "directory" for an added dependency.
JavaScript
1
star
9

volo-npm

volo package structure for npm deployment
JavaScript
1
star
10

test-package-download

Tests a JS project that has a package.json with a volo.url property pointing to github downloads zip file.
JavaScript
1
star
11

test-noversionjson

Tests a repo that has a version tag already, but no package.json in it, so fall back to the master branch's package.json
1
star
12

test-nomaster

Tests a repo with a develop branch set as its "master", and does not have version tags.
1
star
13

create-command-template

Template for creating volo commands
JavaScript
1
star
14

ghvolo

A command line tool that uses volo as a library to do searches and resolutions of github IDs for front end/browser-based web dependencies.
JavaScript
1
star
15

test-master-downloadfragment

Tests a JS project that has a package.json with a volo.url property pointing to a master download URL with a fragment ID on the end.
JavaScript
1
star
16

test-mainsinglebuilt

Test directory with a single built file that when fetched with fragment ID should only get the file not a directory
JavaScript
1
star
17

test-directory-main

Tests a directory with a package.json and a main, but no dependencies or volo config.
JavaScript
1
star
18

test-master-download

Tests a JS project that has a package.json with a volo.url property pointing to a master download URL
JavaScript
1
star