https://github.com/jtrim/mariner
A DSL for creating navigation structures based on the Rails routing table using Abyss.
https://github.com/jtrim/mariner
Last synced: 6 months ago
JSON representation
A DSL for creating navigation structures based on the Rails routing table using Abyss.
- Host: GitHub
- URL: https://github.com/jtrim/mariner
- Owner: jtrim
- License: mit
- Created: 2012-05-11T23:13:18.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2012-05-31T17:27:44.000Z (over 13 years ago)
- Last Synced: 2024-03-15T06:46:31.715Z (over 1 year ago)
- Language: Ruby
- Size: 195 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mariner
[](http://travis-ci.org/jtrim/mariner)
Mariner helps you manage your site's navigation through a friendly DSL.
## Installation
Add this line to your application's Gemfile:
gem 'mariner'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mariner
## Usage
Mariner helps you define trees of links through a friendly DSL:
Mariner.configure do
topbar do # <= arbitrarily-named
# Defining Urls is as easy as calling the
# Rails route helper you want to use:
root_path 'Home'
# by default, the above renders Home
dropdown do # <= also arbitrarily-named
# If you specify options, they're passed on to the renderer
destroy_user_session_path "Logout", "data-method" => :destroy
end
end
end
After creating your nav, render it in your views with:
<%= render_navigation :topbar %>
See Mariner::Helper for usage on `#render_navigation`. See also
`#render_navigations` and `#render_sub_navigations`.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes and tests (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request