Add this line to your application's Gemfile:
gem 'drink-menu'
And then execute:
$ bundle
Or install it yourself as:
$ gem install drink-menu
Drink Menu separates menu layout from menu definition. Menu definition looks like:
class MainMenu
extend DrinkMenu::MenuBuilder
menuItem :progress do |item|
end
menu :sites_list, itemsFromCollection: Staticly.sitesList, titleProperty: :name
menuItem :open_site, title: 'Open Site', submenu: :sites_list
menuItem :create_site, title: 'Create Site'
menuItem :export, title: 'Export to Folder...'
menuItem :import, title: 'Import Folder as Site...'
menuItem :force_rebuild, title: 'Force Rebuild'
menuItem :about, title: 'About Staticly'
menuItem :quit, title: 'Quit'
iconImage = NSImage.imageNamed "status-icon-off"
iconImage.template = true
end
and then layout is as simple as:
class MainMenu
extend DrinkMenu::MenuBuilder
statusBarMenu :main_menu, icon: iconImage, statusItemViewClass: StatusItemView do
open_site
create_site
___
export
import
force_rebuild
___
about
quit
end
end
See the example for basic usage. More detailed documentation & examples coming soon.
See my recent blog post for a bit more information.
To run our example apps:
- Clone this repo
- From within your clone's root, run
platform=osx example=basic_main_menu rake
You can replace the value of example
with any folder under the examples
directory to run that example.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request