camping

the 4k pocket full-of-gags web microframework

== 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 < R ‘/’ def get @posts = Post.find :all render :index end end end

module Blog::Views def layout html do body do 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:

  • gem install camping

Or for the bleeding edge:

This will download everything you need and get you all set up. If you’re installing camping manually, you’ll need to make sure you have ‘rack’ installed as well, the interface Camping uses to talk to your web server. You’ll also need ‘markaby’ for the views, and ‘activerecord’ if you’re going to be using databases.

== 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]. This is 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’ll become a contributor too. Remember: writing the code is just half the job, without some serious thinking from you we won’t get any further.

Related Repositories

camping

camping

the 4k pocket full-of-gags web microframework ...

camping

camping

the 4k pocket full-of-gags web microframework ...

Campy

Campy

A little microframework for Node.JS, based on the design of Why’s Camping and Markaby rubygems ...

legs

legs

Legs is a networking microframework designed to be super simple and easy and compact. Somewhat inspired by the crazy hacks in Camping, but mainly driven by wanting to build the kinds of easy tools I wish I would have had when I was younger and just gettin ...

trails

trails

A minimal web framework for PHP in the wake of RoR and Camping ...


Top Contributors

zimbatm judofyr zuk yyyc514 mental technoweenie qwzybug ncr markmfredrickson