Orkester

Orkester is a package manager and build system for static assets.

Features

  1. Packages should be self contained.
  2. Have dependencies
  3. Use sprockets to handle asset compilation and concatenation

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: http://code.jquery.com/jquery-1.11.0.js
    location: vendor/jquery
  - 
    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