NAME ---- ro TL;DR -----

    ro
    ├── people
    │   ├── ara
    │   │   ├── assets
    │   │   │   ├── ara-glacier.jpg
    │   │   │   └── source
    │   │   │       └── a.rb
    │   │   ├── attributes.yml
    │   │   └── bio.md.erb
    │   └── noah
    │       └── attributes.yml
    └── posts
        ├── foobar
        ├── hello-world
        │   ├── attributes.yml
        │   └── body.md
        └── second-awesome-post
            ├── attributes.yml
            └── body.md

```ruby ro #=> all the content nodes ro.posts #=> all the post nodes ro.people #=> all people nodes ro[:people] #=> same thing ro.people.ara #=> data for the person named 'ara' ro[:people][:ara] #=> same thing ro['people']['ara'] #=> same thing ro.people.ara.first_name #=> give you *one* guess ;-) ! ro.people.ara.url_for('ara-glacier.jpg') #=> external timestamped url for this asset ro.people.ara.source('a.rb') #=> syntax highlighted source yo! ro.posts.find('second-awesome-post').body #=> html-z yo ro.people.ara.related(:posts) #=> all related posts ro.people.ara.related(:featured_posts) #=> all featured posts ``` TRY --- ```bash ~ > git clone https://github.com/ahoward/ro.git ~ > cd ro ~> ./bin/ro console a:~/git/ahoward/ro $ ./bin/ro console Ro(./ro):001:0> ro.people => [people/ara, people/noah] Ro(./ro):002:0> ro.people.ara => people/ara Ro(./ro):003:0> ro.people.ara.first_name => "Ara" Ro(./ro):004:0> ro.people.ara.bio => "\n\n

pretty syntax highlighting

\n
  @a = 42\n
\n

Ara

\n\n

/ro/people/ara/assets/ara-glacier.jpg?_=1382999368

\n" Ro(./ro):005:0> ro.people.ara.url_for('ara-glacier') => "/ro/people/ara/assets/ara-glacier.jpg?_=1382999368" Ro(./ro):006:0> ro.people.ara.related => [posts/hello-world, posts/second-awesome-post] Ro(./ro):007:0> ro.people.ara.related.posts => [posts/hello-world, posts/second-awesome-post] Ro(./ro):008:0> ro.people.ara.related(:featured_posts) => [posts/second-awesome-post] ``` DESCRIPTION ----------- ro is library for managing your site's content in git, as god intended. it features: - super fast loading via a robust caching/promise strategy - *all* teh templates supported via tilt (https://github.com/rtomayko/tilt) - the awesomest markdown ever, with syntax highlighting and even erb evaluation - an awesome command line tool for introspecting your data (./ro console) - data driven relationships ro is the *perfect* companion to a site built by a static site generator such as middleman (http://middlemanapp.com/). especially a middleman site with a companion rails' application doing concurrent modifications of the site's content... ;-) INSTALL ------- gem install ro CONFIG ------ if you are using the url methods you'll need to make sure your application can route to the assets. by default ro assumes that the urls it generates are routeable under '/ro' so it is up to you to make sure this works. for a rails app this might mean writing a 'RoController' or, more simply, just putting your ro data in ./public/ro. for a middleman app this might mean putting your ro data in ./source/ro. if you choose a non-standard approach you'll need to ``` Ro.route = '/my-custom-route' ``` in all cases ro urls will be prefixed by the route, so be sure that this prefix is either automatically, or manually, exposed. DOCS ---- RTFC