zen 0.2.4.1 → 0.2.5

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 (189) hide show
  1. data/MANIFEST +42 -33
  2. data/README.md +14 -27
  3. data/ROADMAP.md +20 -2
  4. data/{Thorfile → Rakefile} +2 -3
  5. data/bin/zen +27 -5
  6. data/lib/zen.rb +70 -52
  7. data/lib/zen/asset.rb +258 -0
  8. data/lib/zen/bin/app.rb +42 -0
  9. data/lib/zen/controller/admin_controller.rb +53 -36
  10. data/lib/zen/controller/base_controller.rb +13 -8
  11. data/lib/zen/controller/frontend_controller.rb +4 -3
  12. data/lib/zen/controller/main_controller.rb +17 -33
  13. data/lib/zen/error/validation_error.rb +10 -0
  14. data/lib/zen/ext/string.rb +185 -0
  15. data/lib/zen/helper/acl.rb +120 -92
  16. data/lib/zen/helper/common.rb +1 -3
  17. data/lib/zen/helper/theme.rb +73 -0
  18. data/lib/zen/language.rb +66 -57
  19. data/lib/zen/layout/admin.xhtml +5 -48
  20. data/lib/zen/layout/login.xhtml +4 -44
  21. data/lib/zen/model/methods.rb +1 -1
  22. data/lib/zen/model/settings.rb +0 -3
  23. data/lib/zen/package.rb +101 -83
  24. data/lib/zen/package/base.rb +62 -0
  25. data/lib/zen/package/categories/lib/categories.rb +29 -10
  26. data/lib/zen/package/categories/lib/categories/controller/categories.rb +4 -5
  27. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +4 -5
  28. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +4 -3
  29. data/lib/zen/package/categories/lib/categories/model/category.rb +2 -2
  30. data/lib/zen/package/categories/lib/categories/model/category_group.rb +3 -3
  31. data/lib/zen/package/categories/lib/categories/plugin/categories.rb +130 -0
  32. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +1 -1
  33. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +2 -2
  34. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +11 -6
  35. data/lib/zen/package/comments/lib/comments.rb +23 -13
  36. data/lib/zen/package/comments/lib/comments/controller/comments.rb +4 -5
  37. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +7 -8
  38. data/lib/zen/package/comments/lib/comments/model/comment.rb +4 -4
  39. data/lib/zen/package/comments/lib/comments/plugin/comments.rb +111 -0
  40. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +2 -2
  41. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +3 -3
  42. data/lib/zen/package/custom_fields/lib/custom_fields.rb +18 -11
  43. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +4 -5
  44. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +4 -5
  45. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +2 -2
  46. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +3 -3
  47. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +3 -3
  48. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +9 -5
  49. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +1 -1
  50. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +3 -3
  51. data/lib/zen/package/menus/lib/menus.rb +25 -43
  52. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +5 -6
  53. data/lib/zen/package/menus/lib/menus/controller/menus.rb +9 -5
  54. data/lib/zen/package/menus/lib/menus/helper/menu_item.rb +4 -4
  55. data/lib/zen/package/menus/lib/menus/model/menu.rb +2 -2
  56. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +4 -1
  57. data/lib/zen/package/menus/lib/menus/plugin/menus.rb +152 -0
  58. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +1 -1
  59. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +3 -3
  60. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +7 -7
  61. data/lib/zen/package/sections/lib/sections.rb +32 -16
  62. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +9 -18
  63. data/lib/zen/package/sections/lib/sections/controller/sections.rb +8 -9
  64. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +1 -1
  65. data/lib/zen/package/sections/lib/sections/model/section.rb +4 -4
  66. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +9 -10
  67. data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +224 -0
  68. data/lib/zen/package/sections/lib/sections/plugin/sections.rb +85 -0
  69. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +1 -1
  70. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +9 -5
  71. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +2 -2
  72. data/lib/zen/package/settings/lib/settings.rb +145 -10
  73. data/lib/zen/package/settings/lib/settings/controller/settings.rb +28 -24
  74. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +10 -0
  75. data/lib/zen/package/settings/lib/settings/model/setting.rb +3 -64
  76. data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +40 -0
  77. data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +76 -0
  78. data/lib/zen/package/settings/lib/settings/plugin/settings.rb +236 -0
  79. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +20 -49
  80. data/lib/zen/package/settings/migrations/1295597111_create_schema.rb +0 -12
  81. data/lib/zen/package/settings/migrations/1303196915_settings_plugin.rb +31 -0
  82. data/lib/zen/package/users/lib/users.rb +18 -15
  83. data/lib/zen/package/users/lib/users/controller/access_rules.rb +44 -8
  84. data/lib/zen/package/users/lib/users/controller/user_groups.rb +4 -5
  85. data/lib/zen/package/users/lib/users/controller/users.rb +5 -6
  86. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +11 -9
  87. data/lib/zen/package/users/lib/users/model/access_rule.rb +7 -6
  88. data/lib/zen/package/users/lib/users/model/user.rb +4 -4
  89. data/lib/zen/package/users/lib/users/model/user_group.rb +3 -3
  90. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +50 -0
  91. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +32 -29
  92. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +8 -6
  93. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +3 -3
  94. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +2 -2
  95. data/lib/zen/package/users/migrations/1303510943_class_rules.rb +13 -0
  96. data/lib/zen/plugin.rb +110 -104
  97. data/lib/zen/plugin/base.rb +46 -0
  98. data/lib/zen/{liquid/controller_behavior.rb → plugin/controller.rb} +9 -7
  99. data/lib/zen/plugin/helper.rb +47 -0
  100. data/lib/zen/plugin/markup/lib/markup.rb +14 -0
  101. data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +6 -0
  102. data/lib/zen/plugin/markup/lib/markup/markup.rb +154 -0
  103. data/lib/zen/public/admin/css/forms.css +4 -0
  104. data/lib/zen/public/admin/css/general.css +15 -15
  105. data/lib/zen/public/admin/css/layout.css +10 -10
  106. data/lib/zen/public/admin/css/reset.css +123 -0
  107. data/lib/zen/public/admin/images/icons/accept.png +0 -0
  108. data/lib/zen/public/admin/images/icons/add.png +0 -0
  109. data/lib/zen/public/admin/images/icons/back.png +0 -0
  110. data/lib/zen/public/admin/images/icons/bold.png +0 -0
  111. data/lib/zen/public/admin/images/icons/close.png +0 -0
  112. data/lib/zen/public/admin/images/icons/delete.png +0 -0
  113. data/lib/zen/public/admin/images/icons/edit.png +0 -0
  114. data/lib/zen/public/admin/images/icons/error.png +0 -0
  115. data/lib/zen/public/admin/images/icons/help.png +0 -0
  116. data/lib/zen/public/admin/images/icons/info.png +0 -0
  117. data/lib/zen/public/admin/images/icons/italic.png +0 -0
  118. data/lib/zen/public/admin/images/icons/large/error.png +0 -0
  119. data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
  120. data/lib/zen/public/admin/images/icons/large/success.png +0 -0
  121. data/lib/zen/public/admin/images/icons/link.png +0 -0
  122. data/lib/zen/public/admin/images/icons/logout.png +0 -0
  123. data/lib/zen/public/admin/images/icons/ol.png +0 -0
  124. data/lib/zen/public/admin/images/icons/pdf.png +0 -0
  125. data/lib/zen/public/admin/images/icons/ul.png +0 -0
  126. data/lib/zen/public/admin/images/icons/user.png +0 -0
  127. data/lib/zen/public/admin/images/icons/view.png +0 -0
  128. data/lib/zen/public/admin/js/mootools/core.js +384 -333
  129. data/lib/zen/public/admin/js/mootools/more.js +256 -231
  130. data/lib/zen/public/admin/js/vendor/{datepicker/Picker.Date.js → datepicker.js} +447 -0
  131. data/lib/zen/public/admin/js/vendor/yepnope.js +1 -0
  132. data/lib/zen/public/admin/js/zen/editor/base.js +8 -1
  133. data/lib/zen/public/admin/js/zen/init.js +89 -26
  134. data/lib/zen/public/favicon.ico +0 -0
  135. data/lib/zen/task.rb +7 -0
  136. data/lib/zen/task/build.rake +60 -0
  137. data/lib/zen/task/clean.rake +27 -0
  138. data/lib/zen/task/db.rake +111 -0
  139. data/lib/zen/task/package.rake +67 -0
  140. data/lib/zen/task/plugin.rake +24 -0
  141. data/lib/zen/task/proto.rake +95 -0
  142. data/lib/zen/task/theme.rake +68 -0
  143. data/lib/zen/theme.rb +28 -55
  144. data/lib/zen/theme/base.rb +64 -0
  145. data/lib/zen/validation.rb +149 -0
  146. data/lib/zen/version.rb +1 -1
  147. data/lib/zen/view/bottom.xhtml +6 -0
  148. data/lib/zen/view/main.xhtml +32 -0
  149. data/proto/app/Rakefile +12 -0
  150. data/proto/app/app.rb +6 -6
  151. data/proto/app/config/config.rb +7 -14
  152. data/proto/app/config/database.rb +0 -20
  153. data/proto/app/start.rb +0 -1
  154. data/proto/app/{vendor/themes → task}/.gitkeep +0 -0
  155. data/proto/app/vendor/theme/.gitkeep +0 -0
  156. data/proto/package/lib/package.rb +8 -17
  157. data/proto/package/lib/package/controller/controllers.rb +4 -4
  158. data/proto/package/lib/package/language/en/languages.yml +3 -3
  159. data/proto/package/lib/package/model/model.rb +1 -1
  160. metadata +73 -73
  161. data/lib/zen/bin/base.rb +0 -109
  162. data/lib/zen/helper/asset.rb +0 -106
  163. data/lib/zen/liquid/general.rb +0 -94
  164. data/lib/zen/liquid/redirect.rb +0 -70
  165. data/lib/zen/liquid/strip.rb +0 -60
  166. data/lib/zen/package/categories/lib/categories/liquid/categories.rb +0 -16
  167. data/lib/zen/package/comments/lib/comments/liquid/comment_form.rb +0 -127
  168. data/lib/zen/package/comments/lib/comments/liquid/comments.rb +0 -115
  169. data/lib/zen/package/menus/lib/menus/liquid/menus.rb +0 -152
  170. data/lib/zen/package/sections/lib/sections/liquid/section_entries.rb +0 -228
  171. data/lib/zen/package/sections/lib/sections/liquid/sections.rb +0 -77
  172. data/lib/zen/package/settings/lib/settings/liquid/setting.rb +0 -58
  173. data/lib/zen/package/users/lib/users/liquid/user.rb +0 -77
  174. data/lib/zen/package/users/lib/users/liquid/users.rb +0 -82
  175. data/lib/zen/plugin/markup.rb +0 -30
  176. data/lib/zen/public/admin/css/boilerplate.css +0 -176
  177. data/lib/zen/public/admin/images/general/noise.jpg +0 -0
  178. data/lib/zen/public/admin/js/vendor/datepicker/Picker.Attach.js +0 -137
  179. data/lib/zen/public/admin/js/vendor/datepicker/Picker.js +0 -291
  180. data/lib/zen/public/admin/js/vendor/datepicker/README.md +0 -325
  181. data/lib/zen/public/admin/js/vendor/datepicker/locale.js +0 -16
  182. data/lib/zen/strict_struct.rb +0 -36
  183. data/lib/zen/task/build.rb +0 -123
  184. data/lib/zen/task/clean.rb +0 -46
  185. data/lib/zen/task/db.rb +0 -130
  186. data/lib/zen/task/package.rb +0 -87
  187. data/lib/zen/task/proto.rb +0 -116
  188. data/lib/zen/task/theme.rb +0 -88
  189. data/proto/app/Thorfile +0 -4
@@ -0,0 +1,47 @@
1
+ #:nodoc:
2
+ module Zen
3
+ #:nodoc:
4
+ module Plugin
5
+ ##
6
+ # Module containing various methods that can be used for developing plugins.
7
+ #
8
+ # @author Yorick Peterse
9
+ # @since 0.2.5
10
+ #
11
+ module Helper
12
+
13
+ ##
14
+ # Method that can be used to validate the class of a given variable. If the class
15
+ # isn't included in the whitelist an error will be triggered explaining the error.
16
+ #
17
+ # @example
18
+ # username = 10
19
+ # validate_type(username, :username, [String]) # => TypeError: "\"username\" can only
20
+ # be an instance of String but got Integer."
21
+ #
22
+ # @author Yorick Peterse
23
+ # @since 0.2.5
24
+ # @param [Mixed] variable The variable to validate.
25
+ # @param [Symbol/String] name The name of the variable to validate.
26
+ # @param [Array] whitelist Whitelist of the allowed classes.
27
+ # @raise TypeError Raised whenever the variable's class wasn't allowed.
28
+ #
29
+ def validate_type(variable, name, whitelist)
30
+ if whitelist.class != Array
31
+ whitelist = [whitelist]
32
+ end
33
+
34
+ name = name.to_s
35
+ classes = whitelist.join(' or ').to_s
36
+
37
+ if !whitelist.include?(variable.class)
38
+ raise(
39
+ TypeError,
40
+ "\"#{name}\" can only be an instance of #{classes} but got #{variable.class}"
41
+ )
42
+ end
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,14 @@
1
+ # Load our language packs
2
+ Zen::Language.options.paths.push(__DIR__('markup'))
3
+ Zen::Language.load('markup')
4
+
5
+ # Load the actual plugin
6
+ require __DIR__('markup/markup')
7
+
8
+ # Describe the plugin
9
+ Zen::Plugin.add do |plugin|
10
+ plugin.name = 'markup'
11
+ plugin.author = 'Yorick Peterse'
12
+ plugin.about = 'Plugin used for converting various markup formats to HTML.'
13
+ plugin.plugin = Zen::Plugin::Markup
14
+ end
@@ -0,0 +1,6 @@
1
+ ---
2
+ engines:
3
+ html : 'HTML'
4
+ markdown : 'Markdown'
5
+ textile : 'Textile'
6
+ plain : 'Plain text'
@@ -0,0 +1,154 @@
1
+ #:nodoc
2
+ module Zen
3
+ #:nodoc
4
+ module Plugin
5
+ ##
6
+ # The Markup plugin is used to convert the given markup using the specified engine.
7
+ # Out of the box this plugin is capable of doing the following:
8
+ #
9
+ # * Markdown -> HTML
10
+ # * Textile -> HTML
11
+ # * HTML -> Plain text (escapes HTML)
12
+ # * Regular HTML
13
+ #
14
+ # When using Markdown you'll have to make sure RDiscount is loaded, for Textile this
15
+ # should be RedCloth.
16
+ #
17
+ # ## Usage
18
+ #
19
+ # Using this plugin can be done as following::
20
+ #
21
+ # plugin(:markup, :markdown, "hello **world**")
22
+ #
23
+ # ## Adding Engines
24
+ #
25
+ # In order to add a custom markdown engine (e.g. RDoc) you'll have to update
26
+ # Zen::Plugin::Markup::Engines so that it includes the name and human readable name
27
+ # of the engine you wish to use. This can be done as following:
28
+ #
29
+ # Zen::Plugin::Markup::Engines[:rdoc] => 'RDoc'
30
+ #
31
+ # Once this is done you'll need to define a method that matches the key you've just
32
+ # added. In this case it will be named "rdoc":
33
+ #
34
+ # module Zen
35
+ # module Plugin
36
+ # class Markup
37
+ # def rdoc(markup)
38
+ # # Do something with the markup in the variable "markup"
39
+ # end
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ # Once this has been done you're able to convert RDoc markup to HTML using this plugin.
45
+ #
46
+ # @author Yorick Peterse
47
+ # @since 0.2.5
48
+ #
49
+ class Markup
50
+ include Ramaze::Helper::CGI
51
+
52
+ # Load the language pack in the class method scope rather than the instance's scope
53
+ class << self
54
+ include Zen::Language
55
+ end
56
+
57
+ ##
58
+ # Hash containing the keys of the engines to use and their human friendly names
59
+ # (used in the backend). Note that the keys of this hash should be strings.
60
+ #
61
+ # @author Yorick Peterse
62
+ # @since 0.2.5
63
+ #
64
+ Engines = {
65
+ 'markdown' => lang('markup.engines.markdown'),
66
+ 'textile' => lang('markup.engines.textile'),
67
+ 'plain' => lang('markup.engines.plain'),
68
+ 'html' => lang('markup.engines.html')
69
+ }
70
+
71
+ ##
72
+ # Creates a new instance of the markup plugin and validates all the given parameters.
73
+ #
74
+ # @author Yorick Peterse
75
+ # @since 0.2.5
76
+ # @param [Symbol] engine The markup engine to use (e.g. :markdown).
77
+ # @param [String] markup The markup to convert to HTML or something else.
78
+ #
79
+ def initialize(engine = 'markdown', markup = '')
80
+ @engine, @markup = engine.to_s, markup
81
+
82
+ # Validate the given engine
83
+ if !Engines.keys.include?(@engine)
84
+ raise(ArgumentError, "The markup engine \"#{@engine}\" is invalid.")
85
+ end
86
+
87
+ # Does the engine have a matching method?
88
+ if !respond_to?(@engine)
89
+ raise(NoMethodError, "The engine \"#{@engine}\" has no matching method.")
90
+ end
91
+ end
92
+
93
+ ##
94
+ # Converts the markup into HTML or plain text.
95
+ #
96
+ # @author Yorick Peterse
97
+ # @since 0.2.5
98
+ # @return [String] The converted markup.
99
+ #
100
+ def call
101
+ return send(@engine, @markup)
102
+ end
103
+
104
+ ##
105
+ # Converts the Markdown markup to HTML using RDiscount.
106
+ #
107
+ # @author Yorick Peterse
108
+ # @since 0.2.5
109
+ # @param [String] markup The Markdown string to convert to HTML.
110
+ # @return [String] The HTML returned by RDiscount.
111
+ #
112
+ def markdown(markup)
113
+ return RDiscount.new(markup).to_html
114
+ end
115
+
116
+ ##
117
+ # Converts Textile to HTML using RedCloth.
118
+ #
119
+ # @author Yorick Peterse
120
+ # @since 0.2.5
121
+ # @param [String] markup The Textile markup to convert to HTML.
122
+ # @return [String] The HTML returned by RedCloth.
123
+ #
124
+ def textile(markup)
125
+ return RedCloth.new(markup).to_html
126
+ end
127
+
128
+ ##
129
+ # Escapes all HTML using Ramaze::Helper::CGI.
130
+ #
131
+ # @author Yorick Peterse
132
+ # @since 0.2.5
133
+ # @param [String] markup The markup in which all HTML tags should be escaped.
134
+ # @return [String] String containing the escaped HTML.
135
+ #
136
+ def plain(markup)
137
+ return h(markup)
138
+ end
139
+
140
+ ##
141
+ # Ignores the markup and just returns it.
142
+ #
143
+ # @author Yorick Peterse
144
+ # @since 0.2.5
145
+ # @param [String] markup The markup to return.
146
+ # @return [String] String containing our markup.
147
+ #
148
+ def html(markup)
149
+ return markup
150
+ end
151
+
152
+ end
153
+ end
154
+ end
@@ -66,3 +66,7 @@ select
66
66
  margin-right: 10px;
67
67
  }
68
68
 
69
+ *[disabled], *[disabled="disabled"]
70
+ {
71
+ cursor: not-allowed;
72
+ }
@@ -11,6 +11,7 @@ body
11
11
  {
12
12
  background: #eee;
13
13
  font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, sans-serif;
14
+ font-size: 13px;
14
15
  }
15
16
 
16
17
  /* Headings */
@@ -49,34 +50,33 @@ h1, h2, h3, h4, h5, h6
49
50
  margin-bottom: 15px;
50
51
  }
51
52
 
52
- /* List elements */
53
- ol
53
+ /* General */
54
+ p,dl,hr,ol,ul,pre,table,address,fieldset
54
55
  {
55
- list-style:decimal;
56
+ margin-bottom: 20px;
56
57
  }
57
58
 
58
- ul
59
+ hr
59
60
  {
60
- list-style:disc;
61
+ border: 0 #ccc solid;
62
+ border-top-width: 1px;
63
+ clear: both;
64
+ height: 0;
61
65
  }
62
66
 
63
- li
67
+ .hidden
64
68
  {
65
- margin-left:30px;
69
+ display: none;
66
70
  }
67
71
 
68
- /* General */
69
- p,dl,hr,ol,ul,pre,table,address,fieldset
72
+ a, a:active, a:visited
70
73
  {
71
- margin-bottom: 20px;
74
+ color:#607890;
72
75
  }
73
76
 
74
- hr
77
+ a:hover
75
78
  {
76
- border: 0 #ccc solid;
77
- border-top-width: 1px;
78
- clear: both;
79
- height: 0;
79
+ color:#036;
80
80
  }
81
81
 
82
82
  /**
@@ -18,7 +18,7 @@
18
18
  width: 100%;
19
19
  }
20
20
 
21
- #top #main_nav .left li
21
+ #top #main_nav .left, #top #main_nav .left li
22
22
  {
23
23
  float: left;
24
24
  }
@@ -28,15 +28,15 @@
28
28
  float: right;
29
29
  }
30
30
 
31
- #top #main_nav ul li a
32
- {
33
- color: #fff;
34
- display: block;
35
- margin: 3px 10px;
36
- padding: 3px 3px 5px 3px;
37
- text-decoration: none;
38
- text-align: center;
39
- }
31
+ #top #main_nav ul li a
32
+ {
33
+ color: #fff;
34
+ display: block;
35
+ margin: 3px 10px;
36
+ padding: 3px 3px 5px 3px;
37
+ text-decoration: none;
38
+ text-align: center;
39
+ }
40
40
 
41
41
  #top #main_nav ul li:hover, #top #main_nav ul li a:hover
42
42
  {
@@ -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
+ }