== Camping, a Microframework Camping is a web framework which consistently stays at less than 3kb of code. You can probably view the complete source code on a single page. But, you know, it's so small that, if you think about it, what can it really do? The idea here is to store a complete fledgling web application in a single file like many small CGIs. But to organize it as a Model-View-Controller application like Rails does. You can then easily move it to Rails once you've got it going. == A Camping Skeleton A skeletal Camping blog could look like this: require 'camping' Camping.goes :Blog module Blog::Models class Post < Base; belongs_to :user; end class Comment < Base; belongs_to :user; end class User < Base; end end module Blog::Controllers class Index def get @posts = Post.find :all render :index end end end module Blog::Views def layout html do head { title "My Blog" } body do h1 "My Blog" self << yield end end end def index for post in @posts h1 post.title end end end == Installation Interested yet? Luckily it's quite easy to install Camping. We'll be using a tool called RubyGems, so if you don't have that installed yet, go grab it! Once that's sorted out, open up a Terminal or Command Line and enter: * <tt>gem install camping</tt> Or for the bleeding edge: * <tt>gem install camping --source http://gems.judofyr.net</tt> Camping itself only depends on Rack[http://rack.rubyforge.org] and using the command above will only install Camping and Rack. However, if you intend to use the views you also need to install +markaby+, and if you're going to use the database you need +activerecord+ as well: * <tt>gem install markaby</tt> * <tt>gem install activerecord</tt> == Learning * Start by reading the documentation in {the Camping module}[link:classes/Camping.html], it should get you started pretty quick. * {The wiki}[http://wiki.github.com/why/camping] is the place for all tiny, useful tricks that we've collected over the years. Don't be afraid to share your own discoveries; the more, the better! * Still wondering? Subscribe to {the mailing list}[http://rubyforge.org/mailman/listinfo/camping-list], the place where it's all happening! Don't worry, though, the volume is just as micro as Camping itself. == Authors Camping was originally started by {why the lucky stiff}[http://en.wikipedia.org/wiki/Why_the_lucky_stiff], but is now maintained by the _community_. This simply means that if we like your patch, it will be applied. Everything is managed through {the mailing list}[http://rubyforge.org/mailman/listinfo/camping-list], so just subscribe and you can instantly take a part in shaping Camping.