lokka 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. data/Gemfile +48 -0
  2. data/LICENSE +20 -0
  3. data/README.ja.rdoc +46 -0
  4. data/README.rdoc +46 -0
  5. data/Rakefile +116 -0
  6. data/VERSION +1 -0
  7. data/bin/autotest +16 -0
  8. data/bin/bluefeather +16 -0
  9. data/bin/convert_to_should_syntax +16 -0
  10. data/bin/css2sass +16 -0
  11. data/bin/edit_json.rb +16 -0
  12. data/bin/erubis +16 -0
  13. data/bin/exceptional +16 -0
  14. data/bin/haml +16 -0
  15. data/bin/html2haml +16 -0
  16. data/bin/jeweler +16 -0
  17. data/bin/lokka +4 -0
  18. data/bin/prettify_json.rb +16 -0
  19. data/bin/rackup +16 -0
  20. data/bin/rake +16 -0
  21. data/bin/rcov +16 -0
  22. data/bin/sass +16 -0
  23. data/bin/sass-convert +16 -0
  24. data/bin/tilt +16 -0
  25. data/bin/unit_diff +16 -0
  26. data/config.ru +3 -0
  27. data/config.yml +4 -0
  28. data/i18n/en.yml +149 -0
  29. data/i18n/ja.yml +149 -0
  30. data/init.rb +7 -0
  31. data/install.rb +16 -0
  32. data/lib/lokka.rb +138 -0
  33. data/lib/lokka/app.rb +562 -0
  34. data/lib/lokka/before.rb +29 -0
  35. data/lib/lokka/bread_crumb.rb +34 -0
  36. data/lib/lokka/category.rb +33 -0
  37. data/lib/lokka/comment.rb +26 -0
  38. data/lib/lokka/entry.rb +70 -0
  39. data/lib/lokka/helpers.rb +214 -0
  40. data/lib/lokka/option.rb +23 -0
  41. data/lib/lokka/site.rb +19 -0
  42. data/lib/lokka/tag.rb +5 -0
  43. data/lib/lokka/theme.rb +17 -0
  44. data/lib/lokka/user.rb +77 -0
  45. data/lib/sqlite3.dll +0 -0
  46. data/lokka.exe +0 -0
  47. data/lokka.exy +15 -0
  48. data/lokka.gemspec +373 -0
  49. data/lokka.ico +0 -0
  50. data/lokka.rb +11 -0
  51. data/public/admin/categories/edit.haml +6 -0
  52. data/public/admin/categories/form.haml +18 -0
  53. data/public/admin/categories/index.haml +15 -0
  54. data/public/admin/categories/new.haml +5 -0
  55. data/public/admin/comments/edit.haml +6 -0
  56. data/public/admin/comments/form.haml +29 -0
  57. data/public/admin/comments/index.haml +22 -0
  58. data/public/admin/comments/new.haml +5 -0
  59. data/public/admin/css/editor.css +10 -0
  60. data/public/admin/css/jquery.cleditor.css +24 -0
  61. data/public/admin/css/style.css +710 -0
  62. data/public/admin/edit.haml +42 -0
  63. data/public/admin/favicon.ico +0 -0
  64. data/public/admin/images/add.png +0 -0
  65. data/public/admin/images/aside_arrow.png +0 -0
  66. data/public/admin/images/buttons.gif +0 -0
  67. data/public/admin/images/category.png +0 -0
  68. data/public/admin/images/comment.png +0 -0
  69. data/public/admin/images/dashboard.png +0 -0
  70. data/public/admin/images/file.png +0 -0
  71. data/public/admin/images/files.png +0 -0
  72. data/public/admin/images/mail-attachment.png +0 -0
  73. data/public/admin/images/plugin.png +0 -0
  74. data/public/admin/images/post.png +0 -0
  75. data/public/admin/images/setting.png +0 -0
  76. data/public/admin/images/tag.png +0 -0
  77. data/public/admin/images/theme.png +0 -0
  78. data/public/admin/images/toolbar.gif +0 -0
  79. data/public/admin/images/user.png +0 -0
  80. data/public/admin/index.haml +1 -0
  81. data/public/admin/js/editor.js +7 -0
  82. data/public/admin/js/jquery.cleditor.js +1132 -0
  83. data/public/admin/js/jquery.cleditor.min.js +31 -0
  84. data/public/admin/layout.haml +91 -0
  85. data/public/admin/pages/edit.haml +6 -0
  86. data/public/admin/pages/form.haml +33 -0
  87. data/public/admin/pages/index.haml +23 -0
  88. data/public/admin/pages/new.haml +5 -0
  89. data/public/admin/plugins/index.haml +4 -0
  90. data/public/admin/posts/edit.haml +6 -0
  91. data/public/admin/posts/form.haml +33 -0
  92. data/public/admin/posts/index.haml +23 -0
  93. data/public/admin/posts/new.haml +5 -0
  94. data/public/admin/show.haml +7 -0
  95. data/public/admin/signup.haml +17 -0
  96. data/public/admin/site/edit.haml +13 -0
  97. data/public/admin/tags/edit.haml +6 -0
  98. data/public/admin/tags/form.haml +10 -0
  99. data/public/admin/tags/index.haml +19 -0
  100. data/public/admin/themes/index.haml +13 -0
  101. data/public/admin/users/edit.haml +6 -0
  102. data/public/admin/users/form.haml +22 -0
  103. data/public/admin/users/index.haml +24 -0
  104. data/public/admin/users/new.haml +5 -0
  105. data/public/plugin/lokka-google_analytics/lib/lokka/google_analytics.rb +29 -0
  106. data/public/plugin/lokka-google_analytics/views/index.haml +15 -0
  107. data/public/plugin/lokka-hello/lib/lokka/hello.rb +15 -0
  108. data/public/plugin/lokka-markdown/lib/lokka/markdown.rb +12 -0
  109. data/public/plugin/lokka-rbconfig/lib/lokka/rbconfig.rb +11 -0
  110. data/public/plugin/lokka-rbconfig/views/index.haml +7 -0
  111. data/public/plugin/lokka-rbconfig/views/style.css +12 -0
  112. data/public/system/404.haml +20 -0
  113. data/public/system/500.haml +19 -0
  114. data/public/system/comments/form.haml +22 -0
  115. data/public/system/favicon.ico +0 -0
  116. data/public/system/index.builder +25 -0
  117. data/public/system/style.css +8 -0
  118. data/public/theme/default/entries.erb +40 -0
  119. data/public/theme/default/entry.erb +23 -0
  120. data/public/theme/default/layout.erb +74 -0
  121. data/public/theme/default/quote.gif +0 -0
  122. data/public/theme/default/screenshot.png +0 -0
  123. data/public/theme/default/style.css +1147 -0
  124. data/public/theme/jarvi/entries.erb +26 -0
  125. data/public/theme/jarvi/entry.erb +14 -0
  126. data/public/theme/jarvi/favicon.ico +0 -0
  127. data/public/theme/jarvi/images/aside_dt.gif +0 -0
  128. data/public/theme/jarvi/images/aside_dt.png +0 -0
  129. data/public/theme/jarvi/images/footer.gif +0 -0
  130. data/public/theme/jarvi/images/footer.psd +0 -0
  131. data/public/theme/jarvi/images/header_deascription_ul.gif +0 -0
  132. data/public/theme/jarvi/images/header_language.gif +0 -0
  133. data/public/theme/jarvi/images/header_nav.gif +0 -0
  134. data/public/theme/jarvi/images/html.gif +0 -0
  135. data/public/theme/jarvi/images/index_content.gif +0 -0
  136. data/public/theme/jarvi/images/index_content_footer.gif +0 -0
  137. data/public/theme/jarvi/images/index_content_header.gif +0 -0
  138. data/public/theme/jarvi/images/index_header_nav.gif +0 -0
  139. data/public/theme/jarvi/images/section_header_title.gif +0 -0
  140. data/public/theme/jarvi/images/wide_content.gif +0 -0
  141. data/public/theme/jarvi/images/wide_content_body.gif +0 -0
  142. data/public/theme/jarvi/images/wide_content_h3.gif +0 -0
  143. data/public/theme/jarvi/layout.erb +55 -0
  144. data/public/theme/jarvi/screenshot.png +0 -0
  145. data/public/theme/jarvi/style.css +618 -0
  146. data/public/theme/lokka-org/article.haml +9 -0
  147. data/public/theme/lokka-org/entries.haml +9 -0
  148. data/public/theme/lokka-org/entry.haml +1 -0
  149. data/public/theme/lokka-org/favicon.ico +0 -0
  150. data/public/theme/lokka-org/images/aside_dt.gif +0 -0
  151. data/public/theme/lokka-org/images/aside_dt.png +0 -0
  152. data/public/theme/lokka-org/images/download_button.jpg +0 -0
  153. data/public/theme/lokka-org/images/footer.gif +0 -0
  154. data/public/theme/lokka-org/images/footer.psd +0 -0
  155. data/public/theme/lokka-org/images/header_capture.gif +0 -0
  156. data/public/theme/lokka-org/images/header_capture.jpg +0 -0
  157. data/public/theme/lokka-org/images/header_capture_a.gif +0 -0
  158. data/public/theme/lokka-org/images/header_deascription_ul.gif +0 -0
  159. data/public/theme/lokka-org/images/header_h1_a.gif +0 -0
  160. data/public/theme/lokka-org/images/header_language.gif +0 -0
  161. data/public/theme/lokka-org/images/header_nav.gif +0 -0
  162. data/public/theme/lokka-org/images/heder_nav_home.gif +0 -0
  163. data/public/theme/lokka-org/images/heder_nav_home.jpg +0 -0
  164. data/public/theme/lokka-org/images/html.gif +0 -0
  165. data/public/theme/lokka-org/images/index_content.gif +0 -0
  166. data/public/theme/lokka-org/images/index_content_footer.gif +0 -0
  167. data/public/theme/lokka-org/images/index_content_header.gif +0 -0
  168. data/public/theme/lokka-org/images/index_header_h1.gif +0 -0
  169. data/public/theme/lokka-org/images/index_header_nav.gif +0 -0
  170. data/public/theme/lokka-org/images/language_a.png +0 -0
  171. data/public/theme/lokka-org/images/section_header_title.gif +0 -0
  172. data/public/theme/lokka-org/images/wide_content.gif +0 -0
  173. data/public/theme/lokka-org/images/wide_content_body.gif +0 -0
  174. data/public/theme/lokka-org/images/wide_content_h3.gif +0 -0
  175. data/public/theme/lokka-org/index.haml +5 -0
  176. data/public/theme/lokka-org/layout.haml +72 -0
  177. data/public/theme/lokka-org/quote.gif +0 -0
  178. data/public/theme/lokka-org/screenshot.png +0 -0
  179. data/public/theme/lokka-org/style.css +806 -0
  180. data/public/theme/p0t/article.haml +10 -0
  181. data/public/theme/p0t/entries.haml +9 -0
  182. data/public/theme/p0t/entry.haml +7 -0
  183. data/public/theme/p0t/favicon.ico +0 -0
  184. data/public/theme/p0t/images/quote.gif +0 -0
  185. data/public/theme/p0t/layout.haml +68 -0
  186. data/public/theme/p0t/screenshot.png +0 -0
  187. data/public/theme/p0t/style.css +359 -0
  188. data/public/theme/vicuna-mono/entries.erb +40 -0
  189. data/public/theme/vicuna-mono/entry.erb +23 -0
  190. data/public/theme/vicuna-mono/layout.erb +76 -0
  191. data/public/theme/vicuna-mono/quote.gif +0 -0
  192. data/public/theme/vicuna-mono/screenshot.png +0 -0
  193. data/public/theme/vicuna-mono/style.css +1156 -0
  194. data/test/helper.rb +23 -0
  195. data/test/lokka/app_test.rb +15 -0
  196. data/test/lokka/post_test.rb +17 -0
  197. metadata +965 -0
@@ -0,0 +1,10 @@
1
+ .article.section
2
+ .header
3
+ %h2.title= link_to post.title, post.link
4
+ .body
5
+ ~ post.body
6
+ .footer
7
+ .created_at= l post.created_at.to_time
8
+ .comment== #{link_to "#{t.comments} (#{post.comments.size})", "#{post.link}#comment_form"}
9
+ - if logged_in?
10
+ %p= link_to t.edit, post.edit_link
@@ -0,0 +1,9 @@
1
+ .articles.section
2
+ - @posts.each do |post|
3
+ = partial :article, :locals => {:post => post}
4
+ .pager
5
+ %ul
6
+ - if @posts.pager.previous_page
7
+ %li.previous= link_to t.newer, "?page=#{@posts.pager.previous_page}"
8
+ - if @posts.pager.next_page
9
+ %li.next= link_to t.older, "?page=#{@posts.pager.next_page}"
@@ -0,0 +1,7 @@
1
+ = partial :article, :locals => {:post => @entry}
2
+ %ul.comments
3
+ - @entry.comments.reverse.each do |comment|
4
+ %li.comment{:id => "comment-#{comment.id}"}
5
+ .body= hbr comment.body
6
+ .name= link_to_unless comment.homepage.blank?, comment.name, comment.homepage
7
+ = comment_form
@@ -0,0 +1,68 @@
1
+ !!! XML
2
+ !!!
3
+ %html
4
+ %head
5
+ %meta{'http-equiv' => 'Content-Type', 'content' => 'text/html; charset=utf-8'}
6
+ %meta{'http-equiv' => 'Content-Style-Type', 'content' => 'text/css'}
7
+ %meta{'http-equiv' => 'Content-Script-Type', 'content' => 'text/javascript'}
8
+ - if entry?
9
+ %title== #{@entry.title} - #{@site.title}
10
+ - else
11
+ %title= @site.title
12
+ %link{:rel => 'shortcut icon', :href => "#{@theme.path}/favicon.ico"}
13
+ %link{:title => @site.title, :rel => 'alternate', :href => '/index.atom', :type => 'application/atom+xml'}
14
+ %link{:rel => 'stylesheet', :href => "#{@theme.path}/style.css", :type => 'text/css'}
15
+ %script{:src => "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", :type => "text/javascript"}
16
+ = header
17
+ %body
18
+ #header
19
+ %h1= link_to @site.title, '/'
20
+ .description= @site.description
21
+ - unless index? or entry?
22
+ #bread_crumb= bread_crumb
23
+ #nav
24
+ %ul
25
+ - if logged_in?
26
+ %li= link_to t.admin_page, '/admin/'
27
+ %li= link_to t.new_post, '/admin/posts/new'
28
+ %li= link_to t.logout, '/admin/logout'
29
+ - else
30
+ %li= link_to t.login, '/admin/'
31
+ %li
32
+ %form{:action => '/search/', :method => 'get'}
33
+ %input{:type => 'text', :name => 'query'}
34
+ #content
35
+ #main= yield
36
+ #aside
37
+ %dl
38
+ %dt= t.profile
39
+ %dd
40
+ - if about = Page.first(:slug => 'about')
41
+ = about.body
42
+ - if logged_in?
43
+ %p{:style => 'text-align:right'}= link_to t.edit, about.edit_link
44
+ %dt= t.recent_entries
45
+ %dd
46
+ %ul
47
+ - Post.recent.each do |post|
48
+ %li= link_to post.title, post.link
49
+ %dt= t.recent_comments
50
+ %dd
51
+ %ul
52
+ - Comment.recent.each do |comment|
53
+ %li= link_to truncate(strip_tags(comment.body), :length => 16), comment.link
54
+ %dt= t.tags
55
+ %dd
56
+ %ul
57
+ - Tag.all.each do |tag|
58
+ %li= link_to tag.name, tag.link
59
+ %dt= t.archives
60
+ %dd
61
+ %ul
62
+ - months.each do |m|
63
+ %li= link_to "#{m.year}年#{m.month}月", "/#{m.year}/#{m.month}/"
64
+ #footer
65
+ .poweredby
66
+ powered by
67
+ = link_to 'Lokka', 'http://lokka.org/'
68
+ = footer
@@ -0,0 +1,359 @@
1
+ body {
2
+ margin: 0;
3
+ font-size: medium;
4
+ font-family: "メイリオ", "Lucida Sans Unicode", "Lucida Grande", Arial, Helvetica, "ヒラギノ丸ゴ Pro W4", HiraMaruPro-W4, Verdana, HiraMaruPro-W4, "ヒラギノ角ゴ Pro W3", HiraKakuPro-W3, Osaka, sans-serif;
5
+ }
6
+
7
+ a:link {
8
+ color: #2844ac;
9
+ }
10
+
11
+ a:visited {
12
+ color: #2844ac;
13
+ }
14
+
15
+ a:hover {
16
+ color: #ec189a;
17
+ }
18
+
19
+ a:hover {
20
+ color: #ec189a;
21
+ }
22
+
23
+ img {
24
+ border: 0;
25
+ }
26
+
27
+ form {
28
+ margin: 0;
29
+ padding: 0;
30
+ }
31
+
32
+ h1 {
33
+ font-size: 2.3em;
34
+ letter-spacing: 2px;
35
+ margin: 10px 0 3px 0px;
36
+ padding: 0;
37
+ line-height: 1;
38
+ }
39
+
40
+ h2 {
41
+ font-size: 1.45em;
42
+ font-weight: bold;
43
+ color: black;
44
+ margin: 0 0 0.6em 0;
45
+ }
46
+
47
+ ul {
48
+ list-style: square;
49
+ }
50
+
51
+ #nav {
52
+ position: absolute;
53
+ top: 20px;
54
+ right: 50px;
55
+ }
56
+
57
+ #nav ul {
58
+ float: right;
59
+ text-align: right;
60
+ font-size: 0.9em;
61
+ font-weight: bold;
62
+ }
63
+ #nav ul a {
64
+ color: white;
65
+ text-decoration: none;
66
+ }
67
+ #nav ul li {
68
+ display: inline;
69
+ margin-left: 10px;
70
+ }
71
+ #nav ul li form {
72
+ display: inline;
73
+ }
74
+ #nav ul li form input {
75
+ border: 1px solid #999999;
76
+ font-size: 0.9em;
77
+ font-weight: normal;
78
+ width: 100px;
79
+ }
80
+
81
+ li {
82
+ margin: 5px 0;
83
+ }
84
+
85
+ pre {
86
+ line-height: 100%;
87
+ padding: 1.2em 0.6em;
88
+ background-color: #eeeeee;
89
+ white-space: -moz-pre-wrap;
90
+ white-space: -pre-wrap;
91
+ white-space: -o-pre-wrap;
92
+ white-space: pre-wrap;
93
+ word-wrap: break-word;
94
+ }
95
+
96
+ code {
97
+ font-size: 1em;
98
+ }
99
+
100
+ blockquote {
101
+ padding: 1em;
102
+ margin: 0;
103
+ background-color: #eeeeee;
104
+ }
105
+
106
+ #header {
107
+ border-top: 8px solid #ec189a;
108
+ padding: 1em 0 0 130px;
109
+ height: 140px;
110
+ background: url(images/logo.png) no-repeat 30px 5px;
111
+ background-color: black;
112
+ }
113
+ #header .description {
114
+ color: white;
115
+ margin: 1em 0 0 0;
116
+ font-size: 0.8em;
117
+ }
118
+ #header a {
119
+ color: white;
120
+ text-decoration: none;
121
+ }
122
+
123
+ #bread_crumb ol {
124
+ margin: 1.5em 2em 0 2em;
125
+ padding: 0px;
126
+ list-style: none;
127
+ }
128
+
129
+ #bread_crumb ol li {
130
+ display: inline;
131
+ font-size: 14px;
132
+ }
133
+
134
+ #bread_crumb ol li:before {
135
+ content: " > ";
136
+ }
137
+
138
+ #bread_crumb ol li:first-child:before {
139
+ content: "";
140
+ }
141
+
142
+ #content {
143
+ width: 100%;
144
+ }
145
+
146
+ #main {
147
+ float: left;
148
+ width: 80%;
149
+ }
150
+
151
+ #aside {
152
+ float: right;
153
+ width: 20%;
154
+ }
155
+ #aside dl {
156
+ margin: 1.5em 4em 0em 0em;
157
+ }
158
+ #aside dt {
159
+ font-size: 1em;
160
+ font-weight: bold;
161
+ }
162
+ #aside dd {
163
+ margin: 14px 0px 14px 18px;
164
+ font-size: 0.8em;
165
+ }
166
+ #aside .section a {
167
+ text-decoration: none;
168
+ }
169
+
170
+ #aside ul {
171
+ margin: 0;
172
+ padding: 0;
173
+ }
174
+
175
+ #aside li {
176
+ margin: 5px 0;
177
+ padding: 0;
178
+ }
179
+
180
+ .article {
181
+ margin: 1.5em 4em 2em 4em;
182
+ }
183
+ .article .title {
184
+ text-align: left;
185
+ padding: 0;
186
+ }
187
+ .article .title a {
188
+ text-decoration: none;
189
+ }
190
+ .article .body {
191
+ text-align: left;
192
+ margin-bottom: 1em;
193
+ line-height: 150%;
194
+ }
195
+ .article .footer {
196
+ padding: 0;
197
+ text-align: right;
198
+ font-size: 0.8em;
199
+ }
200
+ .article .time {
201
+ display: inline;
202
+ margin-right: 0.3em;
203
+ }
204
+ .article .edit {
205
+ display: inline;
206
+ margin-left: 0.3em;
207
+ }
208
+ .article .delete {
209
+ display: inline;
210
+ margin-left: 0.3em;
211
+ }
212
+ .article form {
213
+ text-align: left;
214
+ }
215
+
216
+ #footer {
217
+ clear: both;
218
+ width: 100%
219
+ text-align: center;
220
+ padding: 1em 0em;
221
+ }
222
+
223
+ #footer .poweredby {
224
+ text-align: center;
225
+ }
226
+
227
+ .icon {
228
+ vertical-align: middle;
229
+ border: none;
230
+ margin: 0 0.6em 0.3em 0;
231
+ }
232
+
233
+ label.label {
234
+ font-weight: bold;
235
+ text-align: left;
236
+ }
237
+ label.checkbox {
238
+ font-weight: normal;
239
+ }
240
+
241
+ input.text_field {
242
+ font-size: 14px;
243
+ padding: 5px;
244
+ width: 800px;
245
+ border: 1px solid #999999;
246
+ }
247
+ input.text_field_small {
248
+ font-size: 14px;
249
+ width: 150px;
250
+ border: 1px solid #999999;
251
+ }
252
+ input.text_field_mini {
253
+ font-size: 22px;
254
+ padding: 5px;
255
+ width: 400px;
256
+ }
257
+
258
+ textarea {
259
+ border: 1px solid #999999;
260
+ padding: 5px;
261
+ }
262
+ textarea.text_area {
263
+ width: 800px;
264
+ height: 400px;
265
+ }
266
+
267
+ #article_body_editor {
268
+ font-size: 14px;
269
+ width: 100%;
270
+ height: 400px;
271
+ border: 1px solid #999999;
272
+ }
273
+
274
+ .export {
275
+ margin: 0 10px;
276
+ }
277
+
278
+ .fieldWithErrors {
279
+ border: solid 2px red;
280
+ }
281
+
282
+ #errorExplanation {
283
+ border: 2px solid red;
284
+ padding: 7px;
285
+ margin-bottom: 10px;
286
+ background-color: #f0f0f0;
287
+ }
288
+ #errorExplanation h2 {
289
+ text-align: left;
290
+ font-weight: bold;
291
+ padding: 5px 5px 5px 15px;
292
+ font-size: 12px;
293
+ margin: -7px;
294
+ background-color: #cc0000;
295
+ color: white;
296
+ }
297
+ #errorExplanation h2 ul li {
298
+ list-style: square;
299
+ }
300
+
301
+ .notice {
302
+ background: #eeeeee;
303
+ padding: 10px 15px;
304
+ margin: 10px 0px;
305
+ border-top: solid 1px #0b53c1;
306
+ border-bottom: solid 1px #0b53c1;
307
+ }
308
+
309
+ .warn {
310
+ background: #ffeeee;
311
+ padding: 10px 15px;
312
+ margin: 10px 0px;
313
+ border-top: solid 1px red;
314
+ border-bottom: solid 1px red;
315
+ }
316
+
317
+ .pagination {
318
+ font-weight: bold;
319
+ text-align: center;
320
+ margin-bottom: 20px;
321
+ }
322
+
323
+ .clearfix:after {
324
+ content: ".";
325
+ display: block;
326
+ height: 0;
327
+ clear: both;
328
+ visibility: hidden;
329
+ }
330
+
331
+ .clearfix {
332
+ display: inline-table;
333
+ }
334
+
335
+ ul.comments {
336
+ list-style: none;
337
+ margin: 1.5em 4em;
338
+ padding: 0;
339
+ }
340
+
341
+ .comment {
342
+ margin-bottom: 1.5em;
343
+ }
344
+
345
+ .comment .body {
346
+ margin-bottom: 0.5em;
347
+ }
348
+
349
+ h4.comment {
350
+ margin: 0em 4em;
351
+ }
352
+
353
+ #comment_form {
354
+ margin: 1.5em 4em;
355
+ }
356
+
357
+ .gist pre {
358
+ color: black;
359
+ }