README.md in camping-2.1.532 vs README.md in camping-3.0.0
- old
+ new
@@ -1,96 +1,115 @@
-[![Build Status](https://secure.travis-ci.org/camping/camping.png)](http://travis-ci.org/camping/camping)
+![Build Status](https://github.com/camping/camping/actions/workflows/ruby.yml/badge.svg)
-#Camping, a Microframework
+# Camping, a Microframework
-Camping is a web framework which consistently stays at less than 4kB of code.
+Camping is a micro web framework which stays as small as possible.
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?
+know, it's so small that, if you think about it, what can it really do? Apparently
+it can do a lot. It's pretty swell.
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.
+application. And with time, you can move your Models, Views, and Controllers into
+other files as your app grows.
-##A Camping Skeleton
+Camping supports multiple *apps*, capsuled code that runs together. Each app can
+have independent models, routes, and controllers.
+Pack your gear when you go Camping! With a simple plugin system, Camping is easily
+extensible. Add all sorts of useful and silly things.
+
+## A Camping Skeleton
+
A skeletal Camping blog could look like this:
- require 'camping'
-
- Camping.goes :Blog
+```ruby
+require 'camping'
- module Blog::Models
- class Post < Base; belongs_to :user; end
- class Comment < Base; belongs_to :user; end
- class User < Base; end
+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::Controllers
- class Index
- def get
- @posts = Post.find :all
- render :index
- end
+module Blog::Views
+ def layout
+ html do
+ head { title "My Blog" }
+ body do
+ h1 "My Blog"
+ self << yield
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
- @posts.each do |post|
- h1 post.title
- end
- end
+ def index
+ @posts.each do |post|
+ h1 post.title
end
-
-##Installation
+ 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
+```
+gem install camping
+```
-Even better, install the Camping Omnibus, a full package of recommended libs:
+~~Even better, install the Camping Omnibus, a full package of recommended libs:~~ Camping Omnibus will return for summer vacation.
- gem install camping-omnibus --source http://gems.judofyr.net
+```
+gem install camping-omnibus
+```
If not, you should be aware of that Camping itself only depends on
-[Rack](http://rack.rubyforge.org), and if you're going to use the views you also
-need to install **[markaby](http://markaby.github.com/)**, and if you're going to use the database you need
+[Rack](https://github.com/rack/rack), and if you're going to use the views you also
+need to install **[markaby](https://github.com/markaby/markaby)**, and if you're going to use the database you need
**activerecord** as well.
- gem install markaby
- gem install activerecord
-
-##Learning
+```
+gem install markaby
+gem install activerecord
+```
-First of all, you should read [the first chapters](camping/blob/master/book/01_introduction.md)
+## Learning
+
+First of all, you should read [the first chapters](/book/01_introduction.md)
of The Camping Book. It should hopefully get you started pretty quick. While
you're doing that, you should be aware of the _reference_ which contains
documentation for all the different parts of Camping.
-[The wiki](http://wiki.github.com/camping/camping) is the place for all tiny,
+[The wiki](https://github.com/camping/camping/wiki) 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!
-And if there's anything you're wondering about, don't be shy, but rather
+And if there's anything you're wondering about, don't be shy, but rather
subscribe to [the mailing list](http://rubyforge.org/mailman/listinfo/camping-list)
and ask there. We also have an IRC channel over at Freenode, so if you feel
like chatting with us, you should join [#camping @ irc.freenode.net](http://java.freenode.net/?channel=camping).
-##Authors
+## Running Tests
+Tests should be run using bundler and rake: `bundle exec rake`.
+
+## Authors
+
Camping was originally crafted 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.
\ No newline at end of file
+so just subscribe and you can instantly take part in shaping Camping.