ramaze 2011.01.30 → 2011.07.25
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/.mailmap +2 -0
- data/.rvmrc +1 -0
- data/README.md +119 -197
- data/Rakefile +14 -97
- data/bin/ramaze +6 -14
- data/doc/AUTHORS +8 -4
- data/doc/CHANGELOG +3784 -3339
- data/examples/app/chat/start.rb +2 -2
- data/lib/proto/app.rb +2 -3
- data/lib/proto/config.ru +4 -5
- data/lib/proto/controller/init.rb +11 -4
- data/lib/proto/controller/main.rb +12 -7
- data/lib/proto/layout/default.xhtml +56 -23
- data/lib/proto/model/init.rb +3 -1
- data/lib/proto/public/css/grid.css +107 -0
- data/lib/proto/public/css/layout.css +81 -0
- data/lib/proto/public/css/reset.css +123 -0
- data/lib/proto/public/css/text.css +109 -0
- data/lib/proto/public/images/bg.png +0 -0
- data/lib/proto/spec/main.rb +2 -2
- data/lib/proto/start.rb +11 -1
- data/lib/proto/view/index.xhtml +27 -23
- data/lib/ramaze.rb +0 -1
- data/lib/ramaze/app.rb +85 -12
- data/lib/ramaze/app_graph.rb +107 -0
- data/lib/ramaze/bin/console.rb +87 -0
- data/lib/ramaze/bin/create.rb +94 -0
- data/lib/ramaze/bin/helper.rb +107 -0
- data/lib/ramaze/bin/restart.rb +95 -0
- data/lib/ramaze/bin/runner.rb +141 -0
- data/lib/ramaze/bin/start.rb +206 -0
- data/lib/ramaze/bin/status.rb +152 -0
- data/lib/ramaze/bin/stop.rb +112 -0
- data/lib/ramaze/cache.rb +9 -4
- data/lib/ramaze/cache/localmemcache.rb +10 -13
- data/lib/ramaze/cache/lru.rb +49 -7
- data/lib/ramaze/cache/memcache.rb +170 -92
- data/lib/ramaze/cache/sequel.rb +301 -118
- data/lib/ramaze/controller.rb +108 -9
- data/lib/ramaze/controller/default.rb +15 -2
- data/lib/ramaze/current.rb +14 -2
- data/lib/ramaze/dependencies.rb +46 -0
- data/lib/ramaze/files.rb +38 -3
- data/lib/ramaze/gestalt.rb +12 -12
- data/lib/ramaze/helper.rb +0 -2
- data/lib/ramaze/helper/auth.rb +30 -23
- data/lib/ramaze/helper/blue_form.rb +175 -126
- data/lib/ramaze/helper/csrf.rb +76 -91
- data/lib/ramaze/helper/email.rb +105 -0
- data/lib/ramaze/helper/erector.rb +16 -15
- data/lib/ramaze/helper/gestalt.rb +2 -2
- data/lib/ramaze/helper/layout.rb +89 -73
- data/lib/ramaze/helper/link.rb +7 -6
- data/lib/ramaze/helper/localize.rb +6 -5
- data/lib/ramaze/helper/markaby.rb +25 -23
- data/lib/ramaze/helper/maruku.rb +3 -3
- data/lib/ramaze/helper/paginate.rb +19 -27
- data/lib/ramaze/helper/remarkably.rb +3 -3
- data/lib/ramaze/helper/request_accessor.rb +3 -3
- data/lib/ramaze/helper/send_file.rb +12 -8
- data/lib/ramaze/helper/simple_captcha.rb +5 -6
- data/lib/ramaze/helper/stack.rb +7 -4
- data/lib/ramaze/helper/tagz.rb +10 -11
- data/lib/ramaze/helper/thread.rb +19 -16
- data/lib/ramaze/helper/ultraviolet.rb +7 -4
- data/lib/ramaze/helper/user.rb +40 -21
- data/lib/ramaze/helper/xhtml.rb +29 -20
- data/lib/ramaze/log.rb +3 -11
- data/lib/ramaze/log/analogger.rb +5 -4
- data/lib/ramaze/log/growl.rb +9 -7
- data/lib/ramaze/log/hub.rb +3 -5
- data/lib/ramaze/log/informer.rb +15 -12
- data/lib/ramaze/log/knotify.rb +3 -5
- data/lib/ramaze/log/logger.rb +3 -5
- data/lib/ramaze/log/logging.rb +6 -8
- data/lib/ramaze/log/rotatinginformer.rb +27 -17
- data/lib/ramaze/log/syslog.rb +7 -7
- data/lib/ramaze/log/xosd.rb +3 -5
- data/lib/ramaze/middleware_compiler.rb +27 -4
- data/lib/ramaze/reloader.rb +50 -12
- data/lib/ramaze/reloader/watch_inotify.rb +4 -5
- data/lib/ramaze/reloader/watch_stat.rb +3 -3
- data/lib/ramaze/request.rb +18 -8
- data/lib/ramaze/response.rb +38 -7
- data/lib/ramaze/rest.rb +36 -0
- data/lib/ramaze/setup.rb +101 -31
- data/lib/ramaze/spec.rb +1 -1
- data/lib/ramaze/spec/bacon.rb +6 -3
- data/lib/ramaze/spec/helper/bacon.rb +0 -1
- data/lib/ramaze/version.rb +1 -1
- data/lib/ramaze/view.rb +2 -11
- data/lib/ramaze/view/erector.rb +46 -31
- data/lib/ramaze/view/erubis.rb +7 -3
- data/lib/ramaze/view/ezamar.rb +7 -3
- data/lib/ramaze/view/gestalt.rb +9 -3
- data/lib/ramaze/view/haml.rb +7 -3
- data/lib/ramaze/view/liquid.rb +3 -3
- data/lib/ramaze/view/lokar.rb +7 -3
- data/lib/ramaze/view/mustache.rb +11 -5
- data/lib/ramaze/view/nagoro.rb +3 -3
- data/lib/ramaze/view/sass.rb +1 -1
- data/lib/ramaze/view/slippers.rb +40 -13
- data/lib/ramaze/view/tagz.rb +9 -5
- data/ramaze.gemspec +23 -128
- data/spec/helper.rb +5 -0
- data/spec/ramaze/bin/app/config.ru +11 -0
- data/spec/ramaze/bin/create.rb +28 -0
- data/spec/ramaze/bin/runner.rb +30 -0
- data/spec/ramaze/bin/start.rb +38 -0
- data/spec/ramaze/cache/memcache.rb +10 -3
- data/spec/ramaze/cache/sequel.rb +7 -0
- data/spec/ramaze/controller/provide_inheritance.rb +0 -10
- data/spec/ramaze/dispatcher/file.rb +19 -15
- data/spec/ramaze/helper/auth.rb +10 -9
- data/spec/ramaze/helper/blue_form.rb +121 -68
- data/spec/ramaze/helper/email.rb +69 -0
- data/spec/ramaze/helper/layout.rb +12 -15
- data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
- data/spec/ramaze/helper/user.rb +2 -0
- data/spec/ramaze/log/growl.rb +14 -1
- data/spec/{contrib → ramaze}/rest.rb +1 -1
- data/spec/ramaze/session/memcache.rb +2 -2
- data/spec/ramaze/view/sass.rb +1 -1
- data/tasks/bacon.rake +3 -3
- data/tasks/gem.rake +17 -18
- data/tasks/rcov.rake +2 -3
- data/tasks/release.rake +8 -65
- data/tasks/setup.rake +10 -8
- data/tasks/todo.rake +9 -5
- data/tasks/yard.rake +3 -2
- metadata +105 -397
- data/MANIFEST +0 -532
- data/TODO.md +0 -19
- data/benchmark/bench_templates/bench.rb +0 -67
- data/benchmark/bench_templates/view/large.erb +0 -79
- data/benchmark/bench_templates/view/large.haml +0 -41
- data/benchmark/bench_templates/view/large.lok +0 -79
- data/benchmark/bench_templates/view/large.xhtml +0 -79
- data/benchmark/bench_templates/view/small.erb +0 -21
- data/benchmark/bench_templates/view/small.haml +0 -12
- data/benchmark/bench_templates/view/small.lok +0 -21
- data/benchmark/bench_templates/view/small.xhtml +0 -21
- data/benchmark/results.txt +0 -131
- data/benchmark/run.rb +0 -355
- data/benchmark/suite/minimal.rb +0 -11
- data/benchmark/suite/no_informer.rb +0 -7
- data/benchmark/suite/no_sessions.rb +0 -9
- data/benchmark/suite/no_template.rb +0 -7
- data/benchmark/suite/simple.rb +0 -5
- data/benchmark/suite/template_erubis.rb +0 -8
- data/benchmark/suite/template_etanni.rb +0 -8
- data/benchmark/suite/template_ezamar.rb +0 -8
- data/benchmark/suite/template_haml.rb +0 -13
- data/benchmark/suite/template_liquid.rb +0 -11
- data/benchmark/suite/template_markaby.rb +0 -9
- data/benchmark/suite/template_nagoro.rb +0 -8
- data/benchmark/suite/template_redcloth.rb +0 -13
- data/benchmark/suite/template_tenjin.rb +0 -8
- data/benchmark/test.rb +0 -35
- data/doc/FAQ +0 -92
- data/doc/INSTALL +0 -92
- data/doc/TODO +0 -29
- data/doc/meta/announcement.txt +0 -119
- data/doc/meta/configuration.txt +0 -163
- data/doc/meta/internals.txt +0 -278
- data/doc/meta/users.kml +0 -64
- data/doc/tutorial/todolist.html +0 -1512
- data/doc/tutorial/todolist.txt +0 -920
- data/examples/app/sourceview/public/coderay.css +0 -104
- data/examples/app/sourceview/public/images/file.gif +0 -0
- data/examples/app/sourceview/public/images/folder.gif +0 -0
- data/examples/app/sourceview/public/images/tv-collapsable-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-collapsable.gif +0 -0
- data/examples/app/sourceview/public/images/tv-expandable-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-expandable.gif +0 -0
- data/examples/app/sourceview/public/images/tv-item-last.gif +0 -0
- data/examples/app/sourceview/public/images/tv-item.gif +0 -0
- data/examples/app/sourceview/public/jquery.js +0 -11
- data/examples/app/sourceview/public/jquery.treeview.css +0 -48
- data/examples/app/sourceview/public/jquery.treeview.js +0 -223
- data/examples/app/sourceview/public/sourceview.js +0 -52
- data/examples/app/sourceview/start.rb +0 -79
- data/examples/app/sourceview/view/index.haml +0 -59
- data/examples/helpers/httpdigest.rb +0 -107
- data/lib/proto/public/css/screen.css +0 -30
- data/lib/proto/public/js/jquery.js +0 -7179
- data/lib/ramaze/contrib/addressable_route.rb +0 -56
- data/lib/ramaze/contrib/app_graph.rb +0 -64
- data/lib/ramaze/contrib/email.rb +0 -88
- data/lib/ramaze/contrib/facebook.rb +0 -23
- data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
- data/lib/ramaze/contrib/gettext.rb +0 -113
- data/lib/ramaze/contrib/gettext/mo.rb +0 -155
- data/lib/ramaze/contrib/gettext/parser.rb +0 -46
- data/lib/ramaze/contrib/gettext/po.rb +0 -109
- data/lib/ramaze/contrib/gzip_filter.rb +0 -1
- data/lib/ramaze/contrib/maruku_uv.rb +0 -59
- data/lib/ramaze/contrib/profiling.rb +0 -36
- data/lib/ramaze/contrib/rest.rb +0 -23
- data/lib/ramaze/contrib/sequel/create_join.rb +0 -26
- data/lib/ramaze/contrib/sequel/form_field.rb +0 -129
- data/lib/ramaze/contrib/sequel/image.rb +0 -196
- data/lib/ramaze/contrib/sequel/relation.rb +0 -98
- data/lib/ramaze/helper/httpdigest.rb +0 -96
- data/lib/ramaze/tool/bin.rb +0 -340
- data/lib/ramaze/tool/create.rb +0 -48
- data/lib/ramaze/tool/project_creator.rb +0 -120
- data/lib/ramaze/view/less.rb +0 -12
- data/lib/ramaze/view/maruku.rb +0 -15
- data/lib/ramaze/view/redcloth.rb +0 -21
- data/spec/contrib/addressable_route.rb +0 -30
- data/spec/examples/helpers/httpdigest.rb +0 -64
- data/spec/examples/templates/template_redcloth.rb +0 -13
- data/spec/ramaze/bin/ramaze.rb +0 -96
- data/spec/ramaze/helper/httpdigest.rb +0 -176
- data/spec/ramaze/view/less.rb +0 -60
- data/spec/ramaze/view/less/file.css.less +0 -8
- data/spec/ramaze/view/redcloth.rb +0 -66
- data/spec/ramaze/view/redcloth/external.redcloth +0 -8
- data/tasks/copyright.rake +0 -21
- data/tasks/gem_setup.rake +0 -112
- data/tasks/git.rake +0 -46
- data/tasks/grancher.rake +0 -12
- data/tasks/jquery.rake +0 -15
- data/tasks/manifest.rake +0 -4
- data/tasks/metric_changes.rake +0 -24
- data/tasks/reversion.rake +0 -8
- data/tasks/traits.rake +0 -21
data/examples/app/chat/start.rb
CHANGED
data/lib/proto/app.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
# This file contains your application, it requires dependencies and necessary
|
2
|
-
#
|
1
|
+
# This file contains your application, it requires dependencies and necessary parts of
|
2
|
+
# the application.
|
3
3
|
#
|
4
4
|
# It will be required from either `config.ru` or `start.rb`
|
5
|
-
|
6
5
|
require 'rubygems'
|
7
6
|
require 'ramaze'
|
8
7
|
|
data/lib/proto/config.ru
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
#!/usr/bin/env rackup
|
2
2
|
#
|
3
3
|
# config.ru for ramaze apps
|
4
|
-
# use thin >= 1.0.0
|
5
|
-
# thin start -R config.ru
|
6
4
|
#
|
7
|
-
#
|
5
|
+
# Rackup is a useful tool for running Rack applications, which uses the
|
8
6
|
# Rack::Builder DSL to configure middleware and build up applications easily.
|
9
7
|
#
|
10
|
-
#
|
8
|
+
# Rackup automatically figures out the environment it is run in, and runs your
|
11
9
|
# application as FastCGI, CGI, or standalone with Mongrel or WEBrick -- all from
|
12
10
|
# the same configuration.
|
13
11
|
#
|
14
12
|
# Do not set the adapter.handler in here, it will be ignored.
|
15
13
|
# You can choose the adapter like `ramaze start -s mongrel` or set it in the
|
16
14
|
# 'start.rb' and use `ruby start.rb` instead.
|
17
|
-
|
18
15
|
require ::File.expand_path('../app', __FILE__)
|
16
|
+
|
19
17
|
Ramaze.start(:root => __DIR__, :started => true)
|
18
|
+
|
20
19
|
run Ramaze
|
@@ -1,11 +1,18 @@
|
|
1
|
-
# Define a subclass of Ramaze::Controller holding your defaults for all
|
2
|
-
# controllers
|
1
|
+
# Define a subclass of Ramaze::Controller holding your defaults for all controllers. Note
|
2
|
+
# that these changes can be overwritten in sub controllers by simply calling the method
|
3
|
+
# but with a different value.
|
3
4
|
|
4
5
|
class Controller < Ramaze::Controller
|
5
6
|
layout :default
|
6
7
|
helper :xhtml
|
7
|
-
engine :
|
8
|
+
engine :etanni
|
8
9
|
end
|
9
10
|
|
10
|
-
# Here
|
11
|
+
# Here you can require all your other controllers. Note that if you have multiple
|
12
|
+
# controllers you might want to do something like the following:
|
13
|
+
#
|
14
|
+
# Dir.glob('controller/*.rb').each do |controller|
|
15
|
+
# require(controller)
|
16
|
+
# end
|
17
|
+
#
|
11
18
|
require __DIR__('main')
|
@@ -1,20 +1,25 @@
|
|
1
1
|
# Default url mappings are:
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
2
|
+
#
|
3
|
+
# * a controller called Main is mapped on the root of the site: /
|
4
|
+
# * a controller called Something is mapped on: /something
|
5
|
+
#
|
6
|
+
# If you want to override this, add a line like this inside the class:
|
7
|
+
#
|
5
8
|
# map '/otherurl'
|
6
|
-
#
|
7
|
-
|
9
|
+
#
|
10
|
+
# this will force the controller to be mounted on: /otherurl.
|
8
11
|
class MainController < Controller
|
9
12
|
# the index action is called automatically when no other action is specified
|
10
13
|
def index
|
11
|
-
@title =
|
14
|
+
@title = 'Welcome to Ramaze!'
|
12
15
|
end
|
13
16
|
|
14
17
|
# the string returned at the end of the function is used as the html body
|
15
18
|
# if there is no template for the action. if there is a template, the string
|
16
19
|
# is silently ignored
|
17
20
|
def notemplate
|
18
|
-
|
21
|
+
@title = 'Welcome to Ramaze!'
|
22
|
+
|
23
|
+
return 'There is no \'notemplate.xhtml\' associated with this action.'
|
19
24
|
end
|
20
25
|
end
|
@@ -1,24 +1,57 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
<
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8" />
|
5
|
+
|
6
|
+
<title>#{@title}</title>
|
7
|
+
|
8
|
+
#{css('reset')}
|
9
|
+
#{css('grid')}
|
10
|
+
#{css('layout')}
|
11
|
+
#{css('text')}
|
12
|
+
</head>
|
13
|
+
<body>
|
14
|
+
<div class="container">
|
15
|
+
<div id="container" class="row">
|
16
|
+
<!-- Top part, contains the navigation menu -->
|
17
|
+
<div id="top" class="grid_12">
|
18
|
+
<header class="grid_6">
|
19
|
+
<h1>#{@title}</h1>
|
20
|
+
</header>
|
21
|
+
|
22
|
+
<nav class="grid_6 last">
|
23
|
+
<ul class="clearfix">
|
24
|
+
<li>
|
25
|
+
<a href="http://ramaze.net/">Website</a>
|
26
|
+
</li>
|
27
|
+
<li>
|
28
|
+
<a href="http://ramaze.net/documentation/index.html">
|
29
|
+
Documentation
|
30
|
+
</a>
|
31
|
+
</li>
|
32
|
+
<li>
|
33
|
+
<a href="https://groups.google.com/forum/#!forum/ramaze">
|
34
|
+
Mailing List
|
35
|
+
</a>
|
36
|
+
</li>
|
37
|
+
</ul>
|
38
|
+
</nav>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="content" class="grid_12">
|
42
|
+
#{@content}
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<footer id="footer">
|
47
|
+
<p>
|
48
|
+
Ramaze is free software and is licensed under the Ruby license.<br />
|
49
|
+
All textual content is licensed under a
|
50
|
+
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
|
51
|
+
Creative Commons license.
|
52
|
+
</a>
|
53
|
+
</p>
|
54
|
+
</footer>
|
55
|
+
</div>
|
56
|
+
</body>
|
24
57
|
</html>
|
data/lib/proto/model/init.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# This file is used for loading all your models. Note that you don't have to actually use
|
2
|
+
# this file. The great thing about Ramaze is that you're free to change it the way you see
|
3
|
+
# fit.
|
2
4
|
|
3
5
|
# Here go your requires for models:
|
4
6
|
# require __DIR__('user')
|
@@ -0,0 +1,107 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Modified version of the CSS grid (aka 1140 CSS) that can be found at http://cssgrid.net
|
5
|
+
*
|
6
|
+
* This modified version has some extra enhancements to make it a bit easier to work with
|
7
|
+
* the grid. Along with these minor fixes I also renamed all grid classes to the names
|
8
|
+
* used by the 960 grid system as I find "grid_6" easier to write than "sixcol".
|
9
|
+
*/
|
10
|
+
.container
|
11
|
+
{
|
12
|
+
overflow: hidden;
|
13
|
+
padding-left: 1%;
|
14
|
+
padding-right: 1%;
|
15
|
+
}
|
16
|
+
|
17
|
+
.row
|
18
|
+
{
|
19
|
+
max-width: 96%;
|
20
|
+
margin: 0 auto;
|
21
|
+
overflow: hidden;
|
22
|
+
width: 100%;
|
23
|
+
}
|
24
|
+
|
25
|
+
.grid_1, .grid_2, .grid_3, .grid_4, .grid_5, .grid_6, .grid_7, .grid_8, .grid_9,
|
26
|
+
.grid_10, .grid_11
|
27
|
+
{
|
28
|
+
float: left;
|
29
|
+
margin-right: 3.8%;
|
30
|
+
min-height: 1px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.row .grid_1
|
34
|
+
{
|
35
|
+
width: 4.85%;
|
36
|
+
}
|
37
|
+
|
38
|
+
.row .grid_2
|
39
|
+
{
|
40
|
+
width: 13.45%;
|
41
|
+
}
|
42
|
+
|
43
|
+
.row .grid_3
|
44
|
+
{
|
45
|
+
width: 22.05%;
|
46
|
+
}
|
47
|
+
|
48
|
+
.row .grid_4
|
49
|
+
{
|
50
|
+
width: 30.75%;
|
51
|
+
}
|
52
|
+
|
53
|
+
.row .grid_5
|
54
|
+
{
|
55
|
+
width: 39.45%;
|
56
|
+
}
|
57
|
+
|
58
|
+
.row .grid_6
|
59
|
+
{
|
60
|
+
width: 48%;
|
61
|
+
}
|
62
|
+
|
63
|
+
.row .grid_7
|
64
|
+
{
|
65
|
+
width: 56.75%;
|
66
|
+
}
|
67
|
+
|
68
|
+
.row .grid_8
|
69
|
+
{
|
70
|
+
width: 65.4%;
|
71
|
+
}
|
72
|
+
|
73
|
+
.row .grid_9
|
74
|
+
{
|
75
|
+
width: 74.05%;
|
76
|
+
}
|
77
|
+
|
78
|
+
.row .grid_10
|
79
|
+
{
|
80
|
+
width: 82.7%;
|
81
|
+
}
|
82
|
+
|
83
|
+
.row .grid_11
|
84
|
+
{
|
85
|
+
width: 91.35%;
|
86
|
+
}
|
87
|
+
|
88
|
+
.row .grid_12
|
89
|
+
{
|
90
|
+
float: left;
|
91
|
+
width: 100%;
|
92
|
+
}
|
93
|
+
|
94
|
+
.last, .row > *:last-child
|
95
|
+
{
|
96
|
+
margin-right: 0px;
|
97
|
+
}
|
98
|
+
|
99
|
+
img, object, embed
|
100
|
+
{
|
101
|
+
max-width: 100%;
|
102
|
+
}
|
103
|
+
|
104
|
+
img
|
105
|
+
{
|
106
|
+
height: auto;
|
107
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/**
|
2
|
+
* Stylesheet used for the layout of most elements.
|
3
|
+
*
|
4
|
+
* @author Yorick Peterse
|
5
|
+
* @link http://yorickpeterse.com/
|
6
|
+
*/
|
7
|
+
#container
|
8
|
+
{
|
9
|
+
margin: 20px auto;
|
10
|
+
width: 940px;
|
11
|
+
}
|
12
|
+
|
13
|
+
#content
|
14
|
+
{
|
15
|
+
background: #fff;
|
16
|
+
border: 1px solid #ddd;
|
17
|
+
padding: 20px;
|
18
|
+
width: 898px;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Top part of the website, contains the title and the navigation menu */
|
22
|
+
#top
|
23
|
+
{
|
24
|
+
background: #E33F1E;
|
25
|
+
height: 70px;
|
26
|
+
margin-bottom: 20px;
|
27
|
+
padding: 0px 10px;
|
28
|
+
}
|
29
|
+
|
30
|
+
#top header h1
|
31
|
+
{
|
32
|
+
color: #fff;
|
33
|
+
font-size: 38px;
|
34
|
+
margin: 10px 0px 0px 0px;
|
35
|
+
padding: 0px;
|
36
|
+
}
|
37
|
+
|
38
|
+
#top nav ul
|
39
|
+
{
|
40
|
+
float: right;
|
41
|
+
margin-right: 15px;
|
42
|
+
}
|
43
|
+
|
44
|
+
#top nav ul li
|
45
|
+
{
|
46
|
+
float: left;
|
47
|
+
font-size: 16px;
|
48
|
+
list-style-type: none;
|
49
|
+
margin-right: 10px;
|
50
|
+
}
|
51
|
+
|
52
|
+
#top nav ul li:last-child
|
53
|
+
{
|
54
|
+
margin-right: 0px;
|
55
|
+
}
|
56
|
+
|
57
|
+
#top nav ul li a
|
58
|
+
{
|
59
|
+
color: #fff;
|
60
|
+
display: block;
|
61
|
+
height: 45px;
|
62
|
+
padding: 25px 10px 0px 10px;
|
63
|
+
text-decoration: none;
|
64
|
+
}
|
65
|
+
|
66
|
+
#top nav ul li a:hover
|
67
|
+
{
|
68
|
+
background: #D43919;
|
69
|
+
}
|
70
|
+
|
71
|
+
/* Footer at the bottom of the page */
|
72
|
+
#footer
|
73
|
+
{
|
74
|
+
text-align: center;
|
75
|
+
}
|
76
|
+
|
77
|
+
#footer p
|
78
|
+
{
|
79
|
+
font-size: 13px;
|
80
|
+
margin-bottom: 10px;
|
81
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* http://meyerweb.com/eric/tools/css/reset/
|
5
|
+
* v2.0 | 20110126
|
6
|
+
* License: none (public domain)
|
7
|
+
*/
|
8
|
+
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
9
|
+
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small,
|
10
|
+
strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset,
|
11
|
+
form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
|
12
|
+
canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output,
|
13
|
+
ruby, section, summary, time, mark, audio, video
|
14
|
+
{
|
15
|
+
border: 0;
|
16
|
+
font-size: 100%;
|
17
|
+
font: inherit;
|
18
|
+
margin: 0;
|
19
|
+
padding: 0;
|
20
|
+
vertical-align: baseline;
|
21
|
+
}
|
22
|
+
|
23
|
+
/* HTML5 display-role reset for older browsers */
|
24
|
+
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
|
25
|
+
{
|
26
|
+
display: block;
|
27
|
+
}
|
28
|
+
|
29
|
+
body
|
30
|
+
{
|
31
|
+
line-height: 1.3;
|
32
|
+
}
|
33
|
+
|
34
|
+
ol, ul, ol li, ul li
|
35
|
+
{
|
36
|
+
list-style-type: none;
|
37
|
+
margin: 0px;
|
38
|
+
padding: 0px;
|
39
|
+
}
|
40
|
+
|
41
|
+
blockquote, q
|
42
|
+
{
|
43
|
+
quotes: none;
|
44
|
+
}
|
45
|
+
|
46
|
+
blockquote:before, blockquote:after, q:before, q:after
|
47
|
+
{
|
48
|
+
content: '';
|
49
|
+
content: none;
|
50
|
+
}
|
51
|
+
|
52
|
+
table
|
53
|
+
{
|
54
|
+
/**
|
55
|
+
* Instead of "collapse" I'm using "separate" as that allows me to give table cells
|
56
|
+
* a border without having to go through a lot of trouble
|
57
|
+
*/
|
58
|
+
border-collapse: separate;
|
59
|
+
border-spacing: 0;
|
60
|
+
width: 100%;
|
61
|
+
}
|
62
|
+
|
63
|
+
table th
|
64
|
+
{
|
65
|
+
font-weight: bold;
|
66
|
+
}
|
67
|
+
|
68
|
+
pre, code
|
69
|
+
{
|
70
|
+
font-size: 13px;
|
71
|
+
font-family: monospace;
|
72
|
+
}
|
73
|
+
|
74
|
+
/**
|
75
|
+
* These form elements usually don't trigger any special cursor and thus can confuse
|
76
|
+
* users when these elements have custom styles (e.g. a background image).
|
77
|
+
*/
|
78
|
+
input[type="submit"], input[type="button"], input[type="checkbox"], input[type="radio"],
|
79
|
+
button, select
|
80
|
+
{
|
81
|
+
cursor: pointer;
|
82
|
+
}
|
83
|
+
|
84
|
+
*[disabled], *[disabled="disabled"]
|
85
|
+
{
|
86
|
+
cursor: not-allowed;
|
87
|
+
}
|
88
|
+
|
89
|
+
textarea
|
90
|
+
{
|
91
|
+
overflow: auto;
|
92
|
+
}
|
93
|
+
|
94
|
+
acronym, abbr
|
95
|
+
{
|
96
|
+
cursor: help;
|
97
|
+
}
|
98
|
+
|
99
|
+
/* Some typography related styles */
|
100
|
+
body
|
101
|
+
{
|
102
|
+
font-size: 16px;
|
103
|
+
}
|
104
|
+
|
105
|
+
h1, h2, h3, h4, h5, h6
|
106
|
+
{
|
107
|
+
font-weight: bold;
|
108
|
+
}
|
109
|
+
|
110
|
+
a:hover, a:active
|
111
|
+
{
|
112
|
+
outline: none;
|
113
|
+
}
|
114
|
+
|
115
|
+
strong
|
116
|
+
{
|
117
|
+
font-weight: bold;
|
118
|
+
}
|
119
|
+
|
120
|
+
small
|
121
|
+
{
|
122
|
+
font-size: 11px;
|
123
|
+
}
|