ramaze 2011.01.30 → 2011.07.25

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.
Files changed (229) hide show
  1. data/.gitignore +2 -1
  2. data/.mailmap +2 -0
  3. data/.rvmrc +1 -0
  4. data/README.md +119 -197
  5. data/Rakefile +14 -97
  6. data/bin/ramaze +6 -14
  7. data/doc/AUTHORS +8 -4
  8. data/doc/CHANGELOG +3784 -3339
  9. data/examples/app/chat/start.rb +2 -2
  10. data/lib/proto/app.rb +2 -3
  11. data/lib/proto/config.ru +4 -5
  12. data/lib/proto/controller/init.rb +11 -4
  13. data/lib/proto/controller/main.rb +12 -7
  14. data/lib/proto/layout/default.xhtml +56 -23
  15. data/lib/proto/model/init.rb +3 -1
  16. data/lib/proto/public/css/grid.css +107 -0
  17. data/lib/proto/public/css/layout.css +81 -0
  18. data/lib/proto/public/css/reset.css +123 -0
  19. data/lib/proto/public/css/text.css +109 -0
  20. data/lib/proto/public/images/bg.png +0 -0
  21. data/lib/proto/spec/main.rb +2 -2
  22. data/lib/proto/start.rb +11 -1
  23. data/lib/proto/view/index.xhtml +27 -23
  24. data/lib/ramaze.rb +0 -1
  25. data/lib/ramaze/app.rb +85 -12
  26. data/lib/ramaze/app_graph.rb +107 -0
  27. data/lib/ramaze/bin/console.rb +87 -0
  28. data/lib/ramaze/bin/create.rb +94 -0
  29. data/lib/ramaze/bin/helper.rb +107 -0
  30. data/lib/ramaze/bin/restart.rb +95 -0
  31. data/lib/ramaze/bin/runner.rb +141 -0
  32. data/lib/ramaze/bin/start.rb +206 -0
  33. data/lib/ramaze/bin/status.rb +152 -0
  34. data/lib/ramaze/bin/stop.rb +112 -0
  35. data/lib/ramaze/cache.rb +9 -4
  36. data/lib/ramaze/cache/localmemcache.rb +10 -13
  37. data/lib/ramaze/cache/lru.rb +49 -7
  38. data/lib/ramaze/cache/memcache.rb +170 -92
  39. data/lib/ramaze/cache/sequel.rb +301 -118
  40. data/lib/ramaze/controller.rb +108 -9
  41. data/lib/ramaze/controller/default.rb +15 -2
  42. data/lib/ramaze/current.rb +14 -2
  43. data/lib/ramaze/dependencies.rb +46 -0
  44. data/lib/ramaze/files.rb +38 -3
  45. data/lib/ramaze/gestalt.rb +12 -12
  46. data/lib/ramaze/helper.rb +0 -2
  47. data/lib/ramaze/helper/auth.rb +30 -23
  48. data/lib/ramaze/helper/blue_form.rb +175 -126
  49. data/lib/ramaze/helper/csrf.rb +76 -91
  50. data/lib/ramaze/helper/email.rb +105 -0
  51. data/lib/ramaze/helper/erector.rb +16 -15
  52. data/lib/ramaze/helper/gestalt.rb +2 -2
  53. data/lib/ramaze/helper/layout.rb +89 -73
  54. data/lib/ramaze/helper/link.rb +7 -6
  55. data/lib/ramaze/helper/localize.rb +6 -5
  56. data/lib/ramaze/helper/markaby.rb +25 -23
  57. data/lib/ramaze/helper/maruku.rb +3 -3
  58. data/lib/ramaze/helper/paginate.rb +19 -27
  59. data/lib/ramaze/helper/remarkably.rb +3 -3
  60. data/lib/ramaze/helper/request_accessor.rb +3 -3
  61. data/lib/ramaze/helper/send_file.rb +12 -8
  62. data/lib/ramaze/helper/simple_captcha.rb +5 -6
  63. data/lib/ramaze/helper/stack.rb +7 -4
  64. data/lib/ramaze/helper/tagz.rb +10 -11
  65. data/lib/ramaze/helper/thread.rb +19 -16
  66. data/lib/ramaze/helper/ultraviolet.rb +7 -4
  67. data/lib/ramaze/helper/user.rb +40 -21
  68. data/lib/ramaze/helper/xhtml.rb +29 -20
  69. data/lib/ramaze/log.rb +3 -11
  70. data/lib/ramaze/log/analogger.rb +5 -4
  71. data/lib/ramaze/log/growl.rb +9 -7
  72. data/lib/ramaze/log/hub.rb +3 -5
  73. data/lib/ramaze/log/informer.rb +15 -12
  74. data/lib/ramaze/log/knotify.rb +3 -5
  75. data/lib/ramaze/log/logger.rb +3 -5
  76. data/lib/ramaze/log/logging.rb +6 -8
  77. data/lib/ramaze/log/rotatinginformer.rb +27 -17
  78. data/lib/ramaze/log/syslog.rb +7 -7
  79. data/lib/ramaze/log/xosd.rb +3 -5
  80. data/lib/ramaze/middleware_compiler.rb +27 -4
  81. data/lib/ramaze/reloader.rb +50 -12
  82. data/lib/ramaze/reloader/watch_inotify.rb +4 -5
  83. data/lib/ramaze/reloader/watch_stat.rb +3 -3
  84. data/lib/ramaze/request.rb +18 -8
  85. data/lib/ramaze/response.rb +38 -7
  86. data/lib/ramaze/rest.rb +36 -0
  87. data/lib/ramaze/setup.rb +101 -31
  88. data/lib/ramaze/spec.rb +1 -1
  89. data/lib/ramaze/spec/bacon.rb +6 -3
  90. data/lib/ramaze/spec/helper/bacon.rb +0 -1
  91. data/lib/ramaze/version.rb +1 -1
  92. data/lib/ramaze/view.rb +2 -11
  93. data/lib/ramaze/view/erector.rb +46 -31
  94. data/lib/ramaze/view/erubis.rb +7 -3
  95. data/lib/ramaze/view/ezamar.rb +7 -3
  96. data/lib/ramaze/view/gestalt.rb +9 -3
  97. data/lib/ramaze/view/haml.rb +7 -3
  98. data/lib/ramaze/view/liquid.rb +3 -3
  99. data/lib/ramaze/view/lokar.rb +7 -3
  100. data/lib/ramaze/view/mustache.rb +11 -5
  101. data/lib/ramaze/view/nagoro.rb +3 -3
  102. data/lib/ramaze/view/sass.rb +1 -1
  103. data/lib/ramaze/view/slippers.rb +40 -13
  104. data/lib/ramaze/view/tagz.rb +9 -5
  105. data/ramaze.gemspec +23 -128
  106. data/spec/helper.rb +5 -0
  107. data/spec/ramaze/bin/app/config.ru +11 -0
  108. data/spec/ramaze/bin/create.rb +28 -0
  109. data/spec/ramaze/bin/runner.rb +30 -0
  110. data/spec/ramaze/bin/start.rb +38 -0
  111. data/spec/ramaze/cache/memcache.rb +10 -3
  112. data/spec/ramaze/cache/sequel.rb +7 -0
  113. data/spec/ramaze/controller/provide_inheritance.rb +0 -10
  114. data/spec/ramaze/dispatcher/file.rb +19 -15
  115. data/spec/ramaze/helper/auth.rb +10 -9
  116. data/spec/ramaze/helper/blue_form.rb +121 -68
  117. data/spec/ramaze/helper/email.rb +69 -0
  118. data/spec/ramaze/helper/layout.rb +12 -15
  119. data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
  120. data/spec/ramaze/helper/user.rb +2 -0
  121. data/spec/ramaze/log/growl.rb +14 -1
  122. data/spec/{contrib → ramaze}/rest.rb +1 -1
  123. data/spec/ramaze/session/memcache.rb +2 -2
  124. data/spec/ramaze/view/sass.rb +1 -1
  125. data/tasks/bacon.rake +3 -3
  126. data/tasks/gem.rake +17 -18
  127. data/tasks/rcov.rake +2 -3
  128. data/tasks/release.rake +8 -65
  129. data/tasks/setup.rake +10 -8
  130. data/tasks/todo.rake +9 -5
  131. data/tasks/yard.rake +3 -2
  132. metadata +105 -397
  133. data/MANIFEST +0 -532
  134. data/TODO.md +0 -19
  135. data/benchmark/bench_templates/bench.rb +0 -67
  136. data/benchmark/bench_templates/view/large.erb +0 -79
  137. data/benchmark/bench_templates/view/large.haml +0 -41
  138. data/benchmark/bench_templates/view/large.lok +0 -79
  139. data/benchmark/bench_templates/view/large.xhtml +0 -79
  140. data/benchmark/bench_templates/view/small.erb +0 -21
  141. data/benchmark/bench_templates/view/small.haml +0 -12
  142. data/benchmark/bench_templates/view/small.lok +0 -21
  143. data/benchmark/bench_templates/view/small.xhtml +0 -21
  144. data/benchmark/results.txt +0 -131
  145. data/benchmark/run.rb +0 -355
  146. data/benchmark/suite/minimal.rb +0 -11
  147. data/benchmark/suite/no_informer.rb +0 -7
  148. data/benchmark/suite/no_sessions.rb +0 -9
  149. data/benchmark/suite/no_template.rb +0 -7
  150. data/benchmark/suite/simple.rb +0 -5
  151. data/benchmark/suite/template_erubis.rb +0 -8
  152. data/benchmark/suite/template_etanni.rb +0 -8
  153. data/benchmark/suite/template_ezamar.rb +0 -8
  154. data/benchmark/suite/template_haml.rb +0 -13
  155. data/benchmark/suite/template_liquid.rb +0 -11
  156. data/benchmark/suite/template_markaby.rb +0 -9
  157. data/benchmark/suite/template_nagoro.rb +0 -8
  158. data/benchmark/suite/template_redcloth.rb +0 -13
  159. data/benchmark/suite/template_tenjin.rb +0 -8
  160. data/benchmark/test.rb +0 -35
  161. data/doc/FAQ +0 -92
  162. data/doc/INSTALL +0 -92
  163. data/doc/TODO +0 -29
  164. data/doc/meta/announcement.txt +0 -119
  165. data/doc/meta/configuration.txt +0 -163
  166. data/doc/meta/internals.txt +0 -278
  167. data/doc/meta/users.kml +0 -64
  168. data/doc/tutorial/todolist.html +0 -1512
  169. data/doc/tutorial/todolist.txt +0 -920
  170. data/examples/app/sourceview/public/coderay.css +0 -104
  171. data/examples/app/sourceview/public/images/file.gif +0 -0
  172. data/examples/app/sourceview/public/images/folder.gif +0 -0
  173. data/examples/app/sourceview/public/images/tv-collapsable-last.gif +0 -0
  174. data/examples/app/sourceview/public/images/tv-collapsable.gif +0 -0
  175. data/examples/app/sourceview/public/images/tv-expandable-last.gif +0 -0
  176. data/examples/app/sourceview/public/images/tv-expandable.gif +0 -0
  177. data/examples/app/sourceview/public/images/tv-item-last.gif +0 -0
  178. data/examples/app/sourceview/public/images/tv-item.gif +0 -0
  179. data/examples/app/sourceview/public/jquery.js +0 -11
  180. data/examples/app/sourceview/public/jquery.treeview.css +0 -48
  181. data/examples/app/sourceview/public/jquery.treeview.js +0 -223
  182. data/examples/app/sourceview/public/sourceview.js +0 -52
  183. data/examples/app/sourceview/start.rb +0 -79
  184. data/examples/app/sourceview/view/index.haml +0 -59
  185. data/examples/helpers/httpdigest.rb +0 -107
  186. data/lib/proto/public/css/screen.css +0 -30
  187. data/lib/proto/public/js/jquery.js +0 -7179
  188. data/lib/ramaze/contrib/addressable_route.rb +0 -56
  189. data/lib/ramaze/contrib/app_graph.rb +0 -64
  190. data/lib/ramaze/contrib/email.rb +0 -88
  191. data/lib/ramaze/contrib/facebook.rb +0 -23
  192. data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
  193. data/lib/ramaze/contrib/gettext.rb +0 -113
  194. data/lib/ramaze/contrib/gettext/mo.rb +0 -155
  195. data/lib/ramaze/contrib/gettext/parser.rb +0 -46
  196. data/lib/ramaze/contrib/gettext/po.rb +0 -109
  197. data/lib/ramaze/contrib/gzip_filter.rb +0 -1
  198. data/lib/ramaze/contrib/maruku_uv.rb +0 -59
  199. data/lib/ramaze/contrib/profiling.rb +0 -36
  200. data/lib/ramaze/contrib/rest.rb +0 -23
  201. data/lib/ramaze/contrib/sequel/create_join.rb +0 -26
  202. data/lib/ramaze/contrib/sequel/form_field.rb +0 -129
  203. data/lib/ramaze/contrib/sequel/image.rb +0 -196
  204. data/lib/ramaze/contrib/sequel/relation.rb +0 -98
  205. data/lib/ramaze/helper/httpdigest.rb +0 -96
  206. data/lib/ramaze/tool/bin.rb +0 -340
  207. data/lib/ramaze/tool/create.rb +0 -48
  208. data/lib/ramaze/tool/project_creator.rb +0 -120
  209. data/lib/ramaze/view/less.rb +0 -12
  210. data/lib/ramaze/view/maruku.rb +0 -15
  211. data/lib/ramaze/view/redcloth.rb +0 -21
  212. data/spec/contrib/addressable_route.rb +0 -30
  213. data/spec/examples/helpers/httpdigest.rb +0 -64
  214. data/spec/examples/templates/template_redcloth.rb +0 -13
  215. data/spec/ramaze/bin/ramaze.rb +0 -96
  216. data/spec/ramaze/helper/httpdigest.rb +0 -176
  217. data/spec/ramaze/view/less.rb +0 -60
  218. data/spec/ramaze/view/less/file.css.less +0 -8
  219. data/spec/ramaze/view/redcloth.rb +0 -66
  220. data/spec/ramaze/view/redcloth/external.redcloth +0 -8
  221. data/tasks/copyright.rake +0 -21
  222. data/tasks/gem_setup.rake +0 -112
  223. data/tasks/git.rake +0 -46
  224. data/tasks/grancher.rake +0 -12
  225. data/tasks/jquery.rake +0 -15
  226. data/tasks/manifest.rake +0 -4
  227. data/tasks/metric_changes.rake +0 -24
  228. data/tasks/reversion.rake +0 -8
  229. data/tasks/traits.rake +0 -21
@@ -1,8 +1,8 @@
1
1
  require 'rubygems'
2
2
  require 'ramaze'
3
3
 
4
- require 'model/history'
5
- require 'model/message'
4
+ require __DIR__ 'model/history'
5
+ require __DIR__ 'model/message'
6
6
 
7
7
  class ChatRoom < Ramaze::Controller
8
8
  map '/'
data/lib/proto/app.rb CHANGED
@@ -1,8 +1,7 @@
1
- # This file contains your application, it requires dependencies and necessary
2
- # parts of the application.
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
- # rackup is a useful tool for running Rack applications, which uses the
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
- # rackup automatically figures out the environment it is run in, and runs your
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 :Etanni
8
+ engine :etanni
8
9
  end
9
10
 
10
- # Here go your requires for subclasses of Controller:
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
- # a controller called Main is mapped on the root of the site: /
3
- # a controller called Something is mapped on: /something
4
- # If you want to override this, add a line like this inside the class
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
- # this will force the controller to be mounted on: /otherurl
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 = "Welcome to Ramaze!"
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
- "there is no 'notemplate.xhtml' associated with this action"
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
- <?xml version="1.0" ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml">
5
- <head>
6
- <title>#{@title}</title>
7
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
8
- <meta http-equiv="Content-Style-Type" content="text/css" />
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="expires" content="0" />
11
- <meta name="description" content="Description for search engines" />
12
- <meta name="generator" content="Ramaze #{Ramaze::VERSION}" />
13
- <meta name="keywords" content="Ramaze, Your own keywords" />
14
- <meta name="author" content="Max Mustermann" />
15
- <meta name="date" content="#{Time.now.iso8601}" />
16
- #{css 'screen'}
17
- </head>
18
- <body>
19
- <h1>#{@title}</h1>
20
- <div id="content">
21
- #@content
22
- </div>
23
- </body>
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>
@@ -1,4 +1,6 @@
1
- # Here goes your database connection and options:
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
+ }