publify_core 9.0.0 → 9.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of publify_core might be problematic. Click here for more details.

Files changed (360) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +92 -37
  3. data/app/assets/javascripts/bootstrap-sprockets.js +8 -0
  4. data/app/assets/javascripts/bootstrap/affix.js +164 -0
  5. data/app/assets/javascripts/bootstrap/alert.js +95 -0
  6. data/app/assets/javascripts/bootstrap/button.js +125 -0
  7. data/app/assets/javascripts/bootstrap/collapse.js +212 -0
  8. data/app/assets/javascripts/bootstrap/dropdown.js +165 -0
  9. data/app/assets/javascripts/bootstrap/modal.js +358 -0
  10. data/app/assets/javascripts/bootstrap/tab.js +155 -0
  11. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  12. data/app/assets/javascripts/lightbox.js +4 -4
  13. data/app/assets/javascripts/publify_admin.js +1 -35
  14. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  15. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  16. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  17. data/app/assets/stylesheets/_bootstrap.scss +42 -0
  18. data/app/assets/stylesheets/administration_structure.css.scss +1 -45
  19. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  20. data/app/assets/stylesheets/bootstrap/_button-groups.scss +242 -0
  21. data/app/assets/stylesheets/bootstrap/_buttons.scss +168 -0
  22. data/app/assets/stylesheets/bootstrap/_close.scss +37 -0
  23. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  24. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  25. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +213 -0
  26. data/app/assets/stylesheets/bootstrap/_forms.scss +586 -0
  27. data/app/assets/stylesheets/bootstrap/_grid.scss +94 -0
  28. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  29. data/app/assets/stylesheets/bootstrap/_media.scss +66 -0
  30. data/app/assets/stylesheets/bootstrap/_mixins.scss +37 -0
  31. data/app/assets/stylesheets/bootstrap/_modals.scss +150 -0
  32. data/app/assets/stylesheets/bootstrap/_navbar.scss +479 -0
  33. data/app/assets/stylesheets/bootstrap/_navs.scss +242 -0
  34. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  35. data/app/assets/stylesheets/bootstrap/_pagination.scss +86 -0
  36. data/app/assets/stylesheets/bootstrap/_panels.scss +222 -0
  37. data/app/assets/stylesheets/bootstrap/_print.scss +99 -0
  38. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +160 -0
  39. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  40. data/app/assets/stylesheets/bootstrap/_theme.scss +224 -0
  41. data/app/assets/stylesheets/bootstrap/_type.scss +296 -0
  42. data/app/assets/stylesheets/bootstrap/_utilities.scss +55 -0
  43. data/app/assets/stylesheets/bootstrap/_variables.scss +638 -0
  44. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  45. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +15 -0
  46. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
  47. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  48. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +56 -0
  49. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  50. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  51. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +82 -0
  52. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +56 -0
  53. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  54. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  55. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  56. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +28 -0
  57. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  58. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  59. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  60. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +7 -0
  61. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
  62. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +20 -0
  63. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  64. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  65. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +17 -0
  66. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  67. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  68. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  69. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
  70. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  71. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  72. data/app/assets/stylesheets/lightbox.css +3 -3
  73. data/app/assets/stylesheets/publify_admin.css.scss +0 -1
  74. data/app/controllers/accounts_controller.rb +2 -0
  75. data/app/controllers/admin/base_controller.rb +8 -16
  76. data/app/controllers/admin/content_controller.rb +38 -36
  77. data/app/controllers/admin/dashboard_controller.rb +16 -65
  78. data/app/controllers/admin/feedback_controller.rb +45 -37
  79. data/app/controllers/admin/notes_controller.rb +16 -10
  80. data/app/controllers/admin/pages_controller.rb +19 -29
  81. data/app/controllers/admin/post_types_controller.rb +7 -5
  82. data/app/controllers/admin/profiles_controller.rb +15 -5
  83. data/app/controllers/admin/redirects_controller.rb +9 -5
  84. data/app/controllers/admin/resources_controller.rb +7 -4
  85. data/app/controllers/admin/seo_controller.rb +12 -10
  86. data/app/controllers/admin/settings_controller.rb +7 -5
  87. data/app/controllers/admin/sidebar_controller.rb +6 -5
  88. data/app/controllers/admin/tags_controller.rb +6 -3
  89. data/app/controllers/admin/themes_controller.rb +10 -7
  90. data/app/controllers/admin/users_controller.rb +10 -7
  91. data/app/controllers/articles_controller.rb +49 -33
  92. data/app/controllers/authors_controller.rb +6 -3
  93. data/app/controllers/base_controller.rb +9 -11
  94. data/app/controllers/comments_controller.rb +13 -13
  95. data/app/controllers/content_controller.rb +4 -2
  96. data/app/controllers/feedback_controller.rb +4 -2
  97. data/app/controllers/notes_controller.rb +5 -3
  98. data/app/controllers/setup_controller.rb +15 -12
  99. data/app/controllers/tags_controller.rb +6 -4
  100. data/app/controllers/text_controller.rb +2 -4
  101. data/app/controllers/textfilter_controller.rb +2 -0
  102. data/app/controllers/theme_controller.rb +18 -13
  103. data/app/controllers/xml_controller.rb +2 -0
  104. data/app/helpers/admin/base_helper.rb +28 -29
  105. data/app/helpers/admin/feedback_helper.rb +34 -24
  106. data/app/helpers/articles_helper.rb +4 -2
  107. data/app/helpers/authors_helper.rb +7 -16
  108. data/app/helpers/base_helper.rb +56 -52
  109. data/app/helpers/blog_helper.rb +4 -2
  110. data/app/helpers/xml_helper.rb +3 -1
  111. data/app/jobs/application_job.rb +2 -0
  112. data/app/mailers/notification_mailer.rb +5 -3
  113. data/app/models/ability.rb +25 -23
  114. data/app/models/archives_sidebar.rb +14 -11
  115. data/app/models/article.rb +42 -42
  116. data/app/models/article/factory.rb +14 -6
  117. data/app/models/blog.rb +86 -75
  118. data/app/models/comment.rb +10 -11
  119. data/app/models/config_manager.rb +4 -2
  120. data/app/models/content.rb +37 -50
  121. data/app/models/content_base.rb +10 -4
  122. data/app/models/feedback.rb +21 -17
  123. data/app/models/meta_sidebar.rb +4 -3
  124. data/app/models/note.rb +26 -25
  125. data/app/models/page.rb +9 -8
  126. data/app/models/page_sidebar.rb +4 -2
  127. data/app/models/ping.rb +3 -1
  128. data/app/models/post_type.rb +3 -3
  129. data/app/models/redirect.rb +13 -7
  130. data/app/models/redirection.rb +3 -1
  131. data/app/models/resource.rb +5 -3
  132. data/app/models/search_sidebar.rb +4 -2
  133. data/app/models/sidebar.rb +11 -6
  134. data/app/models/static_sidebar.rb +14 -13
  135. data/app/models/tag.rb +15 -11
  136. data/app/models/tag_sidebar.rb +6 -3
  137. data/app/models/text_filter.rb +85 -11
  138. data/app/models/trackback.rb +7 -11
  139. data/app/models/trigger.rb +7 -4
  140. data/app/models/user.rb +44 -43
  141. data/app/services/title_builder.rb +52 -45
  142. data/app/uploaders/resource_uploader.rb +5 -3
  143. data/app/views/accounts/confirm.html.erb +3 -3
  144. data/app/views/admin/content/_article_list.html.erb +23 -8
  145. data/app/views/admin/content/_form.html.erb +71 -47
  146. data/app/views/admin/content/autosave.js.erb +2 -2
  147. data/app/views/admin/content/edit.html.erb +1 -1
  148. data/app/views/admin/content/index.html.erb +25 -15
  149. data/app/views/admin/content/new.html.erb +2 -2
  150. data/app/views/admin/dashboard/_comment.html.erb +5 -5
  151. data/app/views/admin/dashboard/_comments.html.erb +2 -2
  152. data/app/views/admin/dashboard/_drafts.html.erb +5 -5
  153. data/app/views/admin/dashboard/_overview.html.erb +7 -9
  154. data/app/views/admin/dashboard/_welcome.html.erb +11 -11
  155. data/app/views/admin/dashboard/index.html.erb +12 -7
  156. data/app/views/admin/feedback/_button.html.erb +6 -6
  157. data/app/views/admin/feedback/_feedback.html.erb +3 -3
  158. data/app/views/admin/feedback/_ham.html.erb +27 -9
  159. data/app/views/admin/feedback/_spam.html.erb +26 -16
  160. data/app/views/admin/feedback/article.html.erb +20 -21
  161. data/app/views/admin/feedback/edit.html.erb +14 -15
  162. data/app/views/admin/feedback/{ham.js → ham.js.erb} +0 -0
  163. data/app/views/admin/feedback/index.html.erb +25 -23
  164. data/app/views/admin/feedback/{spam.js → spam.js.erb} +0 -0
  165. data/app/views/admin/migrations/show.html.erb +10 -11
  166. data/app/views/admin/notes/_form.html.erb +13 -13
  167. data/app/views/admin/notes/_list.html.erb +19 -8
  168. data/app/views/admin/notes/_note.html.erb +12 -7
  169. data/app/views/admin/notes/edit.html.erb +6 -1
  170. data/app/views/admin/notes/index.html.erb +5 -1
  171. data/app/views/admin/notes/show.html.erb +2 -2
  172. data/app/views/admin/pages/_form.html.erb +86 -77
  173. data/app/views/admin/pages/_pages.html.erb +11 -4
  174. data/app/views/admin/pages/edit.html.erb +3 -1
  175. data/app/views/admin/pages/index.html.erb +10 -6
  176. data/app/views/admin/pages/new.html.erb +3 -1
  177. data/app/views/admin/post_types/_index_and_form.html.erb +15 -16
  178. data/app/views/admin/post_types/edit.html.erb +1 -1
  179. data/app/views/admin/post_types/index.html.erb +1 -1
  180. data/app/views/admin/profiles/index.html.erb +2 -3
  181. data/app/views/admin/redirects/_index_and_form.html.erb +10 -11
  182. data/app/views/admin/redirects/edit.html.erb +1 -1
  183. data/app/views/admin/redirects/index.html.erb +1 -1
  184. data/app/views/admin/resources/index.html.erb +19 -16
  185. data/app/views/admin/seo/_general.html.erb +23 -47
  186. data/app/views/admin/seo/_permalinks.html.erb +16 -16
  187. data/app/views/admin/seo/_titles.html.erb +63 -64
  188. data/app/views/admin/seo/show.html.erb +14 -19
  189. data/app/views/admin/settings/display.html.erb +22 -25
  190. data/app/views/admin/settings/feedback.html.erb +31 -32
  191. data/app/views/admin/settings/index.html.erb +23 -24
  192. data/app/views/admin/settings/write.html.erb +21 -22
  193. data/app/views/admin/shared/_edit.html.erb +3 -3
  194. data/app/views/admin/shared/_menu.html.erb +26 -26
  195. data/app/views/admin/shared/_twitter_alert.html.erb +1 -1
  196. data/app/views/admin/sidebar/_config.html.erb +5 -5
  197. data/app/views/admin/sidebar/_target_sidebar.html.erb +4 -4
  198. data/app/views/admin/sidebar/index.html.erb +7 -7
  199. data/app/views/admin/tags/_index_and_form.html.erb +11 -12
  200. data/app/views/admin/tags/edit.html.erb +1 -1
  201. data/app/views/admin/tags/index.html.erb +1 -1
  202. data/app/views/admin/themes/index.html.erb +5 -6
  203. data/app/views/admin/users/_form.html.erb +34 -34
  204. data/app/views/admin/users/edit.html.erb +2 -2
  205. data/app/views/admin/users/index.html.erb +10 -12
  206. data/app/views/admin/users/new.html.erb +2 -2
  207. data/app/views/archives_sidebar/_content.html.erb +2 -2
  208. data/app/views/articles/_archives_article.html.erb +3 -3
  209. data/app/views/articles/_article.html.erb +7 -9
  210. data/app/views/articles/_article_author.html.erb +4 -0
  211. data/app/views/articles/_article_content.html.erb +2 -2
  212. data/app/views/articles/_article_excerpt.html.erb +2 -2
  213. data/app/views/articles/_article_links.html.erb +1 -1
  214. data/app/views/articles/_comment_errors.html.erb +1 -1
  215. data/app/views/articles/_comment_form.html.erb +12 -12
  216. data/app/views/articles/_comment_preview.html.erb +3 -3
  217. data/app/views/articles/_password_form.html.erb +4 -4
  218. data/app/views/articles/_trackback.html.erb +2 -2
  219. data/app/views/articles/archives.html.erb +1 -1
  220. data/app/views/articles/feedback_atom_feed.atom.builder +3 -1
  221. data/app/views/articles/feedback_rss_feed.rss.builder +9 -8
  222. data/app/views/articles/index_atom_feed.atom.builder +5 -3
  223. data/app/views/articles/index_rss_feed.rss.builder +10 -9
  224. data/app/views/articles/live_search.html.erb +3 -3
  225. data/app/views/articles/read.html.erb +16 -8
  226. data/app/views/articles/search.html.erb +2 -2
  227. data/app/views/articles/trackback.xml.builder +3 -1
  228. data/app/views/articles/view_page.html.erb +2 -2
  229. data/app/views/authors/show.html.erb +9 -9
  230. data/app/views/authors/show_atom_feed.atom.builder +4 -2
  231. data/app/views/authors/show_rss_feed.rss.builder +10 -9
  232. data/app/views/comments/_comment.html.erb +3 -3
  233. data/app/views/devise/mailer/reset_password_instructions.html.erb +7 -9
  234. data/app/views/devise/passwords/edit.html.erb +4 -4
  235. data/app/views/devise/passwords/new.html.erb +1 -1
  236. data/app/views/devise/registrations/new.html.erb +5 -5
  237. data/app/views/devise/sessions/new.html.erb +3 -3
  238. data/app/views/errors/404.html.erb +2 -2
  239. data/app/views/feedback/index.atom.builder +3 -1
  240. data/app/views/feedback/index.rss.builder +9 -8
  241. data/app/views/layouts/accounts.html.erb +26 -26
  242. data/app/views/layouts/administration.html.erb +31 -31
  243. data/app/views/layouts/default.html.erb +4 -3
  244. data/app/views/layouts/editor.html.erb +5 -19
  245. data/app/views/meta_sidebar/_content.html.erb +2 -2
  246. data/app/views/notes/_note.html.erb +1 -1
  247. data/app/views/notes/index.html.erb +1 -1
  248. data/app/views/notes/show_in_reply.html.erb +1 -1
  249. data/app/views/notification_mailer/_mail_footer.html.erb +3 -3
  250. data/app/views/notification_mailer/article.html.erb +2 -2
  251. data/app/views/notification_mailer/comment.html.erb +5 -5
  252. data/app/views/notification_mailer/notif_user.html.erb +1 -1
  253. data/app/views/page_sidebar/_content.html.erb +1 -1
  254. data/app/views/search_sidebar/_content.html.erb +2 -2
  255. data/app/views/settings/install.html.erb +2 -2
  256. data/app/views/setup/index.html.erb +7 -7
  257. data/app/views/shared/_atom_header.atom.builder +4 -4
  258. data/app/views/shared/_atom_item_article.atom.builder +19 -29
  259. data/app/views/shared/_atom_item_comment.atom.builder +4 -2
  260. data/app/views/shared/_atom_item_trackback.atom.builder +4 -2
  261. data/app/views/shared/_google_analytics.html.erb +8 -0
  262. data/app/views/shared/_page_header.html.erb +9 -12
  263. data/app/views/shared/_rss_item_article.rss.builder +9 -7
  264. data/app/views/shared/_rss_item_comment.rss.builder +3 -1
  265. data/app/views/shared/_rss_item_trackback.rss.builder +3 -1
  266. data/app/views/sidebar/display_plugins.html.erb +1 -1
  267. data/app/views/tag_sidebar/_content.html.erb +1 -1
  268. data/app/views/tags/index.html.erb +1 -1
  269. data/app/views/xml/_googlesitemap_item_article.googlesitemap.builder +2 -0
  270. data/app/views/xml/_googlesitemap_item_category.googlesitemap.builder +2 -0
  271. data/app/views/xml/_googlesitemap_item_page.googlesitemap.builder +2 -0
  272. data/app/views/xml/_googlesitemap_item_tag.googlesitemap.builder +2 -0
  273. data/app/views/xml/sitemap.googlesitemap.builder +4 -2
  274. data/config/i18n-tasks.yml +0 -5
  275. data/config/initializers/devise.rb +10 -4
  276. data/config/initializers/mime_types.rb +3 -1
  277. data/config/locales/da.yml +134 -73
  278. data/config/locales/de.yml +142 -77
  279. data/config/locales/en.yml +128 -68
  280. data/config/locales/es-MX.yml +135 -71
  281. data/config/locales/fr.yml +167 -88
  282. data/config/locales/he.yml +128 -72
  283. data/config/locales/it.yml +136 -74
  284. data/config/locales/ja.yml +110 -66
  285. data/config/locales/lt.yml +153 -76
  286. data/config/locales/nb-NO.yml +123 -67
  287. data/config/locales/nl.yml +140 -77
  288. data/config/locales/pl.yml +329 -240
  289. data/config/locales/pt-BR.yml +137 -72
  290. data/config/locales/ro.yml +148 -72
  291. data/config/locales/ru.yml +161 -71
  292. data/config/locales/zh-CN.yml +106 -61
  293. data/config/locales/zh-TW.yml +109 -63
  294. data/config/routes.rb +68 -63
  295. data/db/migrate/113_initial_schema.rb +191 -191
  296. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +10 -7
  297. data/db/migrate/115_drops_categories_for_tags.rb +5 -4
  298. data/db/migrate/20150207131657_add_missing_indexes.rb +2 -0
  299. data/db/migrate/20150807134129_simplify_redirect_relations.rb +5 -0
  300. data/db/migrate/20150808052637_add_blog_ids.rb +9 -3
  301. data/db/migrate/20150808191127_add_blog_id_to_redirects.rb +2 -0
  302. data/db/migrate/20150810094754_add_blog_id_to_tags.rb +2 -0
  303. data/db/migrate/20160108111120_add_devise_to_users.rb +4 -2
  304. data/db/migrate/20160108184201_move_last_connection_to_last_sign_in_at.rb +2 -0
  305. data/db/migrate/20160110094906_remove_profiles_rights.rb +2 -0
  306. data/db/migrate/20160605103918_replace_profile_id_with_string.rb +2 -0
  307. data/db/migrate/20160605154632_remove_profiles.rb +10 -5
  308. data/db/migrate/20160701061851_demand_blog_id_on_contents.rb +2 -0
  309. data/db/migrate/20160701062604_add_blog_id_to_resources.rb +2 -0
  310. data/db/migrate/20170528093024_move_resources_to_content.rb +2 -0
  311. data/db/migrate/20170528094923_move_tags_to_content.rb +2 -0
  312. data/db/migrate/20170528201606_remove_separate_published_flag.rb +2 -0
  313. data/db/migrate/20170605071626_remove_extra_state_columns_from_feedback.rb +2 -0
  314. data/db/migrate/20170702105201_remove_published_at_from_feedback.rb +2 -0
  315. data/db/migrate/20190208151235_add_text_filter_name_fields.rb +9 -0
  316. data/db/migrate/20190208152646_move_text_filter_to_name.rb +97 -0
  317. data/db/migrate/20190209155717_remove_text_filter_ids.rb +19 -0
  318. data/db/migrate/20190209160610_remove_text_filters.rb +17 -0
  319. data/db/migrate/20200413140440_add_unique_indexes.rb +10 -0
  320. data/db/seeds.rb +8 -20
  321. data/lib/email_notify.rb +3 -1
  322. data/lib/format.rb +4 -12
  323. data/lib/publify_core.rb +36 -35
  324. data/lib/publify_core/engine.rb +11 -4
  325. data/lib/publify_core/lang.rb +5 -1
  326. data/lib/publify_core/testing_support/dns_mock.rb +15 -0
  327. data/lib/publify_core/testing_support/factories.rb +240 -0
  328. data/lib/publify_core/testing_support/feed_assertions.rb +48 -0
  329. data/lib/publify_core/testing_support/fixtures/exploit.svg +4 -0
  330. data/lib/publify_core/testing_support/fixtures/fakepng.png +1 -0
  331. data/lib/publify_core/testing_support/fixtures/otherfile.txt +1 -0
  332. data/lib/publify_core/testing_support/fixtures/testfile.png +0 -0
  333. data/lib/publify_core/testing_support/fixtures/testfile.txt +1 -0
  334. data/lib/publify_core/testing_support/upload_fixtures.rb +15 -0
  335. data/lib/publify_core/version.rb +3 -1
  336. data/lib/publify_guid.rb +3 -1
  337. data/lib/publify_plugins.rb +10 -5
  338. data/lib/publify_textfilter_markdown.rb +38 -25
  339. data/lib/publify_textfilter_none.rb +5 -3
  340. data/lib/publify_textfilter_smartypants.rb +5 -3
  341. data/lib/publify_textfilter_textile.rb +7 -4
  342. data/lib/publify_textfilter_twitterfilter.rb +13 -7
  343. data/lib/publify_time.rb +4 -0
  344. data/lib/sidebar_field.rb +15 -13
  345. data/lib/sidebar_registry.rb +5 -3
  346. data/lib/spam_protection.rb +19 -17
  347. data/lib/tasks/i18n.rake +9 -0
  348. data/lib/tasks/manifest.rake +30 -0
  349. data/lib/tasks/publify_core_tasks.rake +2 -0
  350. data/lib/text_filter_plugin.rb +30 -29
  351. data/lib/theme.rb +5 -5
  352. data/lib/transforms.rb +21 -20
  353. data/themes/plain/javascripts/theme.js +0 -0
  354. metadata +247 -109
  355. data/app/assets/javascripts/widearea.js +0 -486
  356. data/app/assets/stylesheets/widearea.css +0 -133
  357. data/app/controllers/admin/textfilters_controller.rb +0 -6
  358. data/app/views/admin/dashboard/_inbound.html.erb +0 -31
  359. data/app/views/admin/notes/_header.html.erb +0 -6
  360. data/app/views/articles/_protected_article_content.html.erb +0 -6
@@ -5,7 +5,8 @@ en:
5
5
  back_to_login: Back to login
6
6
  confirm:
7
7
  admin: admin
8
- dont_lose_the_mail_sent: Don't lose the mail sent at %{email} or you won't be able to login anymore
8
+ dont_lose_the_mail_sent: Don't lose the mail sent at %{email} or you won't be
9
+ able to login anymore
9
10
  login: 'Login: %{login}'
10
11
  proceed_to: Proceed to %{link}
11
12
  success: You have successfully signed up.
@@ -29,6 +30,7 @@ en:
29
30
  access_granted:
30
31
  error: Error, you are not allowed to perform this action
31
32
  article_list:
33
+ feedback: Feedback
32
34
  no_articles: There are no articles yet. Why don't you create one?
33
35
  autosave:
34
36
  success: Article was successfully saved
@@ -37,9 +39,10 @@ en:
37
39
  form:
38
40
  allow_comments: Allow comments
39
41
  allow_comments_status:
40
- one: enabled
41
- zero: disabled
42
+ disabled: disabled
43
+ enabled: enabled
42
44
  allowed_comments_html: Comments are %{allow_comment}
45
+ article_filter: Article filter
43
46
  article_type: Article type
44
47
  cancel: Cancel
45
48
  default: Default
@@ -57,20 +60,28 @@ en:
57
60
  save_as_draft: Save as draft
58
61
  status: Status
59
62
  tags: Tags
60
- tags_explanation_html: Separate tags with commas. Use double quotes (") around multi-word tags, e.g. "opera house".
63
+ tags_explanation_html: Separate tags with commas. Use double quotes (")
64
+ around multi-word tags, e.g. "opera house".
61
65
  title: Title
62
66
  type_your_post: Type your post
63
67
  visibility: Visibility
64
68
  index:
69
+ actions: Actions
65
70
  all_articles: All articles
71
+ author: Author
72
+ created_at: Created at
66
73
  drafts: Drafts
74
+ feedback: Feedback
67
75
  manage_articles: Manage articles
68
76
  new_article: New article
69
77
  publication_date: Publication date
70
78
  publication_pending: Publication pending
71
79
  published: Published
80
+ published_at: Publication date
72
81
  search: Search
73
82
  select_an_author: Select an author
83
+ text_filter: Text filter
84
+ title: Title
74
85
  withdrawn: Withdrawn
75
86
  update:
76
87
  success: Article was successfully updated
@@ -83,35 +94,31 @@ en:
83
94
  drafts:
84
95
  no_drafts_yet: No drafts yet, why don't you write one
85
96
  your_drafts: Your drafts
86
- inbound:
87
- at: at
88
- at_an_unknown_date: at an unknown date
89
- inbound_links: Inbound links
90
- made_a_link_to_you_on: made a link to you on
91
- no_one_made_link_to_you_yet: No one made a link to you yet
92
- you_have_no_internet_connection: You have no internet connection
93
97
  index:
98
+ textile_deprecated_html: The Textile text filter has been deprecated and will
99
+ be removed soon. Some of your content still uses this filter. Run the <code>publify:textile_to_markdown</code>
100
+ rake task to convert it to Markdown, or convert your content manually.
94
101
  welcome_back: Welcome back, %{user_name}!
95
102
  overview:
96
103
  change_your_blog_presentation: change your blog presentation
97
- customization_explain_html: You can also do a bit of design, %{theme_link} or %{sidebar_link}.
98
- dashboard_explain_html: This place gives you a quick overview of what happens on your Publify blog and what you can do. Maybe will you want to %{available_actions}
104
+ customization_explain_html: You can also do a bit of design, %{theme_link}
105
+ or %{sidebar_link}.
106
+ dashboard_explain_html: This place gives you a quick overview of what happens
107
+ on your Publify blog and what you can do. Maybe will you want to %{available_actions}
99
108
  enable_plugins: enable plugins
100
109
  help_explain_html: If you need help, %{doc_link}.
101
110
  read_our_documentation: read our documentation
102
- update_your_profile_or_change_your_password: update your profile or change your password
111
+ update_your_profile_or_change_your_password: update your profile or change
112
+ your password
103
113
  write_a_page: write a page
104
114
  write_a_post: write a post
105
- publify_version:
106
- error: You are at least one major version of Publify out of date. You should upgrade immediately. Download and install <a href='http://publify.co/stable.tgz'>the latest Publify version</a>
107
- notice: There's a new version of Publify available. Why don't you upgrade to <a href='http://publify.co/stable.tgz'>the latest Publify version</a>?
108
- warning: There's a new version of Publify available which may contain important bug fixes. Why don't you upgrade to <a href='http://publify.co/stable.tgz'>the latest Publify version</a>?
109
115
  welcome:
110
116
  approved_count:
111
117
  one: 1 approved
112
118
  other: "%{count} approved"
113
119
  zero: no approved
114
- articles_and_comments_count_since: "%{articles_count} articles and %{comments_count} comments were posted since your last login"
120
+ articles_and_comments_count_since: "%{articles_count} articles and %{comments_count}
121
+ comments were posted since your last login"
115
122
  articles_count:
116
123
  one: 1 article
117
124
  other: "%{count} articles"
@@ -194,11 +201,12 @@ en:
194
201
  save: Save
195
202
  url: Url
196
203
  your_comment: Your comment
197
- ham:
198
- by: by
199
- created_on: 'on'
200
204
  index:
205
+ actions: Actions
201
206
  all: All
207
+ author: Author
208
+ content: Content
209
+ created_at: Created at
202
210
  feedback: Feedback
203
211
  ham: Ham
204
212
  no_feedback: There is no feedback yet. Why don't you create some?
@@ -206,12 +214,8 @@ en:
206
214
  presumed_spam: Presumed spam
207
215
  select_all: Select all
208
216
  spam: Spam
217
+ status: Status
209
218
  unapproved_comments: Unapproved comments
210
- spam:
211
- by: by
212
- cancel: Cancel
213
- created_on: 'on'
214
- this_comment_by_was_flagged_as_spam_html: This comment by %{author} was flagged as spam, %{cancel_link}?
215
219
  state:
216
220
  ham: Ham
217
221
  just_marked_as_ham: Just Marked As Ham
@@ -237,6 +241,8 @@ en:
237
241
  update_database_now: Update database now
238
242
  you_are_up_to_date: You are up to date!
239
243
  notes:
244
+ edit:
245
+ notes: Notes
240
246
  form:
241
247
  cancel: Cancel
242
248
  compose_new_note: Compose new note
@@ -250,8 +256,14 @@ en:
250
256
  publish_at: Publish at
251
257
  publish_settings: Publish settings
252
258
  tweet_id_like: Tweet id like 123456
253
- header:
259
+ index:
254
260
  notes: Notes
261
+ list:
262
+ actions: Actions
263
+ author: Author
264
+ created_at: Created at
265
+ text_filter: Text filter
266
+ title: Title
255
267
  show:
256
268
  action_or_other_html: "%{first_action} or %{second_action}"
257
269
  are_you_sure: Are you sure you want to delete this note?
@@ -264,20 +276,21 @@ en:
264
276
  form:
265
277
  article_filter: Article filter
266
278
  cancel: Cancel
267
- offline: offline
268
279
  online: Online
269
280
  permanent_link: Permanent link
270
281
  publish: Publish
271
282
  publish_settings: Publish settings
272
- published: published
273
283
  save: Save
274
284
  status: Status
275
285
  title: Title
276
286
  type_your_post: Type your post
277
287
  index:
288
+ actions: Actions
278
289
  author: Author
290
+ created_at: Created at
279
291
  manage_pages: Manage pages
280
292
  new_page: New Page
293
+ text_filter: Text filter
281
294
  title: Title
282
295
  new:
283
296
  success: New page created
@@ -288,7 +301,9 @@ en:
288
301
  cancel: Cancel
289
302
  default: Default
290
303
  description: Description
291
- explain: The template name is the filename Publify will look for when calling an article of that type. It should be in your theme under views/articles/template name.html.erb
304
+ explain: The template name is the filename Publify will look for when calling
305
+ an article of that type. It should be in your theme under views/articles/template
306
+ name.html.erb
292
307
  name: Name
293
308
  or: or
294
309
  post_types: Post Types
@@ -334,42 +349,47 @@ en:
334
349
  warning: No file selected
335
350
  seo:
336
351
  general:
337
- canonical_url: Canonical Url
338
352
  custom_tracking_code: Custom tracking code
339
353
  do_not_index_tags: Do not index tags
340
354
  dofollow: Dofollow
341
- explain: Here you can add anything you want to appear in your application header, such as analytics service tracking code.
342
- explain_humans_txt: It's an initiative for knowing the people behind a website. It's a TXT file that contains information about the different people who have contributed to building the website. http://humanstxt.org/
343
- explain_moderate_feedback: You may want to moderate feedback when turning this on
344
- explain_rss_description: 'You can use the following tags: %author% (author name), %blog_url% (this blog URL), %blog_name% (this blog title) and %permalink_url% (a link to the article you want to protect)'
345
- explain_tag_index_html: Checking this box will add <code>noindex, follow</code> meta tags in every tags page, removing them from search engines and preventing duplicate content issues
355
+ explain: Here you can add anything you want to appear in your application
356
+ header, such as analytics service tracking code.
357
+ explain_moderate_feedback: You may want to moderate feedback when turning
358
+ this on
359
+ explain_rss_description: 'You can use the following tags: %author% (author
360
+ name), %blog_url% (this blog URL), %blog_name% (this blog title) and %permalink_url%
361
+ (a link to the article you want to protect)'
362
+ explain_tag_index_html: Checking this box will add <code>noindex, follow</code>
363
+ meta tags in every tags page, removing them from search engines and preventing
364
+ duplicate content issues
346
365
  general_settings: General settings
347
366
  google: Google
348
367
  google_analytics: Google Analytics
349
- google_webmaster_tools_validation_link: Google Webmaster Tools validation link
350
- human: Human
351
- humans_txt: Human
368
+ google_webmaster_tools_validation_link: Google Webmaster Tools validation
369
+ link
352
370
  indexing: Indexing
353
371
  meta_description: Meta description
354
372
  meta_keywords: Meta keywords
355
- read_more_about_html: Read more about %{link}
356
373
  robots_txt: Robots.txt
357
374
  rss_description_message: RSS description message
358
- this_will_display: This will display at the bottom of each post in the RSS feed
359
- use_canonical_url: Use canonical URL
375
+ this_will_display: This will display at the bottom of each post in the RSS
376
+ feed
360
377
  use_dofollow_in_comments: Use dofollow in comments
361
378
  use_meta_keywords: Use meta keywords
362
379
  use_rss_description: Use RSS description
363
380
  permalinks:
364
381
  custom: Custom
365
382
  date_and_title: Date and title
366
- explain: Publify offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links.
383
+ explain: Publify offers you the ability to create a custom URL structure for
384
+ your permalinks and archives. This can improve the aesthetics, usability,
385
+ and forward-compatibility of your links.
367
386
  help_on_permalink_settings: Help on permalink settings
368
387
  month_and_title: Month and title
369
388
  permalink_format: Permalink format
370
389
  sample: Here are some examples to get you started.
371
390
  title_only: Title only
372
- you_can_custom_your_url_structure: 'You can customize your URL structure using the following tags:'
391
+ you_can_custom_your_url_structure: 'You can customize your URL structure using
392
+ the following tags:'
373
393
  your_article_day: your article day of publication.
374
394
  your_article_month: your article month of publication.
375
395
  your_article_slug_html: your article slug. <strong>Using this slug is mandatory</strong>.
@@ -392,30 +412,35 @@ en:
392
412
  paginated_archives: Paginated archives
393
413
  replaced_by_the_archive_date: Replaced by the archive date
394
414
  replaced_by_the_content_body: Replaced by the content body
395
- replaced_with_the_article_categories: Replaced with the article categories (comma separated)
415
+ replaced_with_the_article_categories: Replaced with the article categories
416
+ (comma separated)
396
417
  replaced_with_the_article_page_title: Replaced with the article/page title
397
418
  replaced_with_the_article_tags: Replaced with the article tags (comma separated)
398
419
  replaced_with_the_category_tag_name: Replaced with the category/tag name
399
420
  replaced_with_the_current_date: Replaced with the current date
400
421
  replaced_with_the_current_month: Replaced with the current month
401
422
  replaced_with_the_current_page_number: Replaced with the current page number
402
- replaced_with_the_current_search_phrase: Replaced with the current search phrase
423
+ replaced_with_the_current_search_phrase: Replaced with the current search
424
+ phrase
403
425
  replaced_with_the_current_time: Replaced with the current time
404
426
  replaced_with_the_current_year: Replaced with the current year
405
427
  replaced_with_the_post_page_excerpt: Replaced with the post/page excerpt
406
- replaced_with_the_title_of_the_article_page: Replaced with the title of the article/page
428
+ replaced_with_the_title_of_the_article_page: Replaced with the title of the
429
+ article/page
407
430
  search_results: Search results
408
431
  short_statuses: Short statuses
409
432
  short_statuses_lists: Short statuses lists
410
433
  the_blog_s_name: The blog's name
411
434
  the_blog_s_tagline_description: The blog's tagline / description
412
- these_tags_can_be_included: These tags can be included in your templates and will be replaced when displaying the page.
435
+ these_tags_can_be_included: These tags can be included in your templates and
436
+ will be replaced when displaying the page.
413
437
  title_template: Title template
414
438
  settings:
415
439
  display:
416
440
  cancel: Cancel
417
441
  custom_url: Custom URL shortener domain
418
- custom_url_help: If you have a custom domain for URL shortening, enter it here.
442
+ custom_url_help: If you have a custom domain for URL shortening, enter it
443
+ here.
419
444
  date_format: Date format
420
445
  default_archives_show: articles on the archives page
421
446
  default_article_show: articles on the homepage
@@ -444,16 +469,24 @@ en:
444
469
  enable_feedback_moderation: Enable feedback moderation
445
470
  enable_recaptcha: Enable reCaptcha
446
471
  enable_spam_protection: Enable spam protection
447
- explain_feedback_moderation: You can enable site-wide feedback moderation. If you do so, no comment will appear on your blog unless you validate it.
448
- explain_reject_comments: Publify will automatically reject comments which contain over a certain amount of links in them
449
- explain_spam_protection: Enabling spam protection will make Publify compare the IP address of posters as well as the contents of their posts against local and remote blacklists. Good defense against spam bots
450
- explain_spamfiltering_html: Publify can (optionally) use the <a href='http://akismet.com'>Akismet</a> 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
472
+ explain_feedback_moderation: You can enable site-wide feedback moderation.
473
+ If you do so, no comment will appear on your blog unless you validate it.
474
+ explain_reject_comments: Publify will automatically reject comments which
475
+ contain over a certain amount of links in them
476
+ explain_spam_protection: Enabling spam protection will make Publify compare
477
+ the IP address of posters as well as the contents of their posts against
478
+ local and remote blacklists. Good defense against spam bots
479
+ explain_spamfiltering_html: Publify can (optionally) use the <a href='http://akismet.com'>Akismet</a>
480
+ spam-filtering service. You need to register with Akismet and receive an
481
+ API key before you can use their service. If you have an Akismet key, enter
482
+ it here
451
483
  feedback: Feedback
452
484
  feedback_settings: Feedback settings
453
485
  max_links: Max Links
454
486
  none: none
455
487
  or: or
456
- remember_to_set_your_recaptcha: Remember to set your reCaptcha keys inside config/initializers/recaptcha.rb
488
+ remember_to_set_your_recaptcha: Remember to set your reCaptcha keys inside
489
+ config/initializers/recaptcha.rb
457
490
  set_to_0_to_never_disable_comments: Set to 0 to never disable comments
458
491
  set_to_0_to_never_reject_comments: Set to 0 to never reject comments
459
492
  spam: Spam
@@ -466,7 +499,10 @@ en:
466
499
  blog_url: Blog URL
467
500
  cancel: Cancel
468
501
  email_address_used_to_notify: Email address used by Publify to send notifications
469
- explain_allow_users_to_register_html: This will allow users to register themselves as contributors, an unprivileged account level which grants them no rights beyond owning a profile on the site. If you don't want users to register, you can add them via <em>Manage users</em> under <em>Settings</em>.
502
+ explain_allow_users_to_register_html: This will allow users to register themselves
503
+ as contributors, an unprivileged account level which grants them no rights
504
+ beyond owning a profile on the site. If you don't want users to register,
505
+ you can add them via <em>Manage users</em> under <em>Settings</em>.
470
506
  general_settings: General settings
471
507
  items_to_display_in_admin_lists: Items to display in admin lists
472
508
  language: Language
@@ -511,6 +547,7 @@ en:
511
547
  feedback: Feedback
512
548
  general_settings: General settings
513
549
  global_seo_settings: Global SEO settings
550
+ home: Home
514
551
  in_page_plugins: In page plugins
515
552
  logged_in_as: Logged in as %{login}
516
553
  logout_html: Log out &raquo;
@@ -535,7 +572,8 @@ en:
535
572
  write: Write
536
573
  twitter_alert:
537
574
  fill_the_twitter_credentials: fill in the OAuth credentials
538
- how_to_setup_twitter_html: If you want to push short statuses on Twitter, you need to %{twitter_settings_link} Twitter gave you after you %{twitter_registration_link}.
575
+ how_to_setup_twitter_html: If you want to push short statuses on Twitter,
576
+ you need to %{twitter_settings_link} Twitter gave you after you %{twitter_registration_link}.
539
577
  registered_your_application: registered your application
540
578
  sidebar:
541
579
  config:
@@ -544,8 +582,14 @@ en:
544
582
  you_have_no_plugins_installed: You have no plugins installed
545
583
  index:
546
584
  cancel: Cancel
547
- download_more_plugins_html: You can download and install sidebar plugins from our official <a href='https://github.com/fdv/publify/wiki/Sidebar-plugins'>plugin repository</a>. All you have to do is upload the theme directory in your vendor/plugins directory.
548
- explain_how_its_works: Drag and drop to change the sidebar items displayed on this blog. To remove items from the sidebar just click 'remove'. Changes are saved immediately, but not activated until you click the 'Publish changes' button
585
+ download_more_plugins_html: You can download and install sidebar plugins from
586
+ our official <a href='https://github.com/fdv/publify/wiki/Sidebar-plugins'>plugin
587
+ repository</a>. All you have to do is upload the theme directory in your
588
+ vendor/plugins directory.
589
+ explain_how_its_works: Drag and drop to change the sidebar items displayed
590
+ on this blog. To remove items from the sidebar just click 'remove'. Changes
591
+ are saved immediately, but not activated until you click the 'Publish changes'
592
+ button
549
593
  or: or
550
594
  publish_changes: Publish changes
551
595
  sidebar: Sidebar
@@ -562,6 +606,7 @@ en:
562
606
  no_tags: There are no tags yet. Why don't you create one?
563
607
  or: or
564
608
  save: Save
609
+ view: View
565
610
  themes:
566
611
  index:
567
612
  active_theme: "%{name} - Active theme"
@@ -629,7 +674,7 @@ en:
629
674
  no_articles_found: No articles found
630
675
  archives_article:
631
676
  posted_in: posted in
632
- article:
677
+ article_author:
633
678
  posted_by: Posted by
634
679
  article_excerpt:
635
680
  continue_reading: Continue reading
@@ -649,7 +694,7 @@ en:
649
694
  comment_markup_help: Comment Markup Help
650
695
  leave_url_email: leave url/email
651
696
  preview_comment: Preview comment
652
- your_blog: your blog
697
+ your_blog: Your blog
653
698
  your_email: Your email
654
699
  your_message: Your message
655
700
  your_name: Your name
@@ -674,14 +719,17 @@ en:
674
719
  contact_information: Contact information
675
720
  jabber: 'Jabber:'
676
721
  msn: 'MSN:'
677
- this_author_has_not_published_any_article_yet: This author has not published any articles yet
722
+ this_author_has_not_published_any_article_yet: This author has not published
723
+ any articles yet
678
724
  twitter: 'Twitter:'
679
725
  web_site: 'Web site:'
680
726
  yahoo: 'Yahoo:'
681
727
  comments:
682
728
  comment:
683
729
  said: said
684
- this_comment_has_been_flagged_for_moderator_approval: This comment has been flagged for moderator approval. It won't appear on this blog until the author approves it
730
+ this_comment_has_been_flagged_for_moderator_approval: This comment has been
731
+ flagged for moderator approval. It won't appear on this blog until the author
732
+ approves it
685
733
  date:
686
734
  abbr_month_names:
687
735
  -
@@ -715,17 +763,26 @@ en:
715
763
  characters_minimum: Minimum %{min} characters
716
764
  errors:
717
765
  article_type_already_exist: This article type already exists
718
- cant_end_with_rss_or_atom: Can't end in .rss or .atom. These are reserved for feed URLs
766
+ cant_end_with_rss_or_atom: Can't end in .rss or .atom. These are reserved for
767
+ feed URLs
719
768
  no_notes_found: No notes found...
720
769
  no_posts_found: No posts found...
721
770
  page_not_found: Page not found
722
771
  permalink_need_a_title: 'You need a permalink format with an identifier : %%title%%'
723
772
  problem_sending_to_twitter: Oooops something went wrong!
724
- render_sidebar: It seems something went wrong. Maybe some of your sidebars are actually missing and you should either reinstall them or remove them manually
725
- the_page_you_are_looking_for: The page you are looking for has moved or does not exist.
773
+ render_sidebar: It seems something went wrong. Maybe some of your sidebars are
774
+ actually missing and you should either reinstall them or remove them manually
775
+ the_page_you_are_looking_for: The page you are looking for has moved or does not
776
+ exist.
726
777
  generic:
727
778
  change: Change
779
+ conversation: Conversation
780
+ delete: Delete
781
+ edit: Edit
782
+ mark_as_ham: Mark as ham
783
+ mark_as_spam: Mark as spam
728
784
  save: Save
785
+ short_url: Short url
729
786
  helper:
730
787
  at: at
731
788
  langs:
@@ -763,7 +820,8 @@ en:
763
820
  publisher: Blog publisher
764
821
  setup:
765
822
  article:
766
- body: Welcome to Publify. This is your first article. Edit or delete it, then start blogging!'
823
+ body: Welcome to Publify. This is your first article. Edit or delete it, then
824
+ start blogging!
767
825
  title: Hello World!
768
826
  index:
769
827
  blog_name: Blog name
@@ -772,7 +830,9 @@ en:
772
830
  your_mail: Your email
773
831
  page:
774
832
  about: About
775
- body: This is an example of a Publify page. You can edit this to write information about yourself or your site so readers know who you are. You can create as many pages as you like and manage all of your content inside Publify.
833
+ body: This is an example of a Publify page. You can edit this to write information
834
+ about yourself or your site so readers know who you are. You can create as
835
+ many pages as you like and manage all of your content inside Publify.
776
836
  tags:
777
837
  index:
778
838
  there_are_no_tags: There are no tags