Orkester

Orkester is a very simple package manager and build system from static assets.

Features

  1. Create self contained packages containing all javascripts and stylesheets
  2. Use sprockets to handle asset compilation and concatenation
  3. Manage dependencies transparently

Installation

Add this line to your application's Gemfile:

gem 'orkester', git: "[email protected]:abhishiv/orkester.git"

And then execute:

$ bundle

Usage

### Project structure

Packages dir in root/packages or app/packages if using with rails.

|-- another dependency
|   |-- javascripts
|   |   `-- main.js.coffee
|   `-- package.yaml
|-- main
|   |-- index.html
|   |-- javascripts
|   |   |-- main.js.coffee
|   |   `-- views
|   |       `-- main.js.coffee
|   |-- package.yaml
|   `-- stylesheets
|       `-- main.css.sass

### Package.yaml

name: main
dependencies:
  - 
    name: jquery
    remote_location: http://code.jquery.com/jquery-1.11.0.js
    install_location: vendor/jquery
    type: "javascripts"
  - 
    name: dependency2

### Sprocket support

root/packages/#{PACKAGE_NAME}/javascripts/main.js
    #= require_tree ./views
    $(document).ready () =>
      console.log 1

### Running

For a non rails project, navigate to root of your project, and run orkester serve -p 3333

Package should be vieweable at /orkester/#{PACKAGE_NAME}/info

/orkester/#{PACKAGE_NAME}/javascripts/main.js and /orkester/#{PACKAGE_NAME}/stylesheets/main.css includes all of its js/css, and of its dependencies. 

From Rails you also have helpers to include a package

  <%= orkester_include_package "main" %>

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request