typo 4.0.3 → 4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (652) hide show
  1. data/CHANGES-4.1 +83 -0
  2. data/MAINTAINERS +3 -7
  3. data/README +1 -1
  4. data/{components/sidebars/README → README.SIDEBARS} +3 -0
  5. data/Rakefile +1 -1
  6. data/TODO-4.1 +16 -0
  7. data/app/apis/blogger_service.rb +3 -3
  8. data/app/apis/meta_weblog_service.rb +4 -21
  9. data/app/apis/movable_type_service.rb +5 -5
  10. data/app/controllers/accounts_controller.rb +6 -3
  11. data/app/controllers/admin/blacklist_controller.rb +1 -1
  12. data/app/controllers/admin/cache_controller.rb +3 -7
  13. data/app/controllers/admin/content_controller.rb +46 -24
  14. data/app/controllers/admin/feedback_controller.rb +3 -3
  15. data/app/controllers/admin/general_controller.rb +3 -3
  16. data/app/controllers/admin/pages_controller.rb +7 -3
  17. data/app/controllers/admin/sidebar_controller.rb +19 -26
  18. data/app/controllers/admin/textfilters_controller.rb +3 -1
  19. data/app/controllers/admin/themes_controller.rb +1 -1
  20. data/app/controllers/admin/users_controller.rb +1 -1
  21. data/app/controllers/application.rb +25 -27
  22. data/app/controllers/articles_controller.rb +14 -18
  23. data/app/controllers/content_controller.rb +7 -7
  24. data/app/controllers/live_controller.rb +1 -1
  25. data/app/controllers/redirect_controller.rb +2 -0
  26. data/app/controllers/textfilter_controller.rb +0 -3
  27. data/app/controllers/theme_controller.rb +10 -5
  28. data/app/controllers/xml_controller.rb +7 -9
  29. data/app/helpers/admin/base_helper.rb +10 -5
  30. data/app/helpers/admin/content_helper.rb +6 -0
  31. data/app/helpers/admin/feedback_helper.rb +1 -1
  32. data/app/helpers/admin/pages_helper.rb +5 -0
  33. data/app/helpers/application_helper.rb +84 -51
  34. data/app/helpers/articles_helper.rb +29 -29
  35. data/app/helpers/mail_helper.rb +3 -2
  36. data/app/helpers/sidebar_helper.rb +25 -16
  37. data/app/helpers/xml_helper.rb +0 -16
  38. data/app/models/article.rb +90 -32
  39. data/app/models/blog.rb +82 -74
  40. data/app/models/blog_sweeper.rb +33 -8
  41. data/app/models/categorization.rb +4 -0
  42. data/app/models/category.rb +21 -4
  43. data/app/models/comment.rb +23 -21
  44. data/app/models/content.rb +106 -64
  45. data/app/models/content_state/base.rb +12 -3
  46. data/app/models/content_state/draft.rb +2 -3
  47. data/app/models/content_state/factory.rb +1 -1
  48. data/app/models/content_state/ham.rb +0 -1
  49. data/app/models/content_state/just_marked_as_ham.rb +8 -1
  50. data/app/models/content_state/just_marked_as_spam.rb +4 -1
  51. data/app/models/content_state/just_presumed_ham.rb +14 -14
  52. data/app/models/content_state/just_published.rb +11 -18
  53. data/app/models/content_state/just_withdrawn.rb +11 -0
  54. data/app/models/content_state/new.rb +0 -1
  55. data/app/models/content_state/presumed_ham.rb +9 -3
  56. data/app/models/content_state/presumed_spam.rb +4 -1
  57. data/app/models/content_state/publication_pending.rb +4 -4
  58. data/app/models/content_state/published.rb +7 -8
  59. data/app/models/content_state/spam.rb +0 -1
  60. data/app/models/content_state/unclassified.rb +12 -3
  61. data/app/models/content_state/withdrawn.rb +5 -6
  62. data/app/models/email_notifier.rb +1 -1
  63. data/app/models/feedback.rb +31 -11
  64. data/app/models/notification.rb +4 -0
  65. data/app/models/notification_mailer.rb +8 -8
  66. data/app/models/page.rb +19 -5
  67. data/app/models/ping.rb +27 -40
  68. data/app/models/sidebar.rb +241 -11
  69. data/app/models/tag.rb +12 -1
  70. data/app/models/text_filter.rb +33 -39
  71. data/app/models/theme.rb +9 -0
  72. data/app/models/trackback.rb +1 -5
  73. data/app/models/user.rb +7 -5
  74. data/app/views/accounts/login.rhtml +19 -15
  75. data/app/views/accounts/logout.rhtml +4 -4
  76. data/app/views/accounts/signup.rhtml +9 -9
  77. data/app/views/admin/base/_recent_comments.rhtml +2 -2
  78. data/app/views/admin/base/_recent_trackbacks.rhtml +2 -2
  79. data/app/views/admin/blacklist/_blacklist_patterns.rhtml +4 -4
  80. data/app/views/admin/blacklist/_form.rhtml +3 -3
  81. data/app/views/admin/blacklist/_quick_post.rhtml +7 -6
  82. data/app/views/admin/blacklist/destroy.rhtml +5 -5
  83. data/app/views/admin/blacklist/edit.rhtml +7 -7
  84. data/app/views/admin/blacklist/list.rhtml +2 -2
  85. data/app/views/admin/cache/list.rhtml +2 -2
  86. data/app/views/admin/categories/_categories.rhtml +3 -3
  87. data/app/views/admin/categories/_form.rhtml +1 -1
  88. data/app/views/admin/categories/_quick_post.rhtml +5 -5
  89. data/app/views/admin/categories/destroy.rhtml +7 -7
  90. data/app/views/admin/categories/edit.rhtml +6 -6
  91. data/app/views/admin/categories/list.rhtml +7 -4
  92. data/app/views/admin/categories/reorder.rhtml +1 -1
  93. data/app/views/admin/categories/show.rhtml +6 -6
  94. data/app/views/admin/comments/_form.rhtml +4 -4
  95. data/app/views/admin/comments/comments.rhtml +1 -1
  96. data/app/views/admin/comments/destroy.rhtml +6 -6
  97. data/app/views/admin/comments/edit.rhtml +8 -8
  98. data/app/views/admin/comments/list.rhtml +11 -11
  99. data/app/views/admin/comments/new.rhtml +7 -7
  100. data/app/views/admin/comments/show.rhtml +7 -7
  101. data/app/views/admin/content/_articles.rhtml +12 -10
  102. data/app/views/admin/content/_attachment.rhtml +15 -17
  103. data/app/views/admin/content/_form.rhtml +68 -45
  104. data/app/views/admin/content/_pages.rhtml +2 -2
  105. data/app/views/admin/content/_quick_post.rhtml +6 -6
  106. data/app/views/admin/content/_show_categories.rhtml +2 -2
  107. data/app/views/admin/content/_show_resources.rhtml +2 -2
  108. data/app/views/admin/content/destroy.rhtml +8 -8
  109. data/app/views/admin/content/edit.rhtml +8 -26
  110. data/app/views/admin/content/list.rhtml +4 -4
  111. data/app/views/admin/content/new.rhtml +5 -25
  112. data/app/views/admin/content/preview.rhtml +9 -2
  113. data/app/views/admin/content/show.rhtml +10 -9
  114. data/app/views/admin/feedback/_item.rhtml +2 -2
  115. data/app/views/admin/feedback/list.rhtml +21 -20
  116. data/app/views/admin/general/index.rhtml +261 -239
  117. data/app/views/admin/general/update_database.rhtml +15 -15
  118. data/app/views/admin/pages/_form.rhtml +32 -15
  119. data/app/views/admin/pages/_pages.rhtml +9 -8
  120. data/app/views/admin/pages/_quick_post.rhtml +2 -2
  121. data/app/views/admin/pages/destroy.rhtml +7 -7
  122. data/app/views/admin/pages/edit.rhtml +7 -26
  123. data/app/views/admin/pages/list.rhtml +4 -3
  124. data/app/views/admin/pages/new.rhtml +5 -22
  125. data/app/views/admin/pages/preview.rhtml +1 -1
  126. data/app/views/admin/pages/show.rhtml +5 -5
  127. data/app/views/admin/resources/_itunes_category_edit.rhtml +2 -2
  128. data/app/views/admin/resources/_metadata_add.rhtml +13 -13
  129. data/app/views/admin/resources/_metadata_edit.rhtml +14 -14
  130. data/app/views/admin/resources/_mime_edit.rhtml +5 -5
  131. data/app/views/admin/resources/_pages.rhtml +2 -2
  132. data/app/views/admin/resources/_resources.rhtml +8 -8
  133. data/app/views/admin/resources/destroy.rhtml +7 -7
  134. data/app/views/admin/resources/list.rhtml +6 -3
  135. data/app/views/admin/resources/new.rhtml +7 -3
  136. data/app/views/admin/shared/_edit.rhtml +17 -0
  137. data/app/views/admin/sidebar/_active.rhtml +5 -5
  138. data/app/views/admin/sidebar/_availables.rhtml +1 -1
  139. data/app/views/admin/sidebar/_publish.rhtml +1 -1
  140. data/app/views/admin/sidebar/_target.rhtml +1 -1
  141. data/app/views/admin/sidebar/index.rhtml +9 -5
  142. data/app/views/admin/textfilters/_form.rhtml +13 -5
  143. data/app/views/admin/textfilters/_macros.rhtml +4 -4
  144. data/app/views/admin/textfilters/_textfilters.rhtml +6 -6
  145. data/app/views/admin/textfilters/destroy.rhtml +5 -8
  146. data/app/views/admin/textfilters/edit.rhtml +2 -5
  147. data/app/views/admin/textfilters/list.rhtml +4 -2
  148. data/app/views/admin/textfilters/macro_help.rhtml +1 -1
  149. data/app/views/admin/textfilters/new.rhtml +9 -7
  150. data/app/views/admin/textfilters/show.rhtml +5 -5
  151. data/app/views/admin/textfilters/show_help.rhtml +3 -3
  152. data/app/views/admin/themes/index.rhtml +8 -2
  153. data/app/views/admin/trackbacks/_form.rhtml +4 -4
  154. data/app/views/admin/trackbacks/destroy.rhtml +4 -4
  155. data/app/views/admin/trackbacks/edit.rhtml +6 -6
  156. data/app/views/admin/trackbacks/list.rhtml +10 -10
  157. data/app/views/admin/trackbacks/new.rhtml +6 -6
  158. data/app/views/admin/trackbacks/show.rhtml +8 -8
  159. data/app/views/admin/users/_form.rhtml +10 -10
  160. data/app/views/admin/users/_user.rhtml +6 -6
  161. data/app/views/admin/users/destroy.rhtml +7 -7
  162. data/app/views/admin/users/edit.rhtml +9 -5
  163. data/app/views/admin/users/list.rhtml +2 -2
  164. data/app/views/admin/users/new.rhtml +9 -7
  165. data/app/views/admin/users/show.rhtml +10 -10
  166. data/app/views/articles/_article.rhtml +3 -3
  167. data/app/views/articles/_comment.rhtml +3 -3
  168. data/app/views/articles/_comment_box.rhtml +6 -6
  169. data/app/views/articles/_trackback.rhtml +1 -1
  170. data/app/views/articles/archives.rhtml +3 -3
  171. data/app/views/articles/comment_preview.rhtml +2 -2
  172. data/app/views/articles/groupings.rhtml +1 -1
  173. data/app/views/articles/index.rhtml +2 -2
  174. data/app/views/articles/read.rhtml +15 -15
  175. data/app/views/articles/view_page.rhtml +1 -1
  176. data/app/views/layouts/administration.rhtml +11 -17
  177. data/app/views/layouts/minimal.rhtml +13 -0
  178. data/app/views/live/search.rhtml +1 -1
  179. data/app/views/notification_mailer/_mail_footer.rhtml +2 -2
  180. data/app/views/notification_mailer/article.rhtml +1 -1
  181. data/app/views/notification_mailer/comment.rhtml +4 -4
  182. data/app/views/settings/done.rhtml +1 -1
  183. data/app/views/settings/install.rhtml +3 -3
  184. data/app/views/shared/_search.rhtml +4 -4
  185. data/app/views/xml/_atom10_item_article.rxml +9 -7
  186. data/app/views/xml/_atom10_item_comment.rxml +2 -3
  187. data/app/views/xml/_atom10_item_trackback.rxml +1 -1
  188. data/app/views/xml/_googlesitemap_item_article.rxml +2 -2
  189. data/app/views/xml/_googlesitemap_item_category.rxml +1 -1
  190. data/app/views/xml/_googlesitemap_item_page.rxml +2 -2
  191. data/app/views/xml/_googlesitemap_item_tag.rxml +2 -2
  192. data/app/views/xml/_itunes_item_resource.rxml +2 -4
  193. data/app/views/xml/_rss20_item_article.rxml +4 -10
  194. data/app/views/xml/_rss20_item_comment.rxml +2 -2
  195. data/app/views/xml/rsd.rxml +4 -4
  196. data/bin/typo +0 -1
  197. data/config/boot.rb +4 -3
  198. data/config/environment.rb +37 -28
  199. data/config/environments/test.rb +1 -1
  200. data/config/routes.rb +6 -5
  201. data/db/migrate/051_fix_canonical_server_url.rb +17 -0
  202. data/db/migrate/052_remove_cached_html.rb +11 -0
  203. data/db/migrate/053_promote_canonical_server_url.rb +22 -0
  204. data/db/migrate/054_upgrade_sidebar_objects.rb +26 -0
  205. data/db/migrate/055_link_sidebars_to_blog.rb +17 -0
  206. data/db/migrate/056_create_notifications.rb +32 -0
  207. data/db/migrate/057_add_categorization_model.rb +45 -0
  208. data/db/migrate/058_separate_entries_and_feedback.rb +68 -0
  209. data/db/migrate/059_cleanup_feedback_table.rb +25 -0
  210. data/db/migrate/060_cleanup_contents_table.rb +29 -0
  211. data/db/migrate/061_convert_title_prefix_setting.rb +25 -0
  212. data/db/schema.mysql.sql +139 -108
  213. data/db/schema.postgresql.sql +140 -108
  214. data/db/schema.rb +97 -75
  215. data/db/schema.sqlite.sql +140 -108
  216. data/db/schema.sqlserver.sql +144 -109
  217. data/db/schema_version +1 -1
  218. data/lang/fr_FR.rb +469 -0
  219. data/lib/email_notify.rb +4 -4
  220. data/lib/generators/sidebar/sidebar_generator.rb +15 -6
  221. data/lib/generators/sidebar/templates/Rakefile +22 -0
  222. data/lib/generators/sidebar/templates/content.rhtml +10 -0
  223. data/lib/generators/sidebar/templates/init.rb +4 -0
  224. data/lib/generators/sidebar/templates/sidebar.rb +16 -0
  225. data/lib/generators/sidebar/templates/unit_test.rb +8 -0
  226. data/lib/jabber_notify.rb +8 -7
  227. data/lib/memory_profiler.rb +60 -0
  228. data/lib/rails_patch/active_record.rb +0 -27
  229. data/lib/route_cache.rb +15 -0
  230. data/lib/sidebars/component_plugin.rb +3 -0
  231. data/lib/sidebars/consolidated_plugin.rb +26 -0
  232. data/lib/sidebars/plugin.rb +8 -13
  233. data/lib/spam_protection.rb +35 -23
  234. data/lib/tasks/release.rake +7 -7
  235. data/lib/text_filter_plugin.rb +55 -15
  236. data/lib/typo_deprecated.rb +19 -0
  237. data/lib/typo_version.rb +1 -1
  238. data/public/images/bracket.gif +0 -0
  239. data/public/images/cancel.png +0 -0
  240. data/public/images/checked.png +0 -0
  241. data/public/images/delete.png +0 -0
  242. data/public/images/edit.png +0 -0
  243. data/public/images/help.png +0 -0
  244. data/public/images/show.png +0 -0
  245. data/public/javascripts/codecollapse.js +8 -0
  246. data/public/javascripts/controls.js +41 -23
  247. data/public/javascripts/dragdrop.js +105 -76
  248. data/public/javascripts/effects.js +293 -163
  249. data/public/javascripts/prototype.js +900 -391
  250. data/public/stylesheets/administration.css +390 -318
  251. data/public/stylesheets/codecollapse.css +3 -0
  252. data/public/stylesheets/minimal.css +142 -0
  253. data/public/stylesheets/textmate/dawn.css +209 -0
  254. data/public/stylesheets/textmate/iplastic.css +142 -0
  255. data/public/stylesheets/textmate/space_cadet.css +99 -0
  256. data/public/stylesheets/textmate/textmate.css +48 -0
  257. data/public/stylesheets/textmate/twilight.css +227 -0
  258. data/script/process/inspector +3 -0
  259. data/spec/controllers/accounts_controller_spec.rb +184 -0
  260. data/spec/controllers/articles_controller_spec.rb +47 -0
  261. data/spec/fixtures/articles_tags.yml +19 -0
  262. data/spec/fixtures/blacklist_patterns.yml +10 -0
  263. data/spec/fixtures/blogs.yml +77 -0
  264. data/spec/fixtures/categories.yml +35 -0
  265. data/{test/fixtures/articles_categories.yml → spec/fixtures/categorizations.yml} +0 -0
  266. data/spec/fixtures/contents.yml +215 -0
  267. data/spec/fixtures/feedback.yml +159 -0
  268. data/spec/fixtures/notifications.yml +0 -0
  269. data/spec/fixtures/page_caches.yml +7 -0
  270. data/spec/fixtures/redirects.yml +13 -0
  271. data/spec/fixtures/resources.yml +24 -0
  272. data/spec/fixtures/sidebars.yml +12 -0
  273. data/spec/fixtures/tags.yml +13 -0
  274. data/spec/fixtures/text_filters.yml +42 -0
  275. data/spec/fixtures/triggers.yml +1 -0
  276. data/spec/fixtures/users.yml +56 -0
  277. data/spec/fixtures/whiteboards.yml +13 -0
  278. data/spec/helpers/admin_base_helper_spec.rb +13 -0
  279. data/spec/models/amazon_sidebar_spec.rb +40 -0
  280. data/spec/models/audioscrobbler_spec.rb +134 -0
  281. data/spec/models/blog_spec.rb +28 -0
  282. data/spec/models/cache_support_spec.rb +55 -0
  283. data/spec/models/category_spec.rb +48 -0
  284. data/spec/models/configuration_spec.rb +108 -0
  285. data/spec/models/content_state_spec.rb +1010 -0
  286. data/spec/models/delegate_to_content_state_spec.rb +126 -0
  287. data/spec/models/delicious_spec.rb +101 -0
  288. data/spec/models/flickr_spec.rb +128 -0
  289. data/spec/models/metafragment_spec.rb +65 -0
  290. data/spec/models/page_cache_spec.rb +35 -0
  291. data/spec/models/page_spec.rb +88 -0
  292. data/spec/models/ping_spec.rb +133 -0
  293. data/spec/models/redirect_spec.rb +17 -0
  294. data/spec/models/resource_spec.rb +43 -0
  295. data/spec/models/static_sidebar_spec.rb +17 -0
  296. data/spec/models/tag_spec.rb +54 -0
  297. data/spec/models/text_filter_spec.rb +38 -0
  298. data/spec/models/theme_spec.rb +45 -0
  299. data/spec/models/trackback_spec.rb +60 -0
  300. data/spec/models/trigger_spec.rb +41 -0
  301. data/spec/models/user_spec.rb +105 -0
  302. data/test/fixtures/blogs.yml +5 -4
  303. data/test/fixtures/categorizations.yml +31 -0
  304. data/test/fixtures/contents.yml +2 -160
  305. data/test/fixtures/feedback.yml +159 -0
  306. data/test/fixtures/sidebars.yml +11 -4
  307. data/test/functional/accounts_controller_test.rb +6 -10
  308. data/test/functional/admin/article_preview_test.rb +21 -6
  309. data/test/functional/admin/blacklist_controller_test.rb +11 -11
  310. data/test/functional/admin/categories_controller_test.rb +13 -13
  311. data/test/functional/admin/comments_controller_test.rb +21 -21
  312. data/test/functional/admin/content_controller_test.rb +30 -38
  313. data/test/functional/admin/feedback_controller_test.rb +12 -12
  314. data/test/functional/admin/general_controller_test.rb +2 -2
  315. data/test/functional/admin/pages_controller_test.rb +3 -18
  316. data/test/functional/admin/resources_controller_test.rb +7 -7
  317. data/test/functional/admin/textfilters_controller_test.rb +2 -2
  318. data/test/functional/admin/themes_controller_test.rb +1 -1
  319. data/test/functional/admin/trackbacks_controller_test.rb +21 -21
  320. data/test/functional/admin/users_controller_test.rb +21 -18
  321. data/test/functional/articles_controller_test.rb +62 -46
  322. data/test/functional/backend_controller_test.rb +6 -6
  323. data/test/functional/redirect_controller_test.rb +3 -3
  324. data/test/functional/textfilter_controller_test.rb +10 -12
  325. data/test/functional/theme_controller_test.rb +1 -1
  326. data/test/functional/xml_controller_test.rb +7 -5
  327. data/test/mocks/themes/azure/layouts/default.rhtml +2 -2
  328. data/test/test_helper.rb +75 -0
  329. data/test/unit/amazon_sidebar_test.rb +36 -0
  330. data/test/unit/article_test.rb +36 -4
  331. data/test/unit/blog_test.rb +5 -36
  332. data/test/unit/cache_support_test.rb +62 -0
  333. data/test/unit/category_test.rb +6 -1
  334. data/test/unit/comment_test.rb +34 -9
  335. data/test/unit/content_state/factory_test.rb +8 -0
  336. data/test/unit/content_state/feedback_states_test.rb +71 -0
  337. data/test/unit/magnolia_test.rb +1 -1
  338. data/test/unit/notification_test.rb +10 -0
  339. data/test/unit/page_test.rb +20 -0
  340. data/test/unit/ping_test.rb +1 -1
  341. data/test/unit/sidebar_test.rb +2 -7
  342. data/test/unit/static_sidebar_test.rb +19 -0
  343. data/test/unit/tag_test.rb +6 -1
  344. data/test/unit/text_filter_test.rb +21 -21
  345. data/test/unit/theme_test.rb +1 -1
  346. data/test/unit/trackback_test.rb +16 -1
  347. data/themes/azure/layouts/default.rhtml +2 -2
  348. data/themes/scribbish/layouts/default.rhtml +2 -2
  349. data/themes/scribbish/stylesheets/content.css +6 -8
  350. data/themes/scribbish/views/articles/_article.rhtml +10 -10
  351. data/themes/scribbish/views/articles/_comment.rhtml +16 -12
  352. data/themes/scribbish/views/articles/_comment_form.rhtml +25 -22
  353. data/themes/scribbish/views/articles/_search.rhtml +14 -13
  354. data/themes/scribbish/views/articles/comment_preview.rhtml +3 -3
  355. data/themes/scribbish/views/articles/index.rhtml +1 -1
  356. data/themes/scribbish/views/articles/read.rhtml +8 -8
  357. data/vendor/cached_model/History.txt +30 -0
  358. data/vendor/cached_model/LICENSE.txt +30 -0
  359. data/vendor/cached_model/Manifest.txt +7 -0
  360. data/vendor/cached_model/README.txt +96 -0
  361. data/vendor/cached_model/Rakefile +25 -0
  362. data/vendor/cached_model/lib/cached_model.rb +287 -0
  363. data/vendor/cached_model/test/test_cached_model.rb +593 -0
  364. data/vendor/flickr/flickr.rb +1 -1
  365. data/vendor/memcache-client/History.txt +25 -0
  366. data/vendor/memcache-client/LICENSE.txt +30 -0
  367. data/vendor/memcache-client/Manifest.txt +8 -0
  368. data/vendor/memcache-client/README.txt +46 -0
  369. data/vendor/memcache-client/Rakefile +23 -0
  370. data/vendor/memcache-client/lib/memcache.rb +491 -0
  371. data/vendor/memcache-client/lib/memcache_util.rb +71 -0
  372. data/vendor/memcache-client/test/test_mem_cache.rb +284 -0
  373. data/vendor/plugins/action_view_patch/Rakefile +22 -0
  374. data/vendor/plugins/action_view_patch/init.rb +1 -0
  375. data/vendor/plugins/action_view_patch/lib/action_view_patch.rb +18 -0
  376. data/vendor/plugins/action_view_patch/test/action_view_patch_test.rb +56 -0
  377. data/vendor/plugins/aimpresence_sidebar/Rakefile +22 -0
  378. data/vendor/plugins/aimpresence_sidebar/init.rb +4 -0
  379. data/vendor/plugins/aimpresence_sidebar/lib/aimpresence_sidebar.rb +21 -0
  380. data/vendor/plugins/aimpresence_sidebar/test/aimpresence_sidebar_test.rb +33 -0
  381. data/vendor/plugins/aimpresence_sidebar/views/content.rhtml +4 -0
  382. data/vendor/plugins/amazon_sidebar/init.rb +5 -0
  383. data/vendor/plugins/amazon_sidebar/lib/amazon_sidebar.rb +16 -0
  384. data/vendor/plugins/amazon_sidebar/views/content.rhtml +4 -0
  385. data/vendor/plugins/archives_sidebar/Rakefile +22 -0
  386. data/vendor/plugins/archives_sidebar/init.rb +5 -0
  387. data/{components/plugins/sidebars/archives_controller.rb → vendor/plugins/archives_sidebar/lib/archives_sidebar.rb} +7 -6
  388. data/vendor/plugins/archives_sidebar/test/archives_sidebar_test.rb +8 -0
  389. data/{components/plugins/sidebars/archives → vendor/plugins/archives_sidebar/views}/content.rhtml +2 -2
  390. data/vendor/plugins/audioscrobbler_sidebar/Rakefile +22 -0
  391. data/vendor/plugins/audioscrobbler_sidebar/init.rb +5 -0
  392. data/{app/models/aggregations → vendor/plugins/audioscrobbler_sidebar/lib}/audioscrobbler.rb +0 -0
  393. data/{components/plugins/sidebars/audioscrobbler_controller.rb → vendor/plugins/audioscrobbler_sidebar/lib/audioscrobbler_sidebar.rb} +7 -4
  394. data/vendor/plugins/audioscrobbler_sidebar/test/audioscrobbler_sidebar_test.rb +8 -0
  395. data/{components/plugins/sidebars/audioscrobbler → vendor/plugins/audioscrobbler_sidebar/views}/content.rhtml +4 -4
  396. data/vendor/plugins/backpack_sidebar/Rakefile +22 -0
  397. data/vendor/plugins/backpack_sidebar/init.rb +5 -0
  398. data/{app/models/aggregations → vendor/plugins/backpack_sidebar/lib}/backpack.rb +0 -0
  399. data/{components/plugins/sidebars/backpack_controller.rb → vendor/plugins/backpack_sidebar/lib/backpack_sidebar.rb} +6 -3
  400. data/vendor/plugins/backpack_sidebar/test/backpack_sidebar_test.rb +8 -0
  401. data/{components/plugins/sidebars/backpack → vendor/plugins/backpack_sidebar/views}/content.rhtml +4 -4
  402. data/vendor/plugins/category_sidebar/Rakefile +22 -0
  403. data/vendor/plugins/category_sidebar/init.rb +5 -0
  404. data/{components/plugins/sidebars/category_controller.rb → vendor/plugins/category_sidebar/lib/category_sidebar.rb} +3 -5
  405. data/vendor/plugins/category_sidebar/test/category_sidebar_test.rb +8 -0
  406. data/vendor/plugins/category_sidebar/views/content.rhtml +10 -0
  407. data/vendor/plugins/delicious_sidebar/Rakefile +22 -0
  408. data/vendor/plugins/delicious_sidebar/init.rb +5 -0
  409. data/{app/models/aggregations → vendor/plugins/delicious_sidebar/lib}/delicious.rb +0 -0
  410. data/{components/plugins/sidebars/delicious_controller.rb → vendor/plugins/delicious_sidebar/lib/delicious_sidebar.rb} +16 -10
  411. data/vendor/plugins/delicious_sidebar/test/delicious_sidebar_test.rb +8 -0
  412. data/vendor/plugins/delicious_sidebar/views/content.rhtml +20 -0
  413. data/vendor/plugins/flickr_sidebar/Rakefile +22 -0
  414. data/vendor/plugins/flickr_sidebar/init.rb +5 -0
  415. data/{app/models/aggregations → vendor/plugins/flickr_sidebar/lib}/flickr.rb +1 -1
  416. data/vendor/plugins/flickr_sidebar/lib/flickr_sidebar.rb +15 -0
  417. data/vendor/plugins/flickr_sidebar/test/flickr_sidebar_test.rb +8 -0
  418. data/{components/plugins/sidebars/flickr → vendor/plugins/flickr_sidebar/views}/content.rhtml +5 -5
  419. data/vendor/plugins/fortythree_sidebar/Rakefile +22 -0
  420. data/vendor/plugins/fortythree_sidebar/init.rb +5 -0
  421. data/{app/models/aggregations → vendor/plugins/fortythree_sidebar/lib}/fortythree.rb +0 -0
  422. data/{components/plugins/sidebars/fortythree_controller.rb → vendor/plugins/fortythree_sidebar/lib/fortythree_sidebar.rb} +5 -4
  423. data/vendor/plugins/fortythree_sidebar/test/fortythree_sidebar_test.rb +8 -0
  424. data/vendor/plugins/fortythree_sidebar/views/content.rhtml +8 -0
  425. data/vendor/plugins/fortythreeplaces_sidebar/Rakefile +22 -0
  426. data/vendor/plugins/fortythreeplaces_sidebar/init.rb +5 -0
  427. data/vendor/plugins/fortythreeplaces_sidebar/lib/fortythree.rb +62 -0
  428. data/{components/plugins/sidebars/fortythreeplaces_controller.rb → vendor/plugins/fortythreeplaces_sidebar/lib/fortythreeplaces_sidebar.rb} +5 -4
  429. data/vendor/plugins/fortythreeplaces_sidebar/test/fortythreeplaces_sidebar_test.rb +8 -0
  430. data/vendor/plugins/fortythreeplaces_sidebar/views/content.rhtml +8 -0
  431. data/vendor/plugins/haml/MIT-LICENSE +20 -0
  432. data/vendor/plugins/haml/REFERENCE +662 -0
  433. data/vendor/plugins/haml/Rakefile +171 -0
  434. data/vendor/plugins/haml/VERSION +1 -0
  435. data/vendor/plugins/haml/bin/haml +18 -0
  436. data/vendor/plugins/haml/init.rb +3 -0
  437. data/vendor/plugins/haml/lib/haml/buffer.rb +224 -0
  438. data/vendor/plugins/haml/lib/haml/engine.rb +557 -0
  439. data/vendor/plugins/haml/lib/haml/helpers.rb +220 -0
  440. data/vendor/plugins/haml/lib/haml/helpers/action_view_mods.rb +54 -0
  441. data/vendor/plugins/haml/lib/haml/template.rb +138 -0
  442. data/vendor/plugins/haml/test/benchmark.rb +62 -0
  443. data/vendor/plugins/haml/test/engine_test.rb +93 -0
  444. data/vendor/plugins/haml/test/helper_test.rb +105 -0
  445. data/vendor/plugins/haml/test/mocks/article.rb +6 -0
  446. data/vendor/plugins/haml/test/profile.rb +45 -0
  447. data/vendor/plugins/haml/test/results/content_for_layout.xhtml +16 -0
  448. data/vendor/plugins/haml/test/results/eval_suppressed.xhtml +2 -0
  449. data/vendor/plugins/haml/test/results/helpers.xhtml +50 -0
  450. data/vendor/plugins/haml/test/results/helpful.xhtml +5 -0
  451. data/vendor/plugins/haml/test/results/just_stuff.xhtml +38 -0
  452. data/vendor/plugins/haml/test/results/list.xhtml +12 -0
  453. data/vendor/plugins/haml/test/results/original_engine.xhtml +24 -0
  454. data/vendor/plugins/haml/test/results/partials.xhtml +20 -0
  455. data/vendor/plugins/haml/test/results/silent_script.xhtml +74 -0
  456. data/vendor/plugins/haml/test/results/standard.xhtml +42 -0
  457. data/vendor/plugins/haml/test/results/tag_parsing.xhtml +28 -0
  458. data/vendor/plugins/haml/test/results/very_basic.xhtml +7 -0
  459. data/vendor/plugins/haml/test/results/whitespace_handling.xhtml +51 -0
  460. data/vendor/plugins/haml/test/rhtml/standard.rhtml +51 -0
  461. data/vendor/plugins/haml/test/runner.rb +15 -0
  462. data/vendor/plugins/haml/test/template_test.rb +137 -0
  463. data/vendor/plugins/haml/test/templates/_partial.haml +7 -0
  464. data/vendor/plugins/haml/test/templates/_text_area.haml +3 -0
  465. data/vendor/plugins/haml/test/templates/content_for_layout.haml +10 -0
  466. data/vendor/plugins/haml/test/templates/eval_suppressed.haml +5 -0
  467. data/vendor/plugins/haml/test/templates/helpers.haml +39 -0
  468. data/vendor/plugins/haml/test/templates/helpful.haml +6 -0
  469. data/vendor/plugins/haml/test/templates/just_stuff.haml +34 -0
  470. data/vendor/plugins/haml/test/templates/list.haml +12 -0
  471. data/vendor/plugins/haml/test/templates/original_engine.haml +17 -0
  472. data/vendor/plugins/haml/test/templates/partialize.haml +1 -0
  473. data/vendor/plugins/haml/test/templates/partials.haml +12 -0
  474. data/vendor/plugins/haml/test/templates/silent_script.haml +40 -0
  475. data/vendor/plugins/haml/test/templates/standard.haml +40 -0
  476. data/vendor/plugins/haml/test/templates/tag_parsing.haml +24 -0
  477. data/vendor/plugins/haml/test/templates/very_basic.haml +4 -0
  478. data/vendor/plugins/haml/test/templates/whitespace_handling.haml +66 -0
  479. data/vendor/plugins/localization/CHANGELOG +1 -0
  480. data/vendor/plugins/localization/README +85 -0
  481. data/vendor/plugins/localization/init.rb +3 -0
  482. data/vendor/plugins/localization/lib/localization.rb +46 -0
  483. data/vendor/plugins/magnolia_sidebar/Rakefile +22 -0
  484. data/vendor/plugins/magnolia_sidebar/init.rb +5 -0
  485. data/{app/models/aggregations/magnolia.rb → vendor/plugins/magnolia_sidebar/lib/magnolia_aggregation.rb} +0 -0
  486. data/vendor/plugins/magnolia_sidebar/lib/magnolia_sidebar.rb +16 -0
  487. data/vendor/plugins/magnolia_sidebar/test/magnolia_sidebar_test.rb +8 -0
  488. data/vendor/plugins/magnolia_sidebar/views/content.rhtml +12 -0
  489. data/vendor/plugins/recent_comments_sidebar/Rakefile +22 -0
  490. data/vendor/plugins/recent_comments_sidebar/init.rb +5 -0
  491. data/vendor/plugins/recent_comments_sidebar/lib/recent_comments_sidebar.rb +16 -0
  492. data/vendor/plugins/recent_comments_sidebar/test/recent_comments_sidebar_test.rb +8 -0
  493. data/{components/plugins/sidebars/recent_comments → vendor/plugins/recent_comments_sidebar/views}/content.rhtml +2 -2
  494. data/vendor/plugins/static_sidebar/init.rb +4 -0
  495. data/{components/plugins/sidebars/static_controller.rb → vendor/plugins/static_sidebar/lib/static_sidebar.rb} +4 -7
  496. data/vendor/plugins/static_sidebar/views/content.rhtml +2 -0
  497. data/vendor/plugins/tada_sidebar/Rakefile +22 -0
  498. data/vendor/plugins/tada_sidebar/init.rb +5 -0
  499. data/{app/models/aggregations → vendor/plugins/tada_sidebar/lib}/tada.rb +0 -0
  500. data/{components/plugins/sidebars/tada_controller.rb → vendor/plugins/tada_sidebar/lib/tada_sidebar.rb} +8 -4
  501. data/vendor/plugins/tada_sidebar/test/tada_sidebar_test.rb +8 -0
  502. data/{components/plugins/sidebars/tada → vendor/plugins/tada_sidebar/views}/content.rhtml +4 -4
  503. data/vendor/plugins/tag_sidebar/Rakefile +22 -0
  504. data/vendor/plugins/tag_sidebar/init.rb +5 -0
  505. data/vendor/plugins/tag_sidebar/lib/tag_sidebar.rb +24 -0
  506. data/vendor/plugins/tag_sidebar/test/tag_sidebar_test.rb +8 -0
  507. data/vendor/plugins/tag_sidebar/views/content.rhtml +8 -0
  508. data/vendor/plugins/technorati_sidebar/Rakefile +22 -0
  509. data/vendor/plugins/technorati_sidebar/init.rb +5 -0
  510. data/{app/models/aggregations → vendor/plugins/technorati_sidebar/lib}/technorati.rb +0 -0
  511. data/{components/plugins/sidebars/technorati_controller.rb → vendor/plugins/technorati_sidebar/lib/technorati_sidebar.rb} +8 -4
  512. data/vendor/plugins/technorati_sidebar/test/technorati_sidebar_test.rb +8 -0
  513. data/vendor/plugins/technorati_sidebar/views/content.rhtml +8 -0
  514. data/vendor/plugins/typo_textfilter_amazon/README +5 -0
  515. data/vendor/plugins/typo_textfilter_amazon/Rakefile +22 -0
  516. data/vendor/plugins/typo_textfilter_amazon/init.rb +4 -0
  517. data/vendor/plugins/typo_textfilter_amazon/install.rb +1 -0
  518. data/vendor/plugins/typo_textfilter_amazon/lib/typo_textfilter_amazon.rb +45 -0
  519. data/vendor/plugins/typo_textfilter_amazon/tasks/typo_textfilter_amazon_tasks.rake +4 -0
  520. data/vendor/plugins/typo_textfilter_amazon/test/typo_textfilter_amazon_test.rb +8 -0
  521. data/vendor/plugins/typo_textfilter_code/README +4 -0
  522. data/vendor/plugins/typo_textfilter_code/Rakefile +22 -0
  523. data/vendor/plugins/typo_textfilter_code/init.rb +4 -0
  524. data/vendor/plugins/typo_textfilter_code/install.rb +1 -0
  525. data/vendor/plugins/typo_textfilter_code/lib/typo_textfilter_code.rb +62 -0
  526. data/vendor/plugins/typo_textfilter_code/tasks/typo_textfilter_code_tasks.rake +4 -0
  527. data/vendor/plugins/typo_textfilter_code/test/typo_textfilter_code_test.rb +8 -0
  528. data/vendor/plugins/typo_textfilter_flickr/README +4 -0
  529. data/vendor/plugins/typo_textfilter_flickr/Rakefile +22 -0
  530. data/vendor/plugins/typo_textfilter_flickr/init.rb +4 -0
  531. data/vendor/plugins/typo_textfilter_flickr/install.rb +1 -0
  532. data/vendor/plugins/typo_textfilter_flickr/lib/typo_textfilter_flickr.rb +79 -0
  533. data/vendor/plugins/typo_textfilter_flickr/tasks/typo_textfilter_flickr_tasks.rake +4 -0
  534. data/vendor/plugins/typo_textfilter_flickr/test/typo_textfilter_flickr_test.rb +8 -0
  535. data/vendor/plugins/typo_textfilter_htmlfilter/README +4 -0
  536. data/vendor/plugins/typo_textfilter_htmlfilter/Rakefile +22 -0
  537. data/vendor/plugins/typo_textfilter_htmlfilter/init.rb +2 -0
  538. data/vendor/plugins/typo_textfilter_htmlfilter/install.rb +1 -0
  539. data/vendor/plugins/typo_textfilter_htmlfilter/lib/typo_textfilter_htmlfilter.rb +12 -0
  540. data/vendor/plugins/typo_textfilter_htmlfilter/tasks/typo_textfilter_htmlfilter_tasks.rake +4 -0
  541. data/vendor/plugins/typo_textfilter_htmlfilter/test/typo_textfilter_htmlfilter_test.rb +8 -0
  542. data/vendor/plugins/typo_textfilter_lightbox/README +4 -0
  543. data/vendor/plugins/typo_textfilter_lightbox/Rakefile +22 -0
  544. data/vendor/plugins/typo_textfilter_lightbox/init.rb +2 -0
  545. data/vendor/plugins/typo_textfilter_lightbox/install.rb +1 -0
  546. data/{components/plugins/textfilters/lightbox_controller.rb → vendor/plugins/typo_textfilter_lightbox/lib/typo_textfilter_lightbox.rb} +64 -61
  547. data/vendor/plugins/typo_textfilter_lightbox/tasks/typo_textfilter_lightbox_tasks.rake +4 -0
  548. data/vendor/plugins/typo_textfilter_lightbox/test/typo_textfilter_lightbox_test.rb +8 -0
  549. data/vendor/plugins/typo_textfilter_markdown/README +4 -0
  550. data/vendor/plugins/typo_textfilter_markdown/Rakefile +22 -0
  551. data/vendor/plugins/typo_textfilter_markdown/init.rb +2 -0
  552. data/vendor/plugins/typo_textfilter_markdown/install.rb +1 -0
  553. data/{components/plugins/textfilters/markdown_controller.rb → vendor/plugins/typo_textfilter_markdown/lib/typo_textfilter_markdown.rb} +13 -9
  554. data/vendor/plugins/typo_textfilter_markdown/tasks/typo_textfilter_markdown_tasks.rake +4 -0
  555. data/vendor/plugins/typo_textfilter_markdown/test/typo_textfilter_markdown_test.rb +8 -0
  556. data/vendor/plugins/typo_textfilter_none/README +4 -0
  557. data/vendor/plugins/typo_textfilter_none/Rakefile +22 -0
  558. data/vendor/plugins/typo_textfilter_none/init.rb +2 -0
  559. data/vendor/plugins/typo_textfilter_none/install.rb +1 -0
  560. data/vendor/plugins/typo_textfilter_none/lib/typo_textfilter_none.rb +12 -0
  561. data/vendor/plugins/typo_textfilter_none/tasks/typo_textfilter_none_tasks.rake +4 -0
  562. data/vendor/plugins/typo_textfilter_none/test/typo_textfilter_none_test.rb +8 -0
  563. data/vendor/plugins/typo_textfilter_smartypants/README +4 -0
  564. data/vendor/plugins/typo_textfilter_smartypants/Rakefile +22 -0
  565. data/vendor/plugins/typo_textfilter_smartypants/init.rb +2 -0
  566. data/vendor/plugins/typo_textfilter_smartypants/install.rb +1 -0
  567. data/vendor/plugins/typo_textfilter_smartypants/lib/typo_textfilter_smartypants.rb +12 -0
  568. data/vendor/plugins/typo_textfilter_smartypants/tasks/typo_textfilter_smartypants_tasks.rake +4 -0
  569. data/vendor/plugins/typo_textfilter_smartypants/test/typo_textfilter_smartypants_test.rb +8 -0
  570. data/vendor/plugins/typo_textfilter_sparkline/README +4 -0
  571. data/vendor/plugins/typo_textfilter_sparkline/Rakefile +22 -0
  572. data/vendor/plugins/typo_textfilter_sparkline/init.rb +2 -0
  573. data/vendor/plugins/typo_textfilter_sparkline/install.rb +1 -0
  574. data/vendor/plugins/typo_textfilter_sparkline/lib/typo_textfilter_sparkline.rb +92 -0
  575. data/vendor/plugins/typo_textfilter_sparkline/tasks/typo_textfilter_sparkline_tasks.rake +4 -0
  576. data/vendor/plugins/typo_textfilter_sparkline/test/typo_textfilter_sparkline_test.rb +8 -0
  577. data/vendor/plugins/typo_textfilter_textile/README +4 -0
  578. data/vendor/plugins/typo_textfilter_textile/Rakefile +22 -0
  579. data/vendor/plugins/typo_textfilter_textile/init.rb +2 -0
  580. data/vendor/plugins/typo_textfilter_textile/install.rb +1 -0
  581. data/vendor/plugins/typo_textfilter_textile/lib/typo_textfilter_textile.rb +18 -0
  582. data/vendor/plugins/typo_textfilter_textile/tasks/typo_textfilter_textile_tasks.rake +4 -0
  583. data/vendor/plugins/typo_textfilter_textile/test/typo_textfilter_textile_test.rb +8 -0
  584. data/vendor/plugins/typo_textfilter_textile_and_markdown/README +4 -0
  585. data/vendor/plugins/typo_textfilter_textile_and_markdown/Rakefile +22 -0
  586. data/vendor/plugins/typo_textfilter_textile_and_markdown/init.rb +2 -0
  587. data/vendor/plugins/typo_textfilter_textile_and_markdown/install.rb +1 -0
  588. data/vendor/plugins/typo_textfilter_textile_and_markdown/lib/typo_textfilter_textile_and_markdown.rb +12 -0
  589. data/vendor/plugins/typo_textfilter_textile_and_markdown/tasks/typo_textfilter_textile_and_markdown_tasks.rake +4 -0
  590. data/vendor/plugins/typo_textfilter_textile_and_markdown/test/typo_textfilter_textile_and_markdown_test.rb +8 -0
  591. data/vendor/plugins/typo_textfilter_tmcode/README +4 -0
  592. data/vendor/plugins/typo_textfilter_tmcode/Rakefile +22 -0
  593. data/vendor/plugins/typo_textfilter_tmcode/init.rb +3 -0
  594. data/vendor/plugins/typo_textfilter_tmcode/install.rb +1 -0
  595. data/vendor/plugins/typo_textfilter_tmcode/lib/typo_textfilter_tmcode.rb +86 -0
  596. data/vendor/plugins/typo_textfilter_tmcode/tasks/typo_textfilter_tmcode_tasks.rake +4 -0
  597. data/vendor/plugins/typo_textfilter_tmcode/test/typo_textfilter_tmcode_test.rb +8 -0
  598. data/vendor/plugins/upcoming_sidebar/Rakefile +22 -0
  599. data/vendor/plugins/upcoming_sidebar/init.rb +5 -0
  600. data/{app/models/aggregations → vendor/plugins/upcoming_sidebar/lib}/upcoming.rb +0 -0
  601. data/vendor/plugins/upcoming_sidebar/lib/upcoming_sidebar.rb +15 -0
  602. data/vendor/plugins/upcoming_sidebar/test/upcoming_sidebar_test.rb +8 -0
  603. data/{components/plugins/sidebars/upcoming → vendor/plugins/upcoming_sidebar/views}/content.rhtml +3 -3
  604. data/vendor/plugins/xbox_sidebar/Rakefile +22 -0
  605. data/vendor/plugins/xbox_sidebar/init.rb +5 -0
  606. data/{components/plugins/sidebars/xbox_controller.rb → vendor/plugins/xbox_sidebar/lib/xbox_sidebar.rb} +1 -1
  607. data/vendor/plugins/xbox_sidebar/test/xbox_sidebar_test.rb +8 -0
  608. data/vendor/plugins/xbox_sidebar/views/content.rhtml +2 -0
  609. data/vendor/plugins/xml_sidebar/Rakefile +22 -0
  610. data/vendor/plugins/xml_sidebar/init.rb +5 -0
  611. data/{components/plugins/sidebars/xml_controller.rb → vendor/plugins/xml_sidebar/lib/xml_sidebar.rb} +1 -1
  612. data/vendor/plugins/xml_sidebar/test/xml_sidebar_test.rb +8 -0
  613. data/vendor/plugins/xml_sidebar/views/content.rhtml +12 -0
  614. metadata +505 -101
  615. data/app/controllers/sidebar_controller.rb +0 -50
  616. data/app/models/content_observer.rb +0 -5
  617. data/components/plugins/sidebars/aimpresence/content.rhtml +0 -4
  618. data/components/plugins/sidebars/aimpresence_controller.rb +0 -10
  619. data/components/plugins/sidebars/amazon/content.rhtml +0 -4
  620. data/components/plugins/sidebars/amazon_controller.rb +0 -17
  621. data/components/plugins/sidebars/category/content.rhtml +0 -10
  622. data/components/plugins/sidebars/delicious/content.rhtml +0 -20
  623. data/components/plugins/sidebars/flickr_controller.rb +0 -16
  624. data/components/plugins/sidebars/fortythree/content.rhtml +0 -8
  625. data/components/plugins/sidebars/fortythreeplaces/content.rhtml +0 -8
  626. data/components/plugins/sidebars/magnolia/content.rhtml +0 -12
  627. data/components/plugins/sidebars/magnolia_controller.rb +0 -17
  628. data/components/plugins/sidebars/recent_comments_controller.rb +0 -23
  629. data/components/plugins/sidebars/static/content.rhtml +0 -2
  630. data/components/plugins/sidebars/tag/content.rhtml +0 -8
  631. data/components/plugins/sidebars/tag_controller.rb +0 -18
  632. data/components/plugins/sidebars/technorati/content.rhtml +0 -8
  633. data/components/plugins/sidebars/upcoming_controller.rb +0 -11
  634. data/components/plugins/sidebars/xbox/content.rhtml +0 -2
  635. data/components/plugins/sidebars/xml/content.rhtml +0 -12
  636. data/components/plugins/textfilters/amazon_controller.rb +0 -39
  637. data/components/plugins/textfilters/code_controller.rb +0 -59
  638. data/components/plugins/textfilters/flickr_controller.rb +0 -75
  639. data/components/plugins/textfilters/htmlfilter_controller.rb +0 -8
  640. data/components/plugins/textfilters/macropost_controller.rb +0 -14
  641. data/components/plugins/textfilters/macropre_controller.rb +0 -14
  642. data/components/plugins/textfilters/none_controller.rb +0 -8
  643. data/components/plugins/textfilters/smartypants_controller.rb +0 -8
  644. data/components/plugins/textfilters/sparkline_controller.rb +0 -88
  645. data/components/plugins/textfilters/textile_and_markdown_controller.rb +0 -8
  646. data/components/plugins/textfilters/textile_controller.rb +0 -14
  647. data/db/schema.mysql-v3.sql +0 -218
  648. data/lib/generators/sidebar/templates/components/plugins/sidebars/controller_template.rb +0 -20
  649. data/lib/generators/sidebar/templates/components/plugins/sidebars/views/content_template.rhtml +0 -4
  650. data/lib/rails_patch/components.rb +0 -14
  651. data/public/images/checked.gif +0 -0
  652. data/test/unit/observer_test.rb +0 -40
@@ -1,3 +1,3 @@
1
- <%= link_to "Previous page", { :id => pages.current.previous } if pages.current.previous -%>
1
+ <%= link_to _("Previous page"), { :id => pages.current.previous } if pages.current.previous -%>
2
2
  <%= pagination_links pages, :name => 'id' -%>
3
- <%= link_to "Next page", { :id => pages.current.next } if pages.current.next -%>
3
+ <%= link_to _("Next page"), { :id => pages.current.next } if pages.current.next -%>
@@ -1,20 +1,20 @@
1
- <%= start_form_tag :action=>"new" %>
1
+ <% form_tag :action=>"new" do %>
2
2
  <p>
3
- <label for="articles_title">Title:</label><br />
3
+ <label for="articles_title"><%= _("Title")%>:</label><br />
4
4
  <%= text_field 'article', 'title' %>
5
5
  </p>
6
6
  <p>
7
7
  <p>
8
- <label for="categories[]">Categories:</label><br />
8
+ <label for="categories[]"><%= _("Categories")%>:</label><br />
9
9
  <select name="categories[]" multiple="multiple" size="3" style="width:250px;">
10
10
  <%= options_from_collection_for_select(@categories, "id", "name", @selected) %>
11
11
  </select>
12
12
  </p>
13
13
  <p>
14
- <label for="articles_body">Article:</label><br />
14
+ <label for="articles_body"><%= _("Article")%>:</label><br />
15
15
  <%= text_area 'article', 'body', :rows => 10 %>
16
16
  </p>
17
17
  <div id="operations">
18
- <%= save("Save Post") %> or <a href="#" onclick="new Effect.BlindUp('quick-post', {duration: 0.4}); return false;" >Cancel</a>
18
+ <%= save(_("Save Post")) %> or <a href="#" onclick="new Effect.BlindUp('quick-post', {duration: 0.4}); return false;" >Cancel</a>
19
19
  </div>
20
- <%= end_form_tag %>
20
+ <% end %>
@@ -1,9 +1,9 @@
1
- <h4>Currently this article is listed in following categories:</h4>
1
+ <h4><%= _("Currently this article is listed in following categories")%>:</h4>
2
2
  <% for category in @article.categories %>
3
3
  <%= link_to_remote "- #{category.name}", :url => { :action => "category_remove", :id => @article.id, :category_id => category.id }, :update => 'categories' %><br/>
4
4
  <% end %>
5
5
 
6
- <h4>You can add it to the following categories:</h4>
6
+ <h4><%= _("You can add it to the following categories")%>:</h4>
7
7
  <% for category in @categories - @article.categories %>
8
8
  <%= link_to_remote "+ #{category.name}", :url => { :action => "category_add", :id => @article.id, :category_id => category.id }, :update => 'categories' %><br/>
9
9
  <% end %>
@@ -1,9 +1,9 @@
1
- <h4>Currently this article has the following resources</h4>
1
+ <h4><%= _("Currently this article has the following resources")%></h4>
2
2
  <% for resource in @article.resources %>
3
3
  <%= link_to_remote "- #{resource.filename}", :url => { :action => "resource_remove", :id => @article.id, :resource_id => resource.id}, :update => 'resources' %><br/>
4
4
  <% end %>
5
5
 
6
- <h4>You can associate the following resources</h4>
6
+ <h4><%= _("You can associate the following resources")%></h4>
7
7
  <% for resource in @resources - @article.resources %>
8
8
  <%= link_to_remote "+ #{resource.filename}", :url => { :action => "resource_add", :id => @article.id, :resource_id => resource.id}, :update => 'resources' %><br/>
9
9
  <% end %>
@@ -1,11 +1,11 @@
1
- <% @page_heading = 'Articles' %>
1
+ <% @page_heading = _('Articles') %>
2
2
 
3
3
  <% content_for('tasks') do %>
4
- <%= task_show "Show this article", @article.id %>
5
- <% end %>
4
+ <%= task_show _("Show this article"), @article.id %>
5
+ <% end %>
6
6
 
7
- <p>Are you sure you want to delete this article ( <%=h @article.title -%> )?</p>
8
- <%= start_form_tag :controller => 'content', :action => 'destroy' %>
9
- <%= hidden_field "article", "id" %>
10
- <%= confirm_delete("Delete this article") %>
11
- <%= end_form_tag %>
7
+ <p><%= _("Are you sure you want to delete this article")%> ( <%=h @article.title -%> )?</p>
8
+ <% form_tag :controller => '/admin/content', :action => 'destroy' do %>
9
+ <%= hidden_field_tag "id", @article.id %>
10
+ <%= confirm_delete(_("Delete this article")) %>
11
+ <% end %>
@@ -1,28 +1,10 @@
1
- <% @page_heading = 'Articles' %>
2
-
3
- <% content_for('tasks') do %>
4
- <%= task_new 'Create new article' %>
5
- <li><%= link_to 'View article on your blog', article_url(@article) %></li>
6
- <% end %>
7
-
8
- <%= start_form_tag({ :action => "edit", :id => @article }, :id => "article_form", :enctype => "multipart/form-data") %>
9
- <h3>Editing article</h3>
10
-
11
- <div class="form">
12
- <!-- LIVE PREVIEW -->
13
- <div id="preview" class="post" style="display:none;"></div>
14
- <!-- /LIVE PREVIEW -->
15
- <%= render_partial "form" %>
16
- </div>
1
+ <% @page_heading = _('Edit Article') %>
17
2
 
18
- <div id="operations">
19
- <%= save %> or <%= cancel %>
20
- </div>
21
-
22
- <%= end_form_tag %>
3
+ <% content_for('tasks') do %>
4
+ <%= task_overview %>
5
+
6
+ <li><%= link_to _('View article on your blog'), @article.permalink_url %></li>
7
+ <% end %>
23
8
 
24
- <%= observe_form "article_form",
25
- :frequency => 2,
26
- :update => "preview",
27
- :complete => "Element.show('preview')",
28
- :url => { :action => "preview" } %>
9
+ <h3><%= _("Edit Article")%></h3>
10
+ <%= render :partial => "admin/shared/edit", :locals => { :form_type => "article", :form_action => { :action => "edit", :id => @article } } %>
@@ -1,9 +1,9 @@
1
- <% @page_heading = 'Articles' %>
1
+ <% @page_heading = _('Manage Articles') %>
2
2
 
3
3
  <% content_for('tasks') do %>
4
- <%= task_quickpost('Quick Post') %>
5
- <%= task_new 'Create new article' %>
6
- <%= task_quicknav('Navigate') %>
4
+ <%= tab _("Manage Pages"), :controller=>"pages", :action=>"list" %>
5
+ <%= tab _("Manage Categories"), :controller=>"categories", :action=>"index"%>
6
+ <%= tab _("Manage Resources"), :controller=>"resources", :action=>"list" %>
7
7
  <% end %>
8
8
  <div id="quick-navigate" style="display:none;position:absolute;">
9
9
  <%= render :partial => 'admin/content/pages', :object => @articles_pages -%>
@@ -1,27 +1,7 @@
1
- <% @page_heading = 'Articles' %>
1
+ <% content_for('tasks') do %>
2
+ <%= tab _("Write a Page"), :controller=>"pages", :action=>"new" %>
3
+ <% end %>
2
4
 
3
- <h3>Creating article</h3>
5
+ <% @page_heading = _('Write an Article') %>
4
6
 
5
- <%= start_form_tag({ :action => "new" }, :id => "article_form", :enctype => "multipart/form-data") %>
6
-
7
-
8
- <div class="form">
9
- <!-- LIVE PREVIEW -->
10
- <div id="preview" class="post" style="display: none;"></div>
11
- <!-- /LIVE PREVIEW -->
12
- <%= render_partial "form" %>
13
- </div>
14
-
15
- <div id="operations">
16
- <%= save("Save this article") %> or <%= cancel %>
17
- </div>
18
-
19
- <%= end_form_tag %>
20
-
21
- <%= observe_form "article_form",
22
- :frequency => 2,
23
- :update => "preview",
24
- :complete => "Element.show('preview')",
25
- :url => { :action => "preview" } %>
26
-
27
-
7
+ <%= render :partial => "admin/shared/edit", :locals => { :form_type => "article", :form_action => { :action => "new" } } %>
@@ -1,3 +1,10 @@
1
- <h4><%= @article[:title] %></h4>
1
+ <div class="post">
2
+ <h2><%= @article[:title] %></h2>
3
+ <p class="auth">
4
+ <%_("Posted by")%>
5
+ <%= author_link(@article) %>
6
+ <%= js_distance_of_time_in_words_to_now @article[:published_at] %>
7
+ </p>
2
8
 
3
- <%= @article.full_html %>
9
+ <%= @article.html %>
10
+ </div>
@@ -1,25 +1,26 @@
1
- <% @page_heading = 'Articles' %>
1
+ <% @page_heading = _('Preview Article') %>
2
2
 
3
3
  <% content_for('tasks') do %>
4
- <%= task_edit 'Edit this article', @article.id %>
5
- <li><%= link_to 'View article on your blog', article_url(@article) %></li>
4
+ <%= task_edit _('Edit this article'), @article.id %>
5
+ <li><%= link_to _('View article on your blog'), @article.permalink_url %></li>
6
+ <%= task_overview %>
6
7
  <% end %>
7
8
 
8
9
  <h3><%=h @article.title %></h3>
9
10
 
10
11
  <div class="form">
11
- <div><%= @article.full_html %></div>
12
- <p class="meta"><label>Posted:</label> <%=h @article.published_at.to_formatted_s(:long_weekday) %> by <%=h @article.author %></p>
13
- <p class="meta"><label>Last updated:</label> <%=h @article.updated_at.to_formatted_s(:long_weekday) %></p>
14
- <p class="meta"><label>Published:</label> <%=h (@article.published? ? "Yes" : "No") %></p>
12
+ <div><%= @article.html %></div>
13
+ <p class="meta"><label><%= _("Posted date")%>:</label> <%=h @article.published_at.to_formatted_s(:long_weekday) %> by <%=h @article.author %></p>
14
+ <p class="meta"><label><%= _("Last updated")%>:</label> <%=h @article.updated_at.to_formatted_s(:long_weekday) %></p>
15
+ <p class="meta"><label><%= _("Online")%>:</label> <%=h (@article.published? ? "Yes" : "No") %></p>
15
16
  </div>
16
17
 
17
- <h3>Categories</h3>
18
+ <h3><%= _("Categories")%></h3>
18
19
  <div id="categories" class="form">
19
20
  <%= render :partial => 'show_categories' -%>
20
21
  </div>
21
22
 
22
- <h3>Attachments</h3>
23
+ <h3><%= _("Attachments")%></h3>
23
24
  <div id="resources" class="form">
24
25
  <%= render :partial => 'show_resources' -%>
25
26
  </div>
@@ -1,6 +1,6 @@
1
1
  <tr class="<%= state_class(item) %>">
2
2
  <td class="field"><input class= "feedback_check" type="checkbox" name="feedback_check[<%= item.id %>]"/></td>
3
- <td class="state"><%= item.state %></td>
3
+ <td class="operation"><%=h item.state %></td>
4
4
  <td class="field"><%=h item.class %></td>
5
5
  <td class="field"><%= link_to_article_edit item.article %></td>
6
6
  <td class="field">
@@ -13,5 +13,5 @@
13
13
  <td class="field"><%=h truncate(item.body,80)%></td>
14
14
  <td class="field"><%=h item.ip %></td>
15
15
  <td class="field"><%=h distance_of_time_in_words_to_now(item.created_at) %> ago</td>
16
- <td class="field"><%= link_to image_tag('delete'), {:action => 'delete', :id => item.id, :search => params[:search], :page => params[:page] }, :confirm => "Are you sure?", :post => true %></td>
16
+ <td class="operation"><%= link_to image_tag('delete.png'), {:action => 'delete', :id => item.id, :search => params[:search], :page => params[:page] }, :confirm => "Are you sure?", :method => :post %></td>
17
17
  </tr>
@@ -1,19 +1,20 @@
1
- <% @page_heading = "Comments and Trackbacks for #{ this_blog.settings['blog_name'] }" %>
1
+ <% @page_heading = _("Comments and Trackbacks for") + " #{ this_blog.settings['blog_name'] }" %>
2
2
 
3
3
  <% content_for('tasks') do %>
4
- <%= task_showmod 'Limit to spam' %>
5
- <%= task_showmod 'Limit to unconfirmed' %>
6
- <%= task_showmod 'Limit to unconfirmed spam' %>
4
+ <%= task_showmod _('Limit to spam') %>
5
+ <%= task_showmod _("Limit to unconfirmed") %>
6
+ <%= task_showmod _('Limit to unconfirmed spam') %>
7
+ <%= tab _("Blacklist"), :controller=>"blacklist", :action=>"index"%>
7
8
  <% end %>
8
9
 
9
10
  <div class="search">
10
- <%= form_tag({:action => 'index'}, :method => :get) %>
11
- <label for="search">Feedback Search:</label><input type="text" id="feedback_search" name="search" value="<%=h params[:search] %>" size="15" />
12
- <%= end_form_tag %>
11
+ <% form_tag({:action => 'index'}, :method => :get) do %>
12
+ <label for="search"><%= _("Feedback Search")%>:</label><input type="text" id="feedback_search" name="search" value="<%=h params[:search] %>" size="15" />
13
+ <% end %>
13
14
  </div>
14
15
 
15
16
  <div class="list">
16
- <%= form_tag({:action => 'bulkops'}, :method => :post) %>
17
+ <% form_tag({:action => 'bulkops'}, :method => :post) do %>
17
18
  <br/>
18
19
  <%= submit_tag "Delete Checked Items" %> &nbsp;
19
20
  <%= submit_tag "Mark Checked Items as Ham" %>
@@ -25,15 +26,15 @@
25
26
 
26
27
  <table>
27
28
  <tr>
28
- <th><input class="feedback_check" type="checkbox" name="checkall" id="checkall" onclick="check_all(this);"/></th>
29
- <th>State</th>
30
- <th>Type</th>
31
- <th>Article</th>
32
- <th>Author</th>
33
- <th>Body</th>
34
- <th>IP</th>
35
- <th>Posted date</th>
36
- <th>Delete</th>
29
+ <th><input class="feedback_check" type="checkbox" name="checkall" id="checkall" onclick="check_all(this);"/></th>
30
+ <th><%= _("Status")%></th>
31
+ <th><%= _("Type")%></th>
32
+ <th><%= _("Article")%></th>
33
+ <th><%= _("Author")%></th>
34
+ <th><%= _("Body")%></th>
35
+ <th><%= _("IP")%></th>
36
+ <th><%= _("Posted date")%></th>
37
+ <th><%= _("Delete") %></th>
37
38
  </tr>
38
39
  <%= render :partial => 'item', :collection => @feedback %>
39
40
  </table>
@@ -41,10 +42,10 @@
41
42
  <%= submit_tag "Mark Checked Items as Ham" %>
42
43
  <%= submit_tag "Mark Checked Items as Spam" %>
43
44
  <%= submit_tag "Confirm Classification of Checked Items" %>
44
- </form>
45
+ <% end %>
45
46
  </div>
46
47
 
47
- <%= link_to "Previous page", { :page => @pages.current.previous, :search => params[:search] } if @pages.current.previous %>
48
+ <%= link_to _("Previous page"), { :page => @pages.current.previous, :search => params[:search] } if @pages.current.previous %>
48
49
  <%= pagination_links(@pages, :params => {:search => params[:search]}) %>
49
- <%= link_to "Next page", { :page => @pages.current.next, :search => params[:search] } if @pages.current.next %>
50
+ <%= link_to _("Next page"), { :page => @pages.current.next, :search => params[:search] } if @pages.current.next %>
50
51
 
@@ -1,246 +1,268 @@
1
- <% @page_heading = 'Blog settings' %>
2
-
3
- <%= start_form_tag :action => 'update'%>
4
-
5
- <div class="tasks">
6
- <h3>Which settings group would you like to edit?</h3>
7
- <ul>
8
- <li><a href="#gensettings" onclick="new Effect.ScrollTo('gensettings'); return false">General Settings</a></li>
9
- <li><a href="#textfilter" onclick="new Effect.ScrollTo('textfilter'); return false">Text Filter</a></li>
10
- <li><a href="#spam" onclick="new Effect.ScrollTo('spam'); return false">Spam Protection</a></li>
11
- <li><a href="#resources" onclick="new Effect.ScrollTo('resources'); return false">Resource Defaults</a></li>
12
- <li><a href="#misc" onclick="new Effect.ScrollTo('misc'); return false">Cache</a></li>
13
- </ul>
14
- <div style="clear:both;"></div>
15
- </div>
1
+ <% @page_heading = _('Blog settings') %>
2
+
3
+ <% form_tag :action => 'update' do %>
16
4
 
17
- <div id="settings">
18
- <div id="gensettings" class="set" style="margin-top:10px;">
19
- <h3>General Settings</h3>
20
- <p>
21
- <label for="blog_name">Blog name:</label>
22
- <input name="setting[blog_name]" id="blog_name" type="text" value="<%=h this_blog.blog_name %>" />
23
- </p>
24
- <p>
25
- <label for="blog_subtitle">Blog subtitle:</label>
26
- <input name="setting[blog_subtitle]" id="blog_subtitle" type="text" value="<%=h this_blog.blog_subtitle %>" />
27
- </p>
28
- <p>
29
- <input name="setting[title_prefix]" id="blog_title_prefix" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.title_prefix %> />
30
- <label for="blog_title_prefix">Prefix page title with blog name</label>
31
- </p>
32
- <p>
33
- <label for="canonical_server_url">Canonical Server Url:</label>
34
- <input name="setting[canonical_server_url]" id="canonical_server_url" type="text" value="<%= this_blog.canonical_server_url %>" />
35
- </p>
36
- <p>
37
- <input name="setting[default_allow_comments]" id="default_allow_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_allow_comments%> />
38
- <input name="setting[default_allow_comments]" type="hidden" value="0"/>
39
- <label for="default_allow_comments">Enable comments by default</label>
40
- </p>
41
- <p>
42
- <input name="setting[default_allow_pings]" id="default_allow_pings" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_allow_pings%> />
43
- <input name="setting[default_allow_pings]" type="hidden" value="0"/>
44
- <label for="default_allow_pings">Enable Trackbacks by default</label>
45
- </p>
46
- <p>
47
- <label for="limit_article_display">Display </label>
48
- <input name="setting[limit_article_display]" size="4" id="limit_article_display" type="text" value="<%= this_blog.limit_article_display %>" /> articles on my homepage by default.
49
- </p>
50
- <p>
51
- <label for="limit_rss_display">Display </label>
52
- <input name="setting[limit_rss_display]" size="4" id="limit_rss_display" type="text" value="<%= this_blog.limit_rss_display %>" /> articles in my rss feed by default.
53
- </p>
54
- <p>
55
- <input name="setting[show_extended_on_rss]" id="show_extended_on_rss" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.show_extended_on_rss%> />
56
- <input name="setting[show_extended_on_rss]" type="hidden" value="0"/>
57
- <label for="show_extended_on_rss">Show full article on rss feed</label>
58
- </p>
59
-
60
- <hr />
61
-
62
- <p>Should the blog show mailto: links to your email address?</p>
63
- <p><input name="setting[link_to_author]" id="link_to_author" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.link_to_author%> /><input name="setting[link_to_author]" type="hidden" value="0"/> <label for="link_to_author">Enable E-Mail public display</label></p>
64
-
65
- <hr />
66
-
67
- <p>Should the blog use of the <a href="http://www.gravatar.com/">Globally Recognized Avatar (Gravatar)</a> service in comments?</p>
68
- <p>
69
- <input name="setting[use_gravatar]" id="use_gravatar" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.use_gravatar %> />
70
- <input name="setting[use_gravatar]" type="hidden" value="0"/>
71
- <label for="use_gravatar">Enable Gravatar integration</label>
72
- </p>
73
-
74
- <hr />
75
-
76
- <p>Would you like to include your latitude and longitude in your blog's HTML pages? See <a href="http://geourl.org">GeoURL</a> for details. <br/>Example: <tt>47.774,-122.201</tt></p>
77
-
78
- <p>
79
- <label for="geourl_location">Latitude, Longitude:</label>
80
- <input name="setting[geourl_location]" size="20" id="geourl_location" type="text" value="<%= this_blog.geourl_location %>" />
81
- </p>
82
-
83
- <hr/>
84
-
85
- <p>This setting allows you to disable trackbacks for every article in
86
- your blog. It won't remove existing trackbacks, but it will prevent
87
- any further attempt to add a trackback anywhere on your blog. You can
88
- enable or disable trackbacks per-article using the article's extended
89
- settings. See also the
90
- <a href="#gensettings" onclick="new Effect.ScrollTo('gensettings'); return false">"Enable Trackbacks by default" setting</a> above.
91
- </p>
92
- <p>
93
- <input name="setting[global_pings_disable]" id="global_pings_disable" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.global_pings_disable%> />
94
- <input name="setting[global_pings_disable]" type="hidden" value="0"/>
95
- <label for="global_pings_disable">Disable trackbacks site-wide</label>
96
-
97
- </p>
98
-
99
- <hr />
100
-
101
- <p>Should Typo send trackbacks to websites that you link to? This should be disabled
102
- for private blogs, as it will leak non-public information to sites that you're discussing.
103
- For public blogs, there's no real point in disabling this.</p>
104
- <p>
105
- <input name="setting[send_outbound_pings]" id="send_outbound_pings" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.send_outbound_pings%> />
106
- <input name="setting[send_outbound_pings]" type="hidden" value="0"/>
107
- <label for="send_outbound_pings">Send trackbacks to external sites</label>
108
-
109
- </p>
110
-
111
- <p>
112
- <label for="ping_urls">URLs to ping automatically:</label><br/>
113
- <textarea name="setting[ping_urls]" id="ping_urls" rows="5" cols="50"><%=h this_blog.ping_urls %></textarea>
114
- </p>
115
-
116
- <p class="r"><%= save("Save My Settings") %></p>
5
+ <div class="tasks">
6
+ <h3><%= _("Which settings group would you like to edit")%>?</h3>
7
+ <ul>
8
+ <li><a href="#gensettings" onclick="new Effect.ScrollTo('gensettings'); return false"><%= _("General Settings")%></a></li>
9
+ <li><a href="#read" onclick="new Effect.ScrollTo('read'); return false"><%= _("Read")%></a></li>
10
+ <li><a href="#write" onclick="new Effect.ScrollTo('write'); return false"><%= _("Write")%></a></li>
11
+ <li><a href="#discuss" onclick="new Effect.ScrollTo('discuss'); return false"><%= _("Discuss")%></a></li>
12
+ <li><a href="#notification" onclick="new Effect.ScrollTo('notification'); return false"><%= _("Notification")%></a></li>
13
+ <li><a href="#spam" onclick="new Effect.ScrollTo('spam'); return false"><%= _("Spam Protection")%></a></li>
14
+ <li><a href="#resources" onclick="new Effect.ScrollTo('resources'); return false"><%= _("Resource Settings")%></a></li>
15
+ <li><a href="#misc" onclick="new Effect.ScrollTo('misc'); return false"><%= _("Cache")%></a></li>
16
+ </ul>
17
+ <p style="clear:both;"></p>
117
18
  </div>
118
19
 
20
+ <div class="admin">
21
+ <fieldset id="gensettings" class="set" style="margin-top:10px;">
22
+ <legend><%= _("General settings")%></legend>
119
23
 
120
- <div id="textfilter" class="set">
121
- <h3>Text Filter</h3>
122
- <p class="note">Typo supports a number of text filtering options. To add new filters, see the "filters" tab on the toolbar above.</p>
123
- <p>
124
- <select name="setting[text_filter]" id="text_filter">
125
- <%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.text_filter) %>
126
- </select>
127
- <label for="text_filter">Article filter</label>
128
- </p>
129
- <p>
130
- <select name="setting[comment_text_filter]" id="comment_text_filter">
131
- <%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.comment_text_filter) %>
132
- </select>
133
- <label for="comment_text_filter">Comments filter</label>
134
- </p>
135
- <p class="r"><%= save("Save My Settings") %></p>
136
- </div>
137
-
138
- <div id="notification" class="set">
139
- <h3>Notification</h3>
140
- <p>Typo can notify you when new articles or comments are posted</p>
141
- <p>
142
- <label for="email_from">Email address to use in From: field when Typo sends mail:</label>
143
- <input name="setting[email_from]" size="20" id="email_from" type="text" value="<%= this_blog.email_from %>" />
144
- </p>
145
- <p>
146
- <label for="jabber_address">Jabber account to use when sending Jabber notifications:</label>
147
- <input name="setting[jabber_address]" size="20" id="jabber_address" type="text" value="<%= this_blog.jabber_address %>" />
148
- </p>
149
- <p>
150
- <label for="jabber_password">Password for Jabber account:</label>
151
- <input name="setting[jabber_password]" size="20" id="jabber_password" type="password" value="<%= this_blog.jabber_password %>" />
152
- </p>
153
- <p class="r"><%= save("Save My Settings") %></p>
154
- </div>
155
-
156
-
157
- <div id="spam" class="set">
158
- <h3>Spam Protection</h3>
159
- <p>Enabling spam protection will make typo compare the IP address of posters as well as the contents of their posts against local and remote blacklists. Good defense against spam bots.</p>
160
- <p>
161
- <input name="setting[sp_global]" id="sp_global" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_global%> /><input name="setting[sp_global]" type="hidden" value="0"/>
162
- <label for="sp_global">Enable spam protection</label>
163
- </p>
164
- <p>Typo can (optionally) use the <a href="http://akismet.com">Akismet</a> spam-filtering service. You need to register with
165
- Akismet and receive an API key before you can use their service. If you have an Akismet key, enter it here.
166
- </p>
167
- <p>
168
- <label for="sp_akismet_key">Akismet Key</label>
169
- <input name="setting[sp_akismet_key]" id="sp_akismet_key" type="text" value="<%=h this_blog.sp_akismet_key %>"/>
170
- </p>
171
- <p>You can optionally disable non-Ajax comments. Typo will always use Ajax for comment submission if Javascript is enabled,
172
- so non-Ajax comments are either from spammers or users without Javascript.
173
- </p>
174
- <p>
175
- <input name="setting[sp_allow_non_ajax_comments]" id="sp_allow_non_ajax_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_allow_non_ajax_comments%> />
176
- <input name="setting[sp_allow_non_ajax_comments]" type="hidden" value="0" />
177
- <label for="sp_allow_non_ajax_comments">Allow non-ajax comments</label>
178
- <br /><small>(Spam bots usually don't know anything about ajax comments)</small>
179
- </p>
180
- <p>
181
- <label for="sp_article_auto_close">Disable comments after</label>
182
- <input name="setting[sp_article_auto_close]" size="4" id="sp_article_auto_close" type="text" value="<%= this_blog.sp_article_auto_close %>" /> days
183
- <br /><small>(Set to 0 to never disable comments)</small>
184
- </p>
185
- <p>Typo will automatically reject comments and trackbacks which contain over a certain amount of links in them.</p>
186
- <p>
187
- <label for="sp_url_limit">Max URLs:</label>
188
- <input name="setting[sp_url_limit]" size="4" id="sp_url_limit" type="text" value="<%= this_blog.sp_url_limit %>" /> links
189
- <br /><small>(Set to 0 to never reject comments)</small>
190
- </p>
191
- <p class="r"><%= save("Save My Settings") %></p>
192
- </div>
193
- <div id="resources" class="set">
194
- <h3>Resource Defaults</h3>
195
- <p>
196
- The below settings act as defaults when you choose to publish an enclosure with iTunes metadata.
197
- </p>
198
- <p>
199
- <label for="itunes_author">Author:</label>
200
- <input name="setting[itunes_author]" size="25" id="itunes_author" type="text" value="<%= this_blog.itunes_author %>" />
201
- </p>
202
- <p>
203
- <label for="itunes_subtitle">Subtitle:</label>
204
- <input name="setting[itunes_subtitle]" size="25" id="itunes_subtitle" type="text" value="<%= this_blog.itunes_subtitle %>" /><small>(setting for channel)</small>
205
- </p>
206
- <p>
207
- <label for="itunes_summary">Summary:<small>(setting for channel)</small>
208
- </label> <br />
209
- <textarea name="setting[itunes_summary]" cols="40" rows="3"><%=h this_blog.itunes_summary %></textarea>
210
- </p>
211
- <p>
212
- <label for="itunes_email">Email:</label>
213
- <input name="setting[itunes_email]" size="25" id="itunes_email" type="text" value="<%= this_blog.itunes_email %>" /> <small> Not Published by Apple</small>
214
- </p>
215
- <p>
216
- <label for="itunes_name">Optional Name:</label>
217
- <input name="setting[itunes_name]" size="25" id="itunes_name" type="text" value="<%= this_blog.itunes_name %>" /> <small> Not Published by Apple</small>
218
-
219
- </p>
220
- <p>
221
- <label for="itunes_copyright">Copyright Information:</label>
222
- <input name="setting[itunes_copyright]" size="25" id="itunes_copyright" type="text" value="<%= this_blog.itunes_copyright %>" />
223
- </p>
224
- <p>
225
- <label for="itunes_explicit">Explicit:</label>
226
- <input name="setting[itunes_explicit]" id="itunes_explicit" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.itunes_explicit%> /><input name="setting[itunes_explicit]" type="hidden" value="0" />
227
- </p>
228
- <p class="r"><%= save("Save My Settings") %></p>
229
- </div>
230
- </div>
231
-
232
- <div id="misc" class="set">
233
- <h3>Cache</h3>
234
- <%= link_to 'Empty Fragment Cache', :controller => 'cache', :action => 'sweep' %><br />
235
- <%= link_to 'Rebuild cached HTML', :controller => 'cache', :action => 'sweep_html' %><br />
236
- <div id="users">
237
- <p>There are <%= @page_cache_size %> entries in the cache</p>
238
- </div>
239
- </div>
24
+ <ul>
25
+ <li>
26
+ <label for="blog_name" class="float"><%= _("Blog name")%>:</label>
27
+ <input name="setting[blog_name]" id="blog_name" type="text" value="<%=h this_blog.blog_name %>" size="<%= this_blog.blog_name.length %>" />
28
+ </li>
29
+ <li>
30
+ <label class="float" for="blog_subtitle"><%= _("Blog subtitle")%>:</label>
31
+ <input name="setting[blog_subtitle]" id="blog_subtitle" type="text" value="<%=h this_blog.blog_subtitle %>" size="<%= this_blog.blog_subtitle.length%>" />
32
+ </li>
33
+ <li>
34
+ <label class="float" for="base_url"><%= _("Blog URL")%>:</label>
35
+ <input name="setting[base_url]" id="base_url" type="text" value="<%=h this_blog.base_url %>" size="<%= this_blog.base_url.length %> " />
36
+ </li>
37
+ <li>
38
+ <label class="float" for="geourl_location"><%= _("Latitude, Longitude")%>:</label>
39
+ <input name="setting[geourl_location]" size="20" id="geourl_location" type="text" value="<%= this_blog.geourl_location %>" />
40
+ <span class="float"><%= _("Display")%> <a href="http://geourl.org"><%= _("your lattitude and longitude")%></a> (<%= _("exemple")%> <tt>47.774,-122.201</tt>)</span>
41
+ </li>
42
+ <li>
43
+ <label class="float"><%= _("Show blog name")%>:</label>
44
+ <input type="radio" name="setting[title_prefix]" value="1" id="blog_title_prefix_1" <%= 'checked="checked"' if this_blog.title_prefix == 1 %>/>
45
+ <label for="blog_title_prefix_1"><%= _("At the beginning of page title")%></label>
46
+ <span class="float">
47
+ <input type="radio" name="setting[title_prefix]" value="2" id="blog_title_prefix_2" <%= 'checked="checked"' if this_blog.title_prefix == 2 %>/>
48
+ <label for="blog_title_prefix_2"><%= _("At the end of page title")%></label>
49
+ </span>
50
+ <span class="float">
51
+ <input type="radio" name="setting[title_prefix]" value="0" id="blog_title_prefix_0" <%= 'checked="checked"' if this_blog.title_prefix == 0 %>/>
52
+ <label for="blog_title_prefix_0"><%= _("Don't show blog name in page title")%></label>
53
+ </span>
54
+ </li>
55
+ </ul>
56
+ <p class="r"><%= save(_("Save Settings")) %></p>
57
+ </fieldset>
240
58
 
59
+ <fieldset id="read" class="set">
60
+ <legend><%= _("Read")%></legend>
241
61
 
242
- <div id="operations" class="tasks">
243
- <%= save("Save My Settings") %>
244
- </div>
62
+ <ul>
63
+ <li>
64
+ <label for="limit_article_display" class="float"><%= _("Display")%> </label>
65
+ <input name="setting[limit_article_display]" size="4" id="limit_article_display" type="text" value="<%= this_blog.limit_article_display %>" />
66
+ <%= _("articles on my homepage by default")%>
67
+ </li>
68
+ <li>
69
+ <label for="limit_rss_display" class="float"><%= _("Display")%> </label>
70
+ <input name="setting[limit_rss_display]" size="4" id="limit_rss_display" type="text" value="<%= this_blog.limit_rss_display %>" />
71
+ <%= _("articles in my news feed by default")%>.
72
+ </li>
73
+ <li class="checkbox">
74
+ <label class="float" for="show_extended_on_rss"><%= _("Show full article on feed")%>:</label>
75
+ <input name="setting[show_extended_on_rss]" id="show_extended_on_rss" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.show_extended_on_rss%> />
76
+ <input name="setting[show_extended_on_rss]" type="hidden" value="0" />
77
+ </li>
78
+ </ul>
79
+ <p class="r"><%= save(_("Save Settings")) %></p>
80
+ </fieldset>
81
+
82
+ <fieldset id="write" class="set">
83
+ <legend><%= _("Write")%></legend>
84
+
85
+ <ul>
86
+ <li>
87
+ <label class="float" for="text_filter"><%= _("Article filter")%>:</label>
88
+ <select name="setting[text_filter]" id="text_filter">
89
+ <%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.text_filter) %>
90
+ </select>
91
+ </li>
92
+ <li>
93
+ <label for="comment_text_filter" class="float"><%= _("Comments filter")%>:</label>
94
+ <select name="setting[comment_text_filter]" id="comment_text_filter">
95
+ <%= options_for_select text_filter_options, TextFilter.find_by_name(this_blog.comment_text_filter) %>
96
+ </select>
97
+ </li>
98
+ <li>
99
+ <%= _("When publishing articles, Typo can send trackbacks to websites that you link to. This should be disabled for private blogs as it will leak non-public information to sites that you're discussing. For public blogs, there's no real point in disabling this.")%>
100
+ </li>
101
+ <li class="checkbox">
102
+ <label class="float" for="send_outbound_pings"><%= _("Send trackbacks")%>:</label>
103
+ <input name="setting[send_outbound_pings]" id="send_outbound_pings" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.send_outbound_pings%> />
104
+ <input name="setting[send_outbound_pings]" type="hidden" value="0" />
105
+ </li>
106
+ <li>
107
+ <label class="float" for="ping_urls"><%= _("URLs to ping automatically")%>:</label>
108
+ <textarea name="setting[ping_urls]" id="ping_urls" rows="5" cols="50"><%=h this_blog.ping_urls %></textarea>
109
+ </li>
110
+ </ul>
111
+ <p class="r"><%= save(_("Save Settings")) %></p>
112
+ </fieldset>
113
+
114
+ <fieldset id="discuss" class="set">
115
+ <legend><%= _("Discuss")%></legend>
116
+ <ul>
117
+ <li>
118
+ <%= _("This setting allows you to disable trackbacks for every article in your blog. It won't remove existing trackbacks, but it will prevent any further attempt to add a trackback anywhere on your blog.")%>
119
+ </li>
120
+ <li class="checkbox">
121
+ <label class="float" for="global_pings_disable"><%= _("Disable trackbacks site-wide")%>:</label>
122
+ <input name="setting[global_pings_disable]" id="global_pings_disable" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.global_pings_disable%> />
123
+ <input name="setting[global_pings_disable]" type="hidden" value="0" />
124
+ </li>
125
+ <li class="checkbox">
126
+ <label class="float" for="default_allow_pings"><%= _("Enable Trackbacks by default")%>:</label>
127
+ <input name="setting[default_allow_pings]" id="default_allow_pings" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_allow_pings%> />
128
+ <input name="setting[default_allow_pings]" type="hidden" value="0" />
129
+ </li>
130
+ <li><%= _("You can enable site wide comment moderation. If you do so, no comment or trackback will appear on your blog unless you validate it")%>.</li>
131
+ <li class="checkbox">
132
+ <label class="float" for="default_moderate_comments"><%= _("Enable comments moderation")%>:</label>
133
+ <input name="setting[default_moderate_comments]" id="default_moderate_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_moderate_comments %> />
134
+ <input name="setting[default_moderate_comments]" type="hidden" value="0" />
135
+ </li>
136
+ <li class="checkbox">
137
+ <label class="float" for="default_allow_comments"><%= _("Enable comments by default")%>:</label>
138
+ <input name="setting[default_allow_comments]" id="default_allow_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.default_allow_comments%> />
139
+ <input name="setting[default_allow_comments]" type="hidden" value="0" />
140
+ </li>
141
+ <li class="checkbox">
142
+ <label class="float" for="link_to_author"><%= _("Show your email address") %>:</label>
143
+ <input name="setting[link_to_author]" id="link_to_author" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.link_to_author%> />
144
+ <input name="setting[link_to_author]" type="hidden" value="0" />
145
+ </li>
146
+ <li class="checkbox">
147
+ <label class="float" for="use_gravatar"><%= _("Enable gravatars")%>:</label>
148
+ <input name="setting[use_gravatar]" id="use_gravatar" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.use_gravatar %> />
149
+ <input name="setting[use_gravatar]" type="hidden" value="0" />
150
+ </li>
151
+ <li>
152
+ <%= _("You can optionally disable non-Ajax comments. Typo will always use Ajax for comment submission if Javascript is enabled, so non-Ajax comments are either from spammers or users without Javascript.")%>
153
+ </li>
154
+ <li class="checkbox">
155
+ <label for="sp_allow_non_ajax_comments" class="float"><%= _("Allow non-ajax comments") %>:</label>
156
+ <input name="setting[sp_allow_non_ajax_comments]" id="sp_allow_non_ajax_comments" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_allow_non_ajax_comments%> />
157
+ <input name="setting[sp_allow_non_ajax_comments]" type="hidden" value="0" />
158
+ </li>
159
+ <li>
160
+ <label for="sp_article_auto_close" class="float"><%= _("Disable comments after")%></label>
161
+ <input name="setting[sp_article_auto_close]" size="4" id="sp_article_auto_close" type="text" value="<%= this_blog.sp_article_auto_close %>" /> <%= _("days") %>
162
+ <span class="float"><%= _("Set to 0 to never disable comments")%></span>
163
+ </li>
164
+ <li>
165
+ <p><%= _("Typo will automatically reject comments and trackbacks which contain over a certain amount of links in them")%>.</p>
166
+ <label class="float" for="sp_url_limit"><%= _("Max Links")%>:</label>
167
+ <input name="setting[sp_url_limit]" size="4" id="sp_url_limit" type="text" value="<%= this_blog.sp_url_limit %>" />
168
+ <span class="float"><%= _("Set to 0 to never reject comments")%></span>
169
+ </li>
170
+ </ul>
171
+
172
+ <p class="r"><%= save(_("Save Settings")) %></p>
173
+ </fieldset>
245
174
 
246
- <%= end_form_tag %>
175
+ <fieldset id="notification" class="set">
176
+ <legend><%= _("Notification")%></legend>
177
+ <ul>
178
+ <li><%= _("Typo can notify you when new articles or comments are posted")%></li>
179
+ <li>
180
+ <label class="float" for="email_from"><%= _("Source Email")%>:</label>
181
+ <input name="setting[email_from]" size="25" id="email_from" type="text" value="<%= this_blog.email_from %>" />
182
+ <span class="float"><%= _("Email address used by Typo to send notifications")%>.</span>
183
+ </li>
184
+ <li>
185
+ <label for="jabber_address" class="float"><%=_("Jabber account")%>:</label>
186
+ <input name="setting[jabber_address]" size="20" id="jabber_address" type="text" value="<%= this_blog.jabber_address %>" />
187
+ <span class="float"><%= _("Jabber account to use when sending Jabber notifications") %>.</span>
188
+ </li>
189
+ <li>
190
+ <label class="float" for="jabber_password"><%= _("Jabber password")%>:</label>
191
+ <input name="setting[jabber_password]" size="20" id="jabber_password" type="password" value="<%= this_blog.jabber_password %>" />
192
+ </li>
193
+ </ul>
194
+ <p class="r"><%= save(_("Save Settings")) %></p>
195
+ </fieldset>
196
+
197
+ <fieldset id="spam" class="set">
198
+ <legend><%= _("Spam protection")%></legend>
199
+
200
+ <ul>
201
+ <li><%= _("Enabling spam protection will make typo compare the IP address of posters as well as the contents of their posts against local and remote blacklists. Good defense against spam bots")%>.</li>
202
+ <li class="checkbox">
203
+ <label for="sp_global" class="float"><%= _("Enable spam protection")%>:</label>
204
+ <input name="setting[sp_global]" id="sp_global" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.sp_global%> /><input name="setting[sp_global]" type="hidden" value="0" />
205
+ </li>
206
+ <li><%= _("Typo can (optionally) use the %s spam-filtering service. You need to register with Akismet and receive an API key before you can use their service. If you have an Akismet key, enter it here", '<a href="http://akismet.com">Akismet</a>')%> .
207
+ </li>
208
+ <li>
209
+ <label class="float" for="sp_akismet_key"><%= _("Akismet Key")%>:</label>
210
+ <input name="setting[sp_akismet_key]" id="sp_akismet_key" type="text" value="<%=h this_blog.sp_akismet_key %>" />
211
+ </li>
212
+ </ul>
213
+ <p class="r"><%= save(_("Save Settings")) %></p>
214
+ </fieldset>
215
+
216
+ <fieldset id="resources" class="set">
217
+ <legend><%= _("Resource Settings")%></legend>
218
+ <ul>
219
+ <li><%= _("The below settings act as defaults when you choose to publish an enclosure with iTunes metadata")%>.</li>
220
+ <li>
221
+ <label for="itunes_author" class="float"><%= _("Author")%>:</label>
222
+ <input name="setting[itunes_author]" size="25" id="itunes_author" type="text" value="<%= this_blog.itunes_author %>" />
223
+ </li>
224
+ <li>
225
+ <label for="itunes_subtitle" class="float"><%= _("Subtitle")%>: <span class="mandatory">*</span></label>
226
+ <input name="setting[itunes_subtitle]" size="25" id="itunes_subtitle" type="text" value="<%= this_blog.itunes_subtitle %>" />
227
+ </li>
228
+ <li>
229
+ <label class="float" for="itunes_summary"><%= _("Summary")%>: <span class="mandatory">*</span></label>
230
+ <textarea name="setting[itunes_summary]" cols="40" rows="3"><%=h this_blog.itunes_summary %></textarea>
231
+ <span class="float mandatory">* <%= _("Setting for channel")%></span>
232
+ </li>
233
+ <li>
234
+ <label class="float" for="itunes_email"><%= _("Email")%>: <span class="mandatory">**</span></label>
235
+ <input name="setting[itunes_email]" size="25" id="itunes_email" type="text" value="<%= this_blog.itunes_email %>" />
236
+ </li>
237
+ <li>
238
+ <label class="float" for="itunes_name"><%= _("Optional Name")%>: <span class="mandatory">**</span></label>
239
+ <input name="setting[itunes_name]" size="25" id="itunes_name" type="text" value="<%= this_blog.itunes_name %>" />
240
+ <span class="float mandatory">** <%= _("Not published by Apple")%></span>
241
+ </li>
242
+ <li>
243
+ <label class="float" for="itunes_copyright"><%= _("Copyright Information")%>:</label>
244
+ <input name="setting[itunes_copyright]" size="25" id="itunes_copyright" type="text" value="<%= this_blog.itunes_copyright %>" />
245
+ </li>
246
+ <li class="checkbox">
247
+ <label class="float" for="itunes_explicit"><%= _("Explicit")%>:</label>
248
+ <input name="setting[itunes_explicit]" id="itunes_explicit" type="checkbox" value="1" <%= 'checked="checked"' if this_blog.itunes_explicit%> />
249
+ <input name="setting[itunes_explicit]" type="hidden" value="0" />
250
+ </li>
251
+ </ul>
252
+ <p class="r"><%= save(_("Save Settings")) %></p>
253
+ </fieldset>
254
+
255
+ <fieldset id="misc" class="set">
256
+ <legend><%= _("Cache")%></legend>
257
+ <ul>
258
+ <li><%= link_to _('Empty Fragment Cache'), :controller => '/admin/cache', :action => 'sweep' %></li>
259
+ <li><%= link_to _('Rebuild cached HTML'), :controller => '/admin/cache', :action => 'sweep_html' %></li>
260
+ <p id="users"><%= _("There are %d entries in the cache", @page_cache_size) %></p>
261
+ </ul>
262
+ </fieldset>
263
+
264
+ <div id="operations" class="tasks">
265
+ <%= save(_("Save Settings")) %>
266
+ </div>
267
+ </div>
268
+ <% end %>