typo 4.0.3 → 4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 %>