merb 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +64 -80
- data/Rakefile +25 -12
- data/bin/merb +2 -223
- data/examples/README_EXAMPLES +10 -0
- data/examples/skeleton.tar +0 -0
- data/lib/merb.rb +48 -21
- data/lib/merb/core_ext.rb +12 -2
- data/lib/merb/core_ext/merb_class.rb +21 -21
- data/lib/merb/core_ext/merb_kernel.rb +60 -0
- data/lib/merb/core_ext/merb_object.rb +14 -0
- data/lib/merb/core_ext/merb_string.rb +3 -13
- data/lib/merb/generators/merb_app/merb_app.rb +33 -0
- data/lib/merb/merb_constants.rb +7 -0
- data/lib/merb/merb_controller.rb +31 -23
- data/lib/merb/merb_drb_server.rb +6 -60
- data/lib/merb/merb_exceptions.rb +162 -2
- data/lib/merb/merb_handler.rb +8 -19
- data/lib/merb/merb_mailer.rb +60 -0
- data/lib/merb/merb_router.rb +1 -1
- data/lib/merb/merb_server.rb +240 -0
- data/lib/merb/merb_upload_handler.rb +1 -1
- data/lib/merb/merb_view_context.rb +11 -6
- data/lib/merb/mixins/basic_authentication_mixin.rb +11 -13
- data/lib/merb/mixins/controller_mixin.rb +12 -6
- data/lib/merb/mixins/form_control_mixin.rb +94 -0
- data/lib/merb/mixins/render_mixin.rb +50 -24
- data/lib/merb/mixins/view_context_mixin.rb +122 -0
- data/lib/merb/session/merb_ar_session.rb +13 -14
- data/lib/merb/session/merb_memory_session.rb +105 -0
- metadata +13 -132
- data/examples/app_skeleton/Rakefile +0 -82
- data/examples/app_skeleton/dist/app/helpers/global_helper.rb +0 -6
- data/examples/app_skeleton/dist/conf/merb.yml +0 -11
- data/examples/app_skeleton/dist/conf/merb_init.rb +0 -16
- data/examples/app_skeleton/dist/conf/mup.conf +0 -5
- data/examples/app_skeleton/dist/conf/router.rb +0 -19
- data/examples/app_skeleton/scripts/merb_stop +0 -13
- data/examples/app_skeleton/scripts/new_migration +0 -21
- data/examples/app_skeleton/test/test_helper.rb +0 -1
- data/examples/sample_app/Rakefile +0 -82
- data/examples/sample_app/dist/app/controllers/files.rb +0 -31
- data/examples/sample_app/dist/app/controllers/posts.rb +0 -71
- data/examples/sample_app/dist/app/controllers/test.rb +0 -40
- data/examples/sample_app/dist/app/helpers/global_helper.rb +0 -7
- data/examples/sample_app/dist/app/helpers/posts_helper.rb +0 -4
- data/examples/sample_app/dist/app/models/comment.rb +0 -3
- data/examples/sample_app/dist/app/models/post.rb +0 -4
- data/examples/sample_app/dist/app/views/files/progress.jerb +0 -3
- data/examples/sample_app/dist/app/views/files/start.herb +0 -62
- data/examples/sample_app/dist/app/views/files/upload.herb +0 -6
- data/examples/sample_app/dist/app/views/layout/application.herb +0 -61
- data/examples/sample_app/dist/app/views/layout/foo.herb +0 -6
- data/examples/sample_app/dist/app/views/posts/_comments.herb +0 -11
- data/examples/sample_app/dist/app/views/posts/comment.jerb +0 -1
- data/examples/sample_app/dist/app/views/posts/list.herb +0 -5
- data/examples/sample_app/dist/app/views/posts/new.herb +0 -37
- data/examples/sample_app/dist/app/views/posts/show.herb +0 -37
- data/examples/sample_app/dist/app/views/posts/xml_test.xerb +0 -3
- data/examples/sample_app/dist/app/views/shared/_test.herb +0 -1
- data/examples/sample_app/dist/app/views/test/foo.herb +0 -2
- data/examples/sample_app/dist/app/views/test/hello.herb +0 -5
- data/examples/sample_app/dist/app/views/test/json.jerb +0 -1
- data/examples/sample_app/dist/conf/merb.yml +0 -11
- data/examples/sample_app/dist/conf/merb_init.rb +0 -24
- data/examples/sample_app/dist/conf/mup.conf +0 -5
- data/examples/sample_app/dist/conf/router.rb +0 -19
- data/examples/sample_app/dist/public/images/bg.jpg +0 -0
- data/examples/sample_app/dist/public/images/book.gif +0 -0
- data/examples/sample_app/dist/public/images/booksmall.gif +0 -0
- data/examples/sample_app/dist/public/images/greenright.jpg +0 -0
- data/examples/sample_app/dist/public/images/louiecon.gif +0 -0
- data/examples/sample_app/dist/public/images/menu.gif +0 -0
- data/examples/sample_app/dist/public/images/menuleft.gif +0 -0
- data/examples/sample_app/dist/public/images/menuright.gif +0 -0
- data/examples/sample_app/dist/public/images/mountain.jpg +0 -0
- data/examples/sample_app/dist/public/images/n3.jpg +0 -0
- data/examples/sample_app/dist/public/images/nautica.jpg +0 -0
- data/examples/sample_app/dist/public/javascripts/application.js +0 -0
- data/examples/sample_app/dist/public/javascripts/effects.js +0 -975
- data/examples/sample_app/dist/public/javascripts/mup.js +0 -113
- data/examples/sample_app/dist/public/javascripts/prototype.js +0 -2264
- data/examples/sample_app/dist/public/stylesheets/merb.css +0 -277
- data/examples/sample_app/dist/public/test.html +0 -5
- data/examples/sample_app/dist/schema/migrations/001_add_comments_to_posts.rb +0 -22
- data/examples/sample_app/dist/schema/migrations/002_add_sessions_table.rb +0 -14
- data/examples/sample_app/dist/schema/schema.rb +0 -28
- data/examples/sample_app/foo.txt +0 -0
- data/examples/sample_app/log/merb.4000.pid +0 -1
- data/examples/sample_app/script/merb_stop +0 -13
- data/examples/sample_app/script/new_migration +0 -21
- data/examples/sample_app/test/test_helper.rb +0 -1
- data/lib/merb/mixins/javascript_mixin.rb +0 -147
- data/lib/merb/session/merb_drb_session.rb +0 -65
- data/test/test_helper.rb +0 -1
- data/test/unit/route_matcher_test.rb +0 -46
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
puts "merb init called"
|
|
2
|
-
|
|
3
|
-
# add your own ruby code here for app initialization and load path stuff
|
|
4
|
-
|
|
5
|
-
require 'active_record'
|
|
6
|
-
|
|
7
|
-
ActiveRecord::Base.logger = MERB_LOGGER
|
|
8
|
-
ActiveRecord::Base.establish_connection(
|
|
9
|
-
:adapter => 'mysql',
|
|
10
|
-
:username => 'root',
|
|
11
|
-
:password => 'xxx',
|
|
12
|
-
:database => 'merb'
|
|
13
|
-
)
|
|
14
|
-
ActiveRecord::Base.verification_timeout = 14400
|
|
15
|
-
|
|
16
|
-
Dir[DIST_ROOT+"/app/models/*.rb"].each { |m| require m }
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Merb::RouteMatcher is the request routing mapper for the merb framework.
|
|
2
|
-
# You can define placeholder parts of the url with the :smbol notation.
|
|
3
|
-
# so r.add '/foo/:bar/baz/:id', :class => 'Bar', :method => 'foo'
|
|
4
|
-
# will match against a request to /foo/123/baz/456. It will then
|
|
5
|
-
# use the class Bar as your merb controller and call the foo method on it.
|
|
6
|
-
# the foo method will recieve a hash with {:bar => '123', :id => '456'}
|
|
7
|
-
# as the content. So the :placeholders sections of your routes become
|
|
8
|
-
# a hash of arguments to your controller methods.
|
|
9
|
-
# The default route is installed
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
puts "Compiling routes: \n"
|
|
13
|
-
Merb::RouteMatcher.prepare do |r|
|
|
14
|
-
r.add '/:controller/:action/:id'
|
|
15
|
-
#r.add '', :controller => 'SomeController', :action =>'foo'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
m = Merb::RouteMatcher.new
|
|
19
|
-
puts m.compiled_statement
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
require 'fileutils'
|
|
3
|
-
|
|
4
|
-
pids=[]
|
|
5
|
-
|
|
6
|
-
port_or_star = ARGV[0] || '*'
|
|
7
|
-
|
|
8
|
-
Dir[File.dirname(__FILE__)+"/../log/merb.#{port_or_star}.pid"].each do |f|
|
|
9
|
-
pid = IO.read(f).chomp.to_i
|
|
10
|
-
puts "killing PID: #{pid}"
|
|
11
|
-
Process.kill(9, pid)
|
|
12
|
-
FileUtils.rm f
|
|
13
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
require 'rubygems'
|
|
3
|
-
require 'merb'
|
|
4
|
-
|
|
5
|
-
TMPL = <<EOF
|
|
6
|
-
class <%= class_name.snake_case.camel_case %> < ActiveRecord::Migration
|
|
7
|
-
def self.up
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def self.down
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
EOF
|
|
14
|
-
|
|
15
|
-
class_name = ARGV[0]
|
|
16
|
-
highest_migration = Dir[Dir.pwd+'/dist/schema/migrations/*'].map{|f| File.basename(f) =~ /^(\d+)/; $1}.max
|
|
17
|
-
filename = format("%03d_%s", (highest_migration.to_i+1), class_name.snake_case)
|
|
18
|
-
|
|
19
|
-
File.open(Dir.pwd+"/dist/schema/migrations/#{filename}.rb", 'w+') do |file|
|
|
20
|
-
file.write Erubis::Eruby.new(TMPL).result(binding)
|
|
21
|
-
end
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
require 'rake'
|
|
2
|
-
require 'rake/rdoctask'
|
|
3
|
-
require 'rake/testtask'
|
|
4
|
-
require 'code_statistics'
|
|
5
|
-
require 'fileutils'
|
|
6
|
-
require 'rubygems'
|
|
7
|
-
require 'merb'
|
|
8
|
-
require MERB_FRAMEWORK_ROOT+'/merb_tasks'
|
|
9
|
-
MERB_ROOT = File.dirname(__FILE__)
|
|
10
|
-
include FileUtils
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#desc "Packages up Merb."
|
|
14
|
-
#task :default => [:package]
|
|
15
|
-
|
|
16
|
-
desc "load merb_init.rb"
|
|
17
|
-
task :merb_init do
|
|
18
|
-
require 'merb'
|
|
19
|
-
require File.dirname(__FILE__)+'/dist/conf/merb_init.rb'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
desc "Load db schema"
|
|
23
|
-
task :load_schema => [:merb_init] do
|
|
24
|
-
require File.dirname(__FILE__)+'/dist/schema/schema.rb'
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
task :uninstall => [:clean] do
|
|
28
|
-
sh %{sudo gem uninstall #{NAME}}
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
desc 'Run unit tests'
|
|
32
|
-
Rake::TestTask.new('test_unit') do |t|
|
|
33
|
-
t.libs << 'test'
|
|
34
|
-
t.pattern = 'test/unit/*_test.rb'
|
|
35
|
-
t.verbose = true
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
desc 'Run functional tests'
|
|
39
|
-
Rake::TestTask.new('test_functional') do |t|
|
|
40
|
-
t.libs << 'test'
|
|
41
|
-
t.pattern = 'test/functional/*_test.rb'
|
|
42
|
-
t.verbose = true
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
desc 'Run all tests'
|
|
46
|
-
Rake::TestTask.new('test') do |t|
|
|
47
|
-
t.libs << 'test'
|
|
48
|
-
t.pattern = 'test/**/*_test.rb'
|
|
49
|
-
t.verbose = true
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
desc 'Run all tests, specs and finish with rcov'
|
|
53
|
-
task :aok do
|
|
54
|
-
sh %{rake rcov}
|
|
55
|
-
sh %{rake spec}
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
##############################################################################
|
|
59
|
-
# Statistics
|
|
60
|
-
##############################################################################
|
|
61
|
-
|
|
62
|
-
STATS_DIRECTORIES = [
|
|
63
|
-
%w(Code lib/),
|
|
64
|
-
%w(Unit\ tests test/unit),
|
|
65
|
-
%w(Functional\ tests test/functional)
|
|
66
|
-
].collect { |name, dir| [ name, "./#{dir}" ] }.select { |name, dir| File.directory?(dir) }
|
|
67
|
-
|
|
68
|
-
desc "Report code statistics (KLOCs, etc) from the application"
|
|
69
|
-
task :stats do
|
|
70
|
-
#require 'extra/stats'
|
|
71
|
-
verbose = true
|
|
72
|
-
CodeStatistics.new(*STATS_DIRECTORIES).to_s
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
##############################################################################
|
|
76
|
-
# SVN
|
|
77
|
-
##############################################################################
|
|
78
|
-
|
|
79
|
-
desc "Add new files to subversion"
|
|
80
|
-
task :svn_add do
|
|
81
|
-
system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add"
|
|
82
|
-
end
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
class Files < Merb::Controller
|
|
2
|
-
|
|
3
|
-
def start
|
|
4
|
-
render :layout => :none
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
def index
|
|
8
|
-
@args = params
|
|
9
|
-
render :action => 'start'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def upload
|
|
13
|
-
puts params.inspect
|
|
14
|
-
|
|
15
|
-
FileUtils.mv params[:data][:tempfile].path,
|
|
16
|
-
Merb::Server.config[:dist_root]+"/public/files/#{params[:data][:filename]}"
|
|
17
|
-
render_no_layout
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def progress
|
|
21
|
-
puts params.inspect
|
|
22
|
-
Mongrel::Uploads.debug = true
|
|
23
|
-
@upstatus = Mongrel::Uploads.check(params[:upload_id])
|
|
24
|
-
render_js 'progress'
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def file
|
|
28
|
-
send_file params[:file]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
class Posts < Merb::Controller
|
|
3
|
-
|
|
4
|
-
def access_denied
|
|
5
|
-
render
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def new
|
|
9
|
-
#session[:foo] = 'foo'
|
|
10
|
-
#puts session.session_id
|
|
11
|
-
render
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def create
|
|
15
|
-
@post = Post.create( :title => params[:title], :body => params[:body])
|
|
16
|
-
redirect "/posts/show/#{@post.id}"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def show
|
|
20
|
-
#puts session[:foo]
|
|
21
|
-
#session[:foo] = 'changed'
|
|
22
|
-
@post = Post.find params[:id]
|
|
23
|
-
@comments = @post.comments
|
|
24
|
-
render
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test
|
|
28
|
-
puts "request.protocol: #{request.protocol}"
|
|
29
|
-
puts "request.ssl?: #{request.ssl?}"
|
|
30
|
-
puts "request.uri: #{request.uri}"
|
|
31
|
-
puts "request.path: #{request.path}"
|
|
32
|
-
puts "request.path_info: #{request.path_info}"
|
|
33
|
-
puts "request.port: #{request.port}"
|
|
34
|
-
puts "request.host: #{request.host}"
|
|
35
|
-
puts "request.domain: #{request.domain}"
|
|
36
|
-
puts "request.get?: #{request.get?}"
|
|
37
|
-
puts "request.post?: #{request.post?}"
|
|
38
|
-
puts "request.put?: #{request.put?}"
|
|
39
|
-
puts "request.delete?: #{request.delete?}"
|
|
40
|
-
puts "request.head?: #{request.head?}"
|
|
41
|
-
puts "request.xhr?: #{request.xhr?}"
|
|
42
|
-
puts request.inspect
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
def xml_test
|
|
46
|
-
render_xml
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def list
|
|
50
|
-
#session[:foo] = 'hi'
|
|
51
|
-
@posts = Post.find :all, :limit => 4
|
|
52
|
-
render
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def add_comment
|
|
56
|
-
puts params.inspect
|
|
57
|
-
@post = Post.find params[:post_id]
|
|
58
|
-
@post.comments.create :name => params[:comment_name],
|
|
59
|
-
:body => params[:comment_body]
|
|
60
|
-
@comments = @post.comments.reload
|
|
61
|
-
render_js 'comment'
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def delete_comment
|
|
65
|
-
@post = Post.find params[:post_id]
|
|
66
|
-
@post.comments.destroy params[:id]
|
|
67
|
-
@comments = @post.comments.reload
|
|
68
|
-
render_js 'comment'
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
class Test < Merb::Controller
|
|
2
|
-
|
|
3
|
-
#before :authenticate
|
|
4
|
-
#before lambda{|c| puts 'lambda filter called'}
|
|
5
|
-
|
|
6
|
-
def bfilter
|
|
7
|
-
puts "Filter Called!"
|
|
8
|
-
#throw :halt
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def hello
|
|
12
|
-
# Assign the parameter to an instance variable
|
|
13
|
-
@name = params[:id]
|
|
14
|
-
render
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def glob
|
|
18
|
-
"<html><body><h2>#{params[:rest]}</h2></body></html>"
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def json
|
|
22
|
-
@post = Post.find :first
|
|
23
|
-
render_js
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def rails
|
|
27
|
-
puts session.inspect
|
|
28
|
-
session[:foo]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def foo
|
|
32
|
-
@args = params
|
|
33
|
-
render
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def to_s
|
|
37
|
-
"<html><body>Test controller, no mathing action</body></html>"
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
<html>
|
|
2
|
-
<head>
|
|
3
|
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
4
|
-
<title>mongrel test</title>
|
|
5
|
-
<script src="/javascripts/prototype.js" type="text/javascript"></script>
|
|
6
|
-
<script src="/javascripts/effects.js" type="text/javascript"></script>
|
|
7
|
-
<script src="/javascripts/mup.js" type="text/javascript"></script>
|
|
8
|
-
|
|
9
|
-
<style type="text/css">
|
|
10
|
-
#progress-bar {
|
|
11
|
-
width:500px;
|
|
12
|
-
height:25px;
|
|
13
|
-
margin:15px;
|
|
14
|
-
border:solid 1px #000;
|
|
15
|
-
position:relative;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
#progress-bar #status-bar {
|
|
19
|
-
display:block;
|
|
20
|
-
height:25px;
|
|
21
|
-
width:0;
|
|
22
|
-
background-color:#00f;
|
|
23
|
-
border-right:solid 1px #000;
|
|
24
|
-
position:absolute;
|
|
25
|
-
top:0; left:0;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
#progress-bar #status-text {
|
|
29
|
-
display:block;
|
|
30
|
-
padding: 0 15px;
|
|
31
|
-
line-height:25px;
|
|
32
|
-
position:absolute;
|
|
33
|
-
top:0; left:0;
|
|
34
|
-
}
|
|
35
|
-
</style>
|
|
36
|
-
</head>
|
|
37
|
-
<body>
|
|
38
|
-
|
|
39
|
-
<h2>Test file uploading.</h2>
|
|
40
|
-
<%= @upid = Time.now.to_i.to_s %>
|
|
41
|
-
<form action="/files/upload?upload_id=<%= @upid %>"
|
|
42
|
-
enctype="multipart/form-data" target='upload' method="post"
|
|
43
|
-
onsubmit="UploadProgress.monitor('<%= escape_js @upid %>')">
|
|
44
|
-
|
|
45
|
-
<dl>
|
|
46
|
-
<dt><label>Select a file</label></dt>
|
|
47
|
-
<dd><input name="data" type="file" /></dd>
|
|
48
|
-
</dl>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<p>
|
|
52
|
-
<input name="commit" type="submit" value="Upload" />
|
|
53
|
-
</p>
|
|
54
|
-
</form>
|
|
55
|
-
|
|
56
|
-
<div id="results"></div>
|
|
57
|
-
<div id="progress-bar"></div>
|
|
58
|
-
|
|
59
|
-
<iframe id="upload" name="upload" src="about:blank"></iframe>
|
|
60
|
-
|
|
61
|
-
</body>
|
|
62
|
-
</html>
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
2
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<title>Merb: Mongrel + Erb</title>
|
|
6
|
-
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
|
7
|
-
<%= css_include_tag :merb %>
|
|
8
|
-
<%= js_include_tag :prototype, :effects %>
|
|
9
|
-
</head>
|
|
10
|
-
|
|
11
|
-
<body>
|
|
12
|
-
|
|
13
|
-
<div id="blogtitle">
|
|
14
|
-
<div id="small">Welcome to the land of Merb | <a href="http://svn.devjavu.com/merb">SVN</a> | <a href="http://svn.devjavu.com/merb/README">README</a> | <a href="http://merb.devjavu.com/">Trac</a></div>
|
|
15
|
-
</div>
|
|
16
|
-
|
|
17
|
-
<div id="border">
|
|
18
|
-
|
|
19
|
-
<div id="container">
|
|
20
|
-
|
|
21
|
-
<div id="content">
|
|
22
|
-
|
|
23
|
-
<div id="topmenu">
|
|
24
|
-
<ul>
|
|
25
|
-
<li><a href="#" title="/posts/list"><span>Blog</span></a></li>
|
|
26
|
-
<li><a href="#" title="Gallery"><span>Get Merb</span></a></li>
|
|
27
|
-
<li><a href="#" title="Links"><span>Tutorial</span></a></li>
|
|
28
|
-
</ul>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
<div id="introduction">
|
|
32
|
-
<h3>Merb Mascot</h3>
|
|
33
|
-
<ul>
|
|
34
|
-
<li><img src="/images/louiecon.gif" /></li>
|
|
35
|
-
</ul>
|
|
36
|
-
<%= catch_content :sidebar %>
|
|
37
|
-
</div>
|
|
38
|
-
|
|
39
|
-
<%= catch_content :layout %>
|
|
40
|
-
|
|
41
|
-
<div class="maintext3">
|
|
42
|
-
<div class="splitleft">
|
|
43
|
-
<p>This is a split left box in the split left class.</p>
|
|
44
|
-
</div>
|
|
45
|
-
|
|
46
|
-
<div class="splitright">
|
|
47
|
-
<p>This is a split right box<br /> you can also set the backround color in the class.</p>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
|
|
53
|
-
<div id="footer">Merb: Mongrel + Erb</div>
|
|
54
|
-
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
</body>
|
|
61
|
-
</html>
|