Grat is a minimal content management dealy.
It runs on Rack and uses MongoDB for wicked flexibility.
Woo.
Use it like so:
-
Install gem (may need to set up gemcutter)
-
Fresh directory
-
config.ru file containing:
require 'rubygems' require 'rack' require 'grat' Grat.database_conf # uses defaults, database=grat_development # to override: # Grat.database_conf(:host => 'localhost', :database => 'grat_special') use Rack::ShowExceptions # <- Up to you. run Grat::Application
-
rackup (or passenger, if you know how)
-
localhost:9292/__admin/edit/mypage edits a page that will be available at localhost:9292/mypage
-
localhost:9292/__admin/ for a list of all pages
-
localhost:9292/__admin/export to get a json dump of all pages
-
localhost:9292/__admin/import to import one of those dumps
-
Protect from writes by strangers with Rack::If
# http://github.com/samsm/Rackif use Rack::If, {:method => /(POST)|(PUT)|(DELETE)/, :path => /__admin/}, :any do use Rack::Auth::Basic, "Grat protected" do |username, password| 'secret' == password end end
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but
bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2009 Sam Schenkman-Moore. See LICENSE for details.