publify_core 9.0.0.pre5 → 9.2.0

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 (395) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +102 -6
  3. data/README.md +9 -0
  4. data/app/assets/javascripts/bootstrap-sprockets.js +8 -0
  5. data/app/assets/javascripts/bootstrap/affix.js +164 -0
  6. data/app/assets/javascripts/bootstrap/alert.js +95 -0
  7. data/app/assets/javascripts/bootstrap/button.js +125 -0
  8. data/app/assets/javascripts/bootstrap/collapse.js +212 -0
  9. data/app/assets/javascripts/bootstrap/dropdown.js +165 -0
  10. data/app/assets/javascripts/bootstrap/modal.js +358 -0
  11. data/app/assets/javascripts/bootstrap/tab.js +155 -0
  12. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  13. data/app/assets/javascripts/lightbox.js +4 -4
  14. data/app/assets/javascripts/publify_admin.js +1 -35
  15. data/app/assets/stylesheets/_bootstrap-compass.scss +9 -0
  16. data/app/assets/stylesheets/_bootstrap-mincer.scss +19 -0
  17. data/app/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
  18. data/app/assets/stylesheets/_bootstrap.scss +42 -0
  19. data/app/assets/stylesheets/administration_structure.css.scss +1 -45
  20. data/app/assets/stylesheets/bootstrap/_alerts.scss +73 -0
  21. data/app/assets/stylesheets/bootstrap/_button-groups.scss +242 -0
  22. data/app/assets/stylesheets/bootstrap/_buttons.scss +168 -0
  23. data/app/assets/stylesheets/bootstrap/_close.scss +37 -0
  24. data/app/assets/stylesheets/bootstrap/_code.scss +69 -0
  25. data/app/assets/stylesheets/bootstrap/_component-animations.scss +38 -0
  26. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +213 -0
  27. data/app/assets/stylesheets/bootstrap/_forms.scss +586 -0
  28. data/app/assets/stylesheets/bootstrap/_grid.scss +94 -0
  29. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  30. data/app/assets/stylesheets/bootstrap/_media.scss +66 -0
  31. data/app/assets/stylesheets/bootstrap/_mixins.scss +37 -0
  32. data/app/assets/stylesheets/bootstrap/_modals.scss +150 -0
  33. data/app/assets/stylesheets/bootstrap/_navbar.scss +479 -0
  34. data/app/assets/stylesheets/bootstrap/_navs.scss +242 -0
  35. data/app/assets/stylesheets/bootstrap/_normalize.scss +427 -0
  36. data/app/assets/stylesheets/bootstrap/_pagination.scss +86 -0
  37. data/app/assets/stylesheets/bootstrap/_panels.scss +222 -0
  38. data/app/assets/stylesheets/bootstrap/_print.scss +99 -0
  39. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +160 -0
  40. data/app/assets/stylesheets/bootstrap/_tables.scss +234 -0
  41. data/app/assets/stylesheets/bootstrap/_theme.scss +224 -0
  42. data/app/assets/stylesheets/bootstrap/_type.scss +296 -0
  43. data/app/assets/stylesheets/bootstrap/_utilities.scss +55 -0
  44. data/app/assets/stylesheets/bootstrap/_variables.scss +638 -0
  45. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  46. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +15 -0
  47. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
  48. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  49. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +56 -0
  50. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  51. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  52. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +82 -0
  53. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +56 -0
  54. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  55. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  56. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  57. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +28 -0
  58. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  59. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  60. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  61. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +7 -0
  62. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
  63. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +20 -0
  64. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  65. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  66. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +17 -0
  67. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  68. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  69. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  70. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
  71. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  72. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  73. data/app/assets/stylesheets/lightbox.css +3 -3
  74. data/app/assets/stylesheets/publify_admin.css.scss +0 -1
  75. data/app/controllers/accounts_controller.rb +2 -0
  76. data/app/controllers/admin/base_controller.rb +8 -22
  77. data/app/controllers/admin/content_controller.rb +69 -48
  78. data/app/controllers/admin/dashboard_controller.rb +20 -74
  79. data/app/controllers/admin/feedback_controller.rb +45 -36
  80. data/app/controllers/admin/notes_controller.rb +16 -10
  81. data/app/controllers/admin/pages_controller.rb +20 -34
  82. data/app/controllers/admin/post_types_controller.rb +7 -5
  83. data/app/controllers/admin/profiles_controller.rb +15 -5
  84. data/app/controllers/admin/redirects_controller.rb +9 -5
  85. data/app/controllers/admin/resources_controller.rb +7 -4
  86. data/app/controllers/admin/seo_controller.rb +12 -10
  87. data/app/controllers/admin/settings_controller.rb +7 -5
  88. data/app/controllers/admin/sidebar_controller.rb +7 -5
  89. data/app/controllers/admin/tags_controller.rb +7 -3
  90. data/app/controllers/admin/themes_controller.rb +10 -7
  91. data/app/controllers/admin/users_controller.rb +10 -7
  92. data/app/controllers/articles_controller.rb +92 -81
  93. data/app/controllers/authors_controller.rb +6 -3
  94. data/app/controllers/base_controller.rb +9 -11
  95. data/app/controllers/comments_controller.rb +15 -16
  96. data/app/controllers/content_controller.rb +12 -19
  97. data/app/controllers/feedback_controller.rb +7 -39
  98. data/app/controllers/notes_controller.rb +6 -6
  99. data/app/controllers/setup_controller.rb +25 -26
  100. data/app/controllers/tags_controller.rb +16 -16
  101. data/app/controllers/text_controller.rb +2 -4
  102. data/app/controllers/textfilter_controller.rb +2 -0
  103. data/app/controllers/theme_controller.rb +22 -17
  104. data/app/controllers/xml_controller.rb +13 -59
  105. data/app/helpers/admin/base_helper.rb +28 -29
  106. data/app/helpers/admin/feedback_helper.rb +34 -24
  107. data/app/helpers/articles_helper.rb +4 -2
  108. data/app/helpers/authors_helper.rb +9 -18
  109. data/app/helpers/base_helper.rb +66 -55
  110. data/app/helpers/blog_helper.rb +4 -2
  111. data/app/helpers/xml_helper.rb +5 -3
  112. data/app/jobs/application_job.rb +4 -0
  113. data/app/mailers/notification_mailer.rb +5 -3
  114. data/app/models/ability.rb +25 -24
  115. data/app/models/archives_sidebar.rb +18 -18
  116. data/app/models/article.rb +84 -99
  117. data/app/models/article/factory.rb +14 -6
  118. data/app/models/blog.rb +98 -110
  119. data/app/models/comment.rb +14 -10
  120. data/app/models/config_manager.rb +4 -2
  121. data/app/models/content.rb +45 -65
  122. data/app/models/content_base.rb +7 -14
  123. data/app/models/feedback.rb +91 -66
  124. data/app/models/meta_sidebar.rb +5 -3
  125. data/app/models/note.rb +31 -23
  126. data/app/models/page.rb +16 -10
  127. data/app/models/page_sidebar.rb +4 -2
  128. data/app/models/ping.rb +2 -113
  129. data/app/models/post_type.rb +4 -3
  130. data/app/models/redirect.rb +13 -7
  131. data/app/models/redirection.rb +3 -1
  132. data/app/models/resource.rb +6 -22
  133. data/app/models/search_sidebar.rb +4 -2
  134. data/app/models/sidebar.rb +12 -7
  135. data/app/models/static_sidebar.rb +15 -13
  136. data/app/models/tag.rb +23 -15
  137. data/app/models/tag_sidebar.rb +10 -7
  138. data/app/models/text_filter.rb +85 -11
  139. data/app/models/trackback.rb +7 -18
  140. data/app/models/trigger.rb +8 -19
  141. data/app/models/user.rb +46 -52
  142. data/app/services/title_builder.rb +52 -45
  143. data/app/uploaders/resource_uploader.rb +35 -2
  144. data/app/views/accounts/confirm.html.erb +3 -4
  145. data/app/views/admin/content/_article_list.html.erb +24 -9
  146. data/app/views/admin/content/_form.html.erb +71 -51
  147. data/app/views/admin/content/autosave.js.erb +2 -2
  148. data/app/views/admin/content/edit.html.erb +1 -1
  149. data/app/views/admin/content/index.html.erb +25 -15
  150. data/app/views/admin/content/new.html.erb +2 -2
  151. data/app/views/admin/dashboard/_comment.html.erb +5 -5
  152. data/app/views/admin/dashboard/_comments.html.erb +2 -2
  153. data/app/views/admin/dashboard/_drafts.html.erb +5 -5
  154. data/app/views/admin/dashboard/_overview.html.erb +7 -9
  155. data/app/views/admin/dashboard/_welcome.html.erb +11 -11
  156. data/app/views/admin/dashboard/index.html.erb +12 -7
  157. data/app/views/admin/feedback/_button.html.erb +6 -6
  158. data/app/views/admin/feedback/_feedback.html.erb +3 -3
  159. data/app/views/admin/feedback/_ham.html.erb +27 -9
  160. data/app/views/admin/feedback/_spam.html.erb +26 -16
  161. data/app/views/admin/feedback/article.html.erb +20 -21
  162. data/app/views/admin/feedback/edit.html.erb +14 -15
  163. data/app/views/admin/feedback/{ham.js → ham.js.erb} +0 -0
  164. data/app/views/admin/feedback/index.html.erb +25 -23
  165. data/app/views/admin/feedback/{spam.js → spam.js.erb} +0 -0
  166. data/app/views/admin/migrations/show.html.erb +10 -11
  167. data/app/views/admin/notes/_form.html.erb +13 -13
  168. data/app/views/admin/notes/_list.html.erb +19 -8
  169. data/app/views/admin/notes/_note.html.erb +12 -7
  170. data/app/views/admin/notes/edit.html.erb +6 -1
  171. data/app/views/admin/notes/index.html.erb +5 -1
  172. data/app/views/admin/notes/show.html.erb +2 -2
  173. data/app/views/admin/pages/_form.html.erb +86 -77
  174. data/app/views/admin/pages/_pages.html.erb +11 -4
  175. data/app/views/admin/pages/edit.html.erb +3 -1
  176. data/app/views/admin/pages/index.html.erb +10 -6
  177. data/app/views/admin/pages/new.html.erb +3 -1
  178. data/app/views/admin/post_types/_index_and_form.html.erb +15 -16
  179. data/app/views/admin/post_types/edit.html.erb +1 -1
  180. data/app/views/admin/post_types/index.html.erb +1 -1
  181. data/app/views/admin/profiles/index.html.erb +2 -3
  182. data/app/views/admin/redirects/_index_and_form.html.erb +10 -11
  183. data/app/views/admin/redirects/edit.html.erb +1 -1
  184. data/app/views/admin/redirects/index.html.erb +1 -1
  185. data/app/views/admin/resources/index.html.erb +19 -16
  186. data/app/views/admin/seo/_general.html.erb +40 -59
  187. data/app/views/admin/seo/_permalinks.html.erb +17 -17
  188. data/app/views/admin/seo/_titles.html.erb +81 -82
  189. data/app/views/admin/seo/show.html.erb +14 -19
  190. data/app/views/admin/settings/display.html.erb +42 -52
  191. data/app/views/admin/settings/feedback.html.erb +59 -67
  192. data/app/views/admin/settings/index.html.erb +30 -31
  193. data/app/views/admin/settings/write.html.erb +27 -46
  194. data/app/views/admin/shared/_edit.html.erb +3 -3
  195. data/app/views/admin/shared/_menu.html.erb +26 -26
  196. data/app/views/admin/shared/_twitter_alert.html.erb +1 -1
  197. data/app/views/admin/sidebar/_config.html.erb +5 -5
  198. data/app/views/admin/sidebar/_target_sidebar.html.erb +4 -4
  199. data/app/views/admin/sidebar/index.html.erb +7 -7
  200. data/app/views/admin/tags/_index_and_form.html.erb +11 -12
  201. data/app/views/admin/tags/edit.html.erb +1 -1
  202. data/app/views/admin/tags/index.html.erb +1 -1
  203. data/app/views/admin/themes/index.html.erb +5 -6
  204. data/app/views/admin/users/_form.html.erb +34 -34
  205. data/app/views/admin/users/edit.html.erb +2 -2
  206. data/app/views/admin/users/index.html.erb +10 -12
  207. data/app/views/admin/users/new.html.erb +2 -2
  208. data/app/views/archives_sidebar/_content.html.erb +2 -2
  209. data/app/views/articles/_archives_article.html.erb +9 -0
  210. data/app/views/articles/_article.html.erb +9 -9
  211. data/app/views/articles/_article_author.html.erb +4 -0
  212. data/app/views/articles/_article_collection.html.erb +1 -1
  213. data/app/views/articles/_article_content.html.erb +2 -2
  214. data/app/views/articles/_article_excerpt.html.erb +11 -9
  215. data/app/views/articles/_article_links.html.erb +5 -3
  216. data/app/views/articles/_comment_errors.html.erb +1 -1
  217. data/app/views/articles/_comment_form.html.erb +12 -12
  218. data/app/views/articles/_comment_list.html.erb +5 -5
  219. data/app/views/articles/_comment_preview.html.erb +3 -3
  220. data/app/views/articles/_full_article_content.html.erb +4 -2
  221. data/app/views/articles/_password_form.html.erb +4 -4
  222. data/app/views/articles/_trackback.html.erb +2 -2
  223. data/app/views/articles/archives.html.erb +11 -21
  224. data/app/views/articles/feedback_atom_feed.atom.builder +7 -5
  225. data/app/views/articles/feedback_rss_feed.rss.builder +11 -11
  226. data/app/views/articles/index_atom_feed.atom.builder +5 -4
  227. data/app/views/articles/index_rss_feed.rss.builder +8 -8
  228. data/app/views/articles/live_search.html.erb +3 -3
  229. data/app/views/articles/read.html.erb +19 -37
  230. data/app/views/articles/search.html.erb +3 -3
  231. data/app/views/articles/trackback.xml.builder +3 -1
  232. data/app/views/articles/view_page.html.erb +2 -2
  233. data/app/views/authors/show.html.erb +18 -28
  234. data/app/views/authors/show_atom_feed.atom.builder +5 -4
  235. data/app/views/authors/show_rss_feed.rss.builder +8 -8
  236. data/app/views/comments/_comment.html.erb +17 -16
  237. data/app/views/devise/mailer/reset_password_instructions.html.erb +7 -9
  238. data/app/views/devise/passwords/edit.html.erb +4 -4
  239. data/app/views/devise/passwords/new.html.erb +1 -1
  240. data/app/views/devise/registrations/new.html.erb +5 -5
  241. data/app/views/devise/sessions/new.html.erb +3 -3
  242. data/app/views/errors/404.html.erb +2 -2
  243. data/app/views/feedback/index.atom.builder +9 -0
  244. data/app/views/feedback/index.rss.builder +20 -0
  245. data/app/views/layouts/accounts.html.erb +26 -26
  246. data/app/views/layouts/administration.html.erb +31 -31
  247. data/app/views/layouts/default.html.erb +4 -3
  248. data/app/views/layouts/editor.html.erb +5 -19
  249. data/app/views/meta_sidebar/_content.html.erb +2 -2
  250. data/app/views/notes/_note.html.erb +16 -15
  251. data/app/views/notes/index.html.erb +2 -2
  252. data/app/views/notes/show_in_reply.html.erb +1 -1
  253. data/app/views/notification_mailer/_mail_footer.html.erb +3 -5
  254. data/app/views/notification_mailer/_mail_header.html.erb +2 -0
  255. data/app/views/notification_mailer/article.html.erb +5 -4
  256. data/app/views/notification_mailer/comment.html.erb +9 -8
  257. data/app/views/notification_mailer/notif_user.html.erb +4 -9
  258. data/app/views/page_sidebar/_content.html.erb +1 -1
  259. data/app/views/search_sidebar/_content.html.erb +2 -2
  260. data/app/views/settings/install.html.erb +2 -2
  261. data/app/views/setup/index.html.erb +9 -5
  262. data/app/views/shared/_atom_header.atom.builder +4 -4
  263. data/app/views/shared/_atom_item_article.atom.builder +19 -22
  264. data/app/views/shared/_atom_item_comment.atom.builder +5 -5
  265. data/app/views/shared/_atom_item_trackback.atom.builder +5 -4
  266. data/app/views/shared/_google_analytics.html.erb +8 -0
  267. data/app/views/shared/_page_header.html.erb +10 -13
  268. data/app/views/shared/_rss_item_article.rss.builder +12 -15
  269. data/app/views/shared/_rss_item_comment.rss.builder +2 -1
  270. data/app/views/shared/_rss_item_trackback.rss.builder +2 -0
  271. data/app/views/sidebar/display_plugins.html.erb +1 -1
  272. data/app/views/tag_sidebar/_content.html.erb +1 -1
  273. data/app/views/tags/index.html.erb +2 -2
  274. data/app/views/xml/_googlesitemap_item_article.googlesitemap.builder +2 -0
  275. data/app/views/xml/_googlesitemap_item_category.googlesitemap.builder +2 -0
  276. data/app/views/xml/_googlesitemap_item_page.googlesitemap.builder +2 -0
  277. data/app/views/xml/_googlesitemap_item_tag.googlesitemap.builder +2 -0
  278. data/app/views/xml/sitemap.googlesitemap.builder +9 -0
  279. data/config/i18n-tasks.yml +0 -5
  280. data/config/initializers/devise.rb +10 -4
  281. data/config/initializers/mime_types.rb +3 -2
  282. data/config/locales/da.yml +140 -108
  283. data/config/locales/de.yml +147 -111
  284. data/config/locales/en.yml +133 -102
  285. data/config/locales/es-MX.yml +141 -106
  286. data/config/locales/fr.yml +172 -122
  287. data/config/locales/he.yml +132 -105
  288. data/config/locales/it.yml +141 -108
  289. data/config/locales/ja.yml +115 -100
  290. data/config/locales/lt.yml +158 -110
  291. data/config/locales/nb-NO.yml +128 -101
  292. data/config/locales/nl.yml +147 -113
  293. data/config/locales/pl.yml +335 -275
  294. data/config/locales/pt-BR.yml +143 -107
  295. data/config/locales/ro.yml +155 -108
  296. data/config/locales/ru.yml +166 -105
  297. data/config/locales/zh-CN.yml +112 -96
  298. data/config/locales/zh-TW.yml +116 -99
  299. data/config/routes.rb +70 -87
  300. data/db/migrate/113_initial_schema.rb +6 -6
  301. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +8 -6
  302. data/db/migrate/115_drops_categories_for_tags.rb +7 -6
  303. data/db/migrate/20150207131657_add_missing_indexes.rb +3 -1
  304. data/db/migrate/20150807134129_simplify_redirect_relations.rb +6 -1
  305. data/db/migrate/20150808052637_add_blog_ids.rb +11 -7
  306. data/db/migrate/20150808191127_add_blog_id_to_redirects.rb +3 -1
  307. data/db/migrate/20150810094754_add_blog_id_to_tags.rb +3 -1
  308. data/db/migrate/20160108111120_add_devise_to_users.rb +3 -1
  309. data/db/migrate/20160108184201_move_last_connection_to_last_sign_in_at.rb +3 -1
  310. data/db/migrate/20160110094906_remove_profiles_rights.rb +3 -1
  311. data/db/migrate/20160605103918_replace_profile_id_with_string.rb +3 -3
  312. data/db/migrate/20160605154632_remove_profiles.rb +12 -7
  313. data/db/migrate/20160701061851_demand_blog_id_on_contents.rb +3 -1
  314. data/db/migrate/20160701062604_add_blog_id_to_resources.rb +3 -1
  315. data/db/migrate/20170528093024_move_resources_to_content.rb +7 -0
  316. data/db/migrate/20170528094923_move_tags_to_content.rb +8 -0
  317. data/db/migrate/20170528201606_remove_separate_published_flag.rb +7 -0
  318. data/db/migrate/20170605071626_remove_extra_state_columns_from_feedback.rb +8 -0
  319. data/db/migrate/20170702105201_remove_published_at_from_feedback.rb +7 -0
  320. data/db/migrate/20190208151235_add_text_filter_name_fields.rb +9 -0
  321. data/db/migrate/20190208152646_move_text_filter_to_name.rb +97 -0
  322. data/db/migrate/20190209155717_remove_text_filter_ids.rb +19 -0
  323. data/db/migrate/20190209160610_remove_text_filters.rb +17 -0
  324. data/db/migrate/20200413140440_add_unique_indexes.rb +10 -0
  325. data/db/seeds.rb +8 -20
  326. data/lib/email_notify.rb +3 -1
  327. data/lib/format.rb +4 -12
  328. data/lib/publify_core.rb +36 -36
  329. data/lib/publify_core/engine.rb +11 -4
  330. data/lib/publify_core/lang.rb +5 -1
  331. data/lib/publify_core/testing_support/dns_mock.rb +15 -0
  332. data/lib/publify_core/testing_support/factories.rb +240 -0
  333. data/lib/publify_core/testing_support/feed_assertions.rb +48 -0
  334. data/lib/publify_core/testing_support/fixtures/exploit.svg +4 -0
  335. data/lib/publify_core/testing_support/fixtures/fakepng.png +1 -0
  336. data/lib/publify_core/testing_support/fixtures/otherfile.txt +1 -0
  337. data/lib/publify_core/testing_support/fixtures/testfile.png +0 -0
  338. data/lib/publify_core/testing_support/fixtures/testfile.txt +1 -0
  339. data/lib/publify_core/testing_support/upload_fixtures.rb +15 -0
  340. data/lib/publify_core/version.rb +3 -1
  341. data/lib/publify_guid.rb +4 -2
  342. data/lib/publify_plugins.rb +10 -5
  343. data/lib/publify_textfilter_markdown.rb +38 -25
  344. data/lib/publify_textfilter_none.rb +5 -3
  345. data/lib/publify_textfilter_smartypants.rb +5 -3
  346. data/lib/publify_textfilter_textile.rb +7 -4
  347. data/lib/publify_textfilter_twitterfilter.rb +13 -7
  348. data/lib/publify_time.rb +6 -2
  349. data/lib/sidebar_field.rb +29 -20
  350. data/lib/sidebar_registry.rb +5 -3
  351. data/lib/spam_protection.rb +19 -17
  352. data/lib/tasks/i18n.rake +9 -0
  353. data/lib/tasks/manifest.rake +30 -0
  354. data/lib/tasks/publify_core_tasks.rake +2 -0
  355. data/lib/text_filter_plugin.rb +30 -29
  356. data/lib/theme.rb +5 -5
  357. data/lib/transforms.rb +22 -20
  358. data/{app/assets/stylesheets/publify_core/.keep → themes/plain/javascripts/theme.js} +0 -0
  359. metadata +304 -130
  360. data/.gitignore +0 -13
  361. data/.rspec +0 -2
  362. data/.rubocop.yml +0 -84
  363. data/.rubocop_todo.yml +0 -148
  364. data/.travis.yml +0 -27
  365. data/Gemfile +0 -17
  366. data/README.rdoc +0 -3
  367. data/Rakefile +0 -35
  368. data/app/assets/javascripts/widearea.js +0 -486
  369. data/app/assets/stylesheets/widearea.css +0 -133
  370. data/app/controllers/.keep +0 -0
  371. data/app/controllers/admin/migrations_controller.rb +0 -19
  372. data/app/controllers/admin/textfilters_controller.rb +0 -6
  373. data/app/controllers/concerns/.keep +0 -0
  374. data/app/controllers/trackbacks_controller.rb +0 -36
  375. data/app/helpers/.keep +0 -0
  376. data/app/mailers/.keep +0 -0
  377. data/app/models/.keep +0 -0
  378. data/app/models/article/states.rb +0 -179
  379. data/app/models/concerns/.keep +0 -0
  380. data/app/models/feedback/states.rb +0 -256
  381. data/app/services/migrator.rb +0 -25
  382. data/app/views/.keep +0 -0
  383. data/app/views/admin/dashboard/_inbound.html.erb +0 -31
  384. data/app/views/admin/notes/_header.html.erb +0 -6
  385. data/app/views/articles/_protected_article_content.html.erb +0 -6
  386. data/app/views/comments/index.html.erb +0 -1
  387. data/app/views/comments/index_atom_feed.atom.builder +0 -8
  388. data/app/views/comments/index_rss_feed.rss.builder +0 -20
  389. data/app/views/trackbacks/index_atom_feed.atom.builder +0 -7
  390. data/app/views/trackbacks/index_rss_feed.rss.builder +0 -20
  391. data/app/views/trackbacks/trackback.xml.builder +0 -4
  392. data/app/views/xml/feed.googlesitemap.builder +0 -7
  393. data/app/views/xml/rsd.rsd.builder +0 -8
  394. data/lib/stateful.rb +0 -106
  395. data/publify_core.gemspec +0 -54
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Theme
2
4
  attr_accessor :name, :path, :description_html
3
5
 
@@ -7,12 +9,10 @@ class Theme
7
9
  end
8
10
 
9
11
  def layout(action = :default)
10
- if action.to_s == 'view_page'
11
- if File.exist? "#{view_path}/layouts/pages.html.erb"
12
- return 'layouts/pages'
13
- end
12
+ if action.to_s == "view_page"
13
+ return "layouts/pages" if File.exist? "#{view_path}/layouts/pages.html.erb"
14
14
  end
15
- 'layouts/default'
15
+ "layouts/default"
16
16
  end
17
17
 
18
18
  def description
@@ -1,22 +1,23 @@
1
- # coding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  # FIXME: Replace with helpers and/or methods provided by Rails
3
4
  class String
4
- ACCENTS = { %w(á à â ä ã Ã Ä Â À) => 'a',
5
- %w(é è ê ë Ë É È Ê) => 'e',
6
- %w(í ì î ï I Î Ì) => 'i',
7
- %w(ó ò ô ö õ Õ Ö Ô Ò) => 'o',
8
- ['œ'] => 'oe',
9
- ['ß'] => 'ss',
10
- %w(ú ù û ü U Û Ù) => 'u',
11
- %w(ç Ç) => 'c' }.freeze
5
+ ACCENTS = { %w(á à â ä ã Ã Ä Â À) => "a",
6
+ %w(é è ê ë Ë É È Ê) => "e",
7
+ %w(í ì î ï I Î Ì) => "i",
8
+ %w(ó ò ô ö õ Õ Ö Ô Ò) => "o",
9
+ ["œ"] => "oe",
10
+ ["ß"] => "ss",
11
+ %w(ú ù û ü U Û Ù) => "u",
12
+ %w(ç Ç) => "c" }.freeze
12
13
 
13
14
  def to_permalink
14
15
  string = self
15
16
  ACCENTS.each do |key, value|
16
17
  string = string.tr(key.join, value)
17
18
  end
18
- string = string.tr("'", '-')
19
- string.gsub(/<[^>]*>/, '').to_url
19
+ string = string.tr("'", "-")
20
+ string.gsub(/<[^>]*>/, "").to_url
20
21
  end
21
22
 
22
23
  # Returns a-string-with-dashes when passed 'a string with dashes'.
@@ -24,9 +25,9 @@ class String
24
25
  def to_url
25
26
  return if nil?
26
27
 
27
- s = downcase.tr("\"'", '')
28
- s = s.gsub(/\P{Word}/, ' ')
29
- s.strip.tr_s(' ', '-').tr(' ', '-').sub(/^$/, '-')
28
+ s = downcase.tr("\"'", "")
29
+ s = s.gsub(/\P{Word}/, " ")
30
+ s.strip.tr_s(" ", "-").tr(" ", "-").sub(/^$/, "-")
30
31
  end
31
32
 
32
33
  def to_title(item, settings, params)
@@ -34,12 +35,13 @@ class String
34
35
  end
35
36
 
36
37
  # Strips any html markup from a string
37
- TYPO_TAG_KEY = TYPO_ATTRIBUTE_KEY = /[\w:_-]+/
38
- TYPO_ATTRIBUTE_VALUE = /(?:[A-Za-z0-9]+|(?:'[^']*?'|"[^"]*?"))/
39
- TYPO_ATTRIBUTE = /(?:#{TYPO_ATTRIBUTE_KEY}(?:\s*=\s*#{TYPO_ATTRIBUTE_VALUE})?)/
40
- TYPO_ATTRIBUTES = /(?:#{TYPO_ATTRIBUTE}(?:\s+#{TYPO_ATTRIBUTE})*)/
41
- TAG = %r{<[!/?\[]?(?:#{TYPO_TAG_KEY}|--)(?:\s+#{TYPO_ATTRIBUTES})?\s*(?:[!/?\]]+|--)?>}
38
+ TYPO_TAG_KEY = TYPO_ATTRIBUTE_KEY = /[\w:_-]+/.freeze
39
+ TYPO_ATTRIBUTE_VALUE = /(?:[A-Za-z0-9]+|(?:'[^']*?'|"[^"]*?"))/.freeze
40
+ TYPO_ATTRIBUTE = /(?:#{TYPO_ATTRIBUTE_KEY}(?:\s*=\s*#{TYPO_ATTRIBUTE_VALUE})?)/.freeze
41
+ TYPO_ATTRIBUTES = /(?:#{TYPO_ATTRIBUTE}(?:\s+#{TYPO_ATTRIBUTE})*)/.freeze
42
+ TAG =
43
+ %r{<[!/?\[]?(?:#{TYPO_TAG_KEY}|--)(?:\s+#{TYPO_ATTRIBUTES})?\s*(?:[!/?\]]+|--)?>}.freeze
42
44
  def strip_html
43
- gsub(TAG, '').gsub(/\s+/, ' ').strip
45
+ gsub(TAG, "").gsub(/\s+/, " ").strip
44
46
  end
45
47
  end
metadata CHANGED
@@ -1,242 +1,288 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: publify_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.0.0.pre5
4
+ version: 9.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
8
  - Yannick François
9
9
  - Thomas Lecavellier
10
10
  - Frédéric de Villamil
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-12-17 00:00:00.000000000 Z
14
+ date: 2021-01-17 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: rails
17
+ name: aasm
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - "~>"
21
21
  - !ruby/object:Gem::Version
22
- version: 5.0.0
22
+ version: '5.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: 5.0.0
29
+ version: '5.0'
30
30
  - !ruby/object:Gem::Dependency
31
- name: RedCloth
31
+ name: akismet
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 4.3.1
36
+ version: '3.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 4.3.1
43
+ version: '3.0'
44
44
  - !ruby/object:Gem::Dependency
45
- name: akismet
45
+ name: bluecloth
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
49
  - !ruby/object:Gem::Version
50
- version: '2.0'
50
+ version: '2.1'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
55
  - - "~>"
56
56
  - !ruby/object:Gem::Version
57
- version: '2.0'
57
+ version: '2.1'
58
58
  - !ruby/object:Gem::Dependency
59
- name: bluecloth
59
+ name: cancancan
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - "~>"
63
63
  - !ruby/object:Gem::Version
64
- version: '2.1'
64
+ version: '3.0'
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '2.1'
71
+ version: '3.0'
72
72
  - !ruby/object:Gem::Dependency
73
- name: bootstrap-sass
73
+ name: carrierwave
74
74
  requirement: !ruby/object:Gem::Requirement
75
75
  requirements:
76
76
  - - "~>"
77
77
  - !ruby/object:Gem::Version
78
- version: 3.3.6
78
+ version: '2.0'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - "~>"
84
84
  - !ruby/object:Gem::Version
85
- version: 3.3.6
85
+ version: '2.0'
86
86
  - !ruby/object:Gem::Dependency
87
- name: cancancan
87
+ name: devise
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '1.14'
92
+ version: 4.7.1
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
97
  - - "~>"
98
98
  - !ruby/object:Gem::Version
99
- version: '1.14'
99
+ version: 4.7.1
100
100
  - !ruby/object:Gem::Dependency
101
- name: carrierwave
101
+ name: devise-i18n
102
102
  requirement: !ruby/object:Gem::Requirement
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 0.11.2
106
+ version: '1.2'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 0.11.2
113
+ version: '1.2'
114
114
  - !ruby/object:Gem::Dependency
115
- name: devise
115
+ name: dynamic_form
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
118
  - - "~>"
119
119
  - !ruby/object:Gem::Version
120
- version: 4.2.0
120
+ version: 1.1.4
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - "~>"
126
126
  - !ruby/object:Gem::Version
127
- version: 4.2.0
127
+ version: 1.1.4
128
128
  - !ruby/object:Gem::Dependency
129
- name: devise-i18n
129
+ name: fog-aws
130
130
  requirement: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - "~>"
133
133
  - !ruby/object:Gem::Version
134
- version: 1.1.0
134
+ version: '3.2'
135
135
  type: :runtime
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
138
138
  requirements:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
- version: 1.1.0
141
+ version: '3.2'
142
142
  - !ruby/object:Gem::Dependency
143
- name: dynamic_form
143
+ name: fog-core
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  requirements:
146
146
  - - "~>"
147
147
  - !ruby/object:Gem::Version
148
- version: 1.1.4
148
+ version: '2.2'
149
149
  type: :runtime
150
150
  prerelease: false
151
151
  version_requirements: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - "~>"
154
154
  - !ruby/object:Gem::Version
155
- version: 1.1.4
155
+ version: '2.2'
156
156
  - !ruby/object:Gem::Dependency
157
- name: feedjira
157
+ name: jquery-rails
158
158
  requirement: !ruby/object:Gem::Requirement
159
159
  requirements:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
- version: 2.1.0
162
+ version: 4.4.0
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
167
  - - "~>"
168
168
  - !ruby/object:Gem::Version
169
- version: 2.1.0
169
+ version: 4.4.0
170
170
  - !ruby/object:Gem::Dependency
171
- name: fog-aws
171
+ name: jquery-ui-rails
172
172
  requirement: !ruby/object:Gem::Requirement
173
173
  requirements:
174
174
  - - "~>"
175
175
  - !ruby/object:Gem::Version
176
- version: 1.1.0
176
+ version: 6.0.1
177
177
  type: :runtime
178
178
  prerelease: false
179
179
  version_requirements: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - "~>"
182
182
  - !ruby/object:Gem::Version
183
- version: 1.1.0
183
+ version: 6.0.1
184
184
  - !ruby/object:Gem::Dependency
185
- name: jquery-rails
185
+ name: kaminari
186
186
  requirement: !ruby/object:Gem::Requirement
187
187
  requirements:
188
188
  - - "~>"
189
189
  - !ruby/object:Gem::Version
190
- version: 4.2.1
190
+ version: '1.2'
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: 1.2.1
191
194
  type: :runtime
192
195
  prerelease: false
193
196
  version_requirements: !ruby/object:Gem::Requirement
194
197
  requirements:
195
198
  - - "~>"
196
199
  - !ruby/object:Gem::Version
197
- version: 4.2.1
200
+ version: '1.2'
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: 1.2.1
198
204
  - !ruby/object:Gem::Dependency
199
- name: jquery-ui-rails
205
+ name: mimemagic
200
206
  requirement: !ruby/object:Gem::Requirement
201
207
  requirements:
202
208
  - - "~>"
203
209
  - !ruby/object:Gem::Version
204
- version: 6.0.1
210
+ version: 0.3.2
205
211
  type: :runtime
206
212
  prerelease: false
207
213
  version_requirements: !ruby/object:Gem::Requirement
208
214
  requirements:
209
215
  - - "~>"
210
216
  - !ruby/object:Gem::Version
211
- version: 6.0.1
217
+ version: 0.3.2
212
218
  - !ruby/object:Gem::Dependency
213
- name: kaminari
219
+ name: mini_magick
214
220
  requirement: !ruby/object:Gem::Requirement
215
221
  requirements:
216
222
  - - "~>"
217
223
  - !ruby/object:Gem::Version
218
- version: 0.17.0
224
+ version: '4.9'
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: 4.9.4
219
228
  type: :runtime
220
229
  prerelease: false
221
230
  version_requirements: !ruby/object:Gem::Requirement
222
231
  requirements:
223
232
  - - "~>"
224
233
  - !ruby/object:Gem::Version
225
- version: 0.17.0
234
+ version: '4.9'
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: 4.9.4
226
238
  - !ruby/object:Gem::Dependency
227
- name: mini_magick
239
+ name: rack
240
+ requirement: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: 2.2.3
245
+ type: :runtime
246
+ prerelease: false
247
+ version_requirements: !ruby/object:Gem::Requirement
248
+ requirements:
249
+ - - ">="
250
+ - !ruby/object:Gem::Version
251
+ version: 2.2.3
252
+ - !ruby/object:Gem::Dependency
253
+ name: rails
254
+ requirement: !ruby/object:Gem::Requirement
255
+ requirements:
256
+ - - "~>"
257
+ - !ruby/object:Gem::Version
258
+ version: 5.2.4
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: 5.2.4.3
262
+ type: :runtime
263
+ prerelease: false
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ requirements:
266
+ - - "~>"
267
+ - !ruby/object:Gem::Version
268
+ version: 5.2.4
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: 5.2.4.3
272
+ - !ruby/object:Gem::Dependency
273
+ name: rails_autolink
228
274
  requirement: !ruby/object:Gem::Requirement
229
275
  requirements:
230
276
  - - "~>"
231
277
  - !ruby/object:Gem::Version
232
- version: '4.2'
278
+ version: 1.1.0
233
279
  type: :runtime
234
280
  prerelease: false
235
281
  version_requirements: !ruby/object:Gem::Requirement
236
282
  requirements:
237
283
  - - "~>"
238
284
  - !ruby/object:Gem::Version
239
- version: '4.2'
285
+ version: 1.1.0
240
286
  - !ruby/object:Gem::Dependency
241
287
  name: rails-timeago
242
288
  requirement: !ruby/object:Gem::Requirement
@@ -252,75 +298,89 @@ dependencies:
252
298
  - !ruby/object:Gem::Version
253
299
  version: '2.0'
254
300
  - !ruby/object:Gem::Dependency
255
- name: rails_autolink
301
+ name: recaptcha
256
302
  requirement: !ruby/object:Gem::Requirement
257
303
  requirements:
258
304
  - - "~>"
259
305
  - !ruby/object:Gem::Version
260
- version: 1.1.0
306
+ version: '5.0'
261
307
  type: :runtime
262
308
  prerelease: false
263
309
  version_requirements: !ruby/object:Gem::Requirement
264
310
  requirements:
265
311
  - - "~>"
266
312
  - !ruby/object:Gem::Version
267
- version: 1.1.0
313
+ version: '5.0'
268
314
  - !ruby/object:Gem::Dependency
269
- name: recaptcha
315
+ name: RedCloth
270
316
  requirement: !ruby/object:Gem::Requirement
271
317
  requirements:
272
318
  - - "~>"
273
319
  - !ruby/object:Gem::Version
274
- version: 4.0.0
320
+ version: 4.3.2
275
321
  type: :runtime
276
322
  prerelease: false
277
323
  version_requirements: !ruby/object:Gem::Requirement
278
324
  requirements:
279
325
  - - "~>"
280
326
  - !ruby/object:Gem::Version
281
- version: 4.0.0
327
+ version: 4.3.2
282
328
  - !ruby/object:Gem::Dependency
283
329
  name: rubypants
284
330
  requirement: !ruby/object:Gem::Requirement
285
331
  requirements:
286
332
  - - "~>"
287
333
  - !ruby/object:Gem::Version
288
- version: 0.6.0
334
+ version: 0.7.0
289
335
  type: :runtime
290
336
  prerelease: false
291
337
  version_requirements: !ruby/object:Gem::Requirement
292
338
  requirements:
293
339
  - - "~>"
294
340
  - !ruby/object:Gem::Version
295
- version: 0.6.0
341
+ version: 0.7.0
296
342
  - !ruby/object:Gem::Dependency
297
- name: sass-rails
343
+ name: sassc-rails
298
344
  requirement: !ruby/object:Gem::Requirement
299
345
  requirements:
300
346
  - - "~>"
301
347
  - !ruby/object:Gem::Version
302
- version: '5.0'
348
+ version: '2.0'
303
349
  type: :runtime
304
350
  prerelease: false
305
351
  version_requirements: !ruby/object:Gem::Requirement
306
352
  requirements:
307
353
  - - "~>"
308
354
  - !ruby/object:Gem::Version
309
- version: '5.0'
355
+ version: '2.0'
356
+ - !ruby/object:Gem::Dependency
357
+ name: sprockets
358
+ requirement: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "~>"
361
+ - !ruby/object:Gem::Version
362
+ version: '3.0'
363
+ type: :runtime
364
+ prerelease: false
365
+ version_requirements: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: '3.0'
310
370
  - !ruby/object:Gem::Dependency
311
371
  name: twitter
312
372
  requirement: !ruby/object:Gem::Requirement
313
373
  requirements:
314
374
  - - "~>"
315
375
  - !ruby/object:Gem::Version
316
- version: 6.0.0
376
+ version: 7.0.0
317
377
  type: :runtime
318
378
  prerelease: false
319
379
  version_requirements: !ruby/object:Gem::Requirement
320
380
  requirements:
321
381
  - - "~>"
322
382
  - !ruby/object:Gem::Version
323
- version: 6.0.0
383
+ version: 7.0.0
324
384
  - !ruby/object:Gem::Dependency
325
385
  name: uuidtools
326
386
  requirement: !ruby/object:Gem::Requirement
@@ -336,7 +396,63 @@ dependencies:
336
396
  - !ruby/object:Gem::Version
337
397
  version: 2.1.1
338
398
  - !ruby/object:Gem::Dependency
339
- name: sqlite3
399
+ name: capybara
400
+ requirement: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '3.0'
405
+ type: :development
406
+ prerelease: false
407
+ version_requirements: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - "~>"
410
+ - !ruby/object:Gem::Version
411
+ version: '3.0'
412
+ - !ruby/object:Gem::Dependency
413
+ name: factory_bot
414
+ requirement: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - "~>"
417
+ - !ruby/object:Gem::Version
418
+ version: '5.1'
419
+ type: :development
420
+ prerelease: false
421
+ version_requirements: !ruby/object:Gem::Requirement
422
+ requirements:
423
+ - - "~>"
424
+ - !ruby/object:Gem::Version
425
+ version: '5.1'
426
+ - !ruby/object:Gem::Dependency
427
+ name: feedjira
428
+ requirement: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - "~>"
431
+ - !ruby/object:Gem::Version
432
+ version: '3.1'
433
+ type: :development
434
+ prerelease: false
435
+ version_requirements: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - "~>"
438
+ - !ruby/object:Gem::Version
439
+ version: '3.1'
440
+ - !ruby/object:Gem::Dependency
441
+ name: i18n-tasks
442
+ requirement: !ruby/object:Gem::Requirement
443
+ requirements:
444
+ - - "~>"
445
+ - !ruby/object:Gem::Version
446
+ version: 0.9.1
447
+ type: :development
448
+ prerelease: false
449
+ version_requirements: !ruby/object:Gem::Requirement
450
+ requirements:
451
+ - - "~>"
452
+ - !ruby/object:Gem::Version
453
+ version: 0.9.1
454
+ - !ruby/object:Gem::Dependency
455
+ name: pry
340
456
  requirement: !ruby/object:Gem::Requirement
341
457
  requirements:
342
458
  - - ">="
@@ -350,63 +466,63 @@ dependencies:
350
466
  - !ruby/object:Gem::Version
351
467
  version: '0'
352
468
  - !ruby/object:Gem::Dependency
353
- name: rspec-rails
469
+ name: rails-controller-testing
354
470
  requirement: !ruby/object:Gem::Requirement
355
471
  requirements:
356
472
  - - "~>"
357
473
  - !ruby/object:Gem::Version
358
- version: 3.5.2
474
+ version: 1.0.1
359
475
  type: :development
360
476
  prerelease: false
361
477
  version_requirements: !ruby/object:Gem::Requirement
362
478
  requirements:
363
479
  - - "~>"
364
480
  - !ruby/object:Gem::Version
365
- version: 3.5.2
481
+ version: 1.0.1
366
482
  - !ruby/object:Gem::Dependency
367
- name: capybara
483
+ name: rspec-rails
368
484
  requirement: !ruby/object:Gem::Requirement
369
485
  requirements:
370
486
  - - "~>"
371
487
  - !ruby/object:Gem::Version
372
- version: '2.7'
488
+ version: '4.0'
373
489
  type: :development
374
490
  prerelease: false
375
491
  version_requirements: !ruby/object:Gem::Requirement
376
492
  requirements:
377
493
  - - "~>"
378
494
  - !ruby/object:Gem::Version
379
- version: '2.7'
495
+ version: '4.0'
380
496
  - !ruby/object:Gem::Dependency
381
- name: factory_girl_rails
497
+ name: simplecov
382
498
  requirement: !ruby/object:Gem::Requirement
383
499
  requirements:
384
500
  - - "~>"
385
501
  - !ruby/object:Gem::Version
386
- version: 4.8.0
502
+ version: 0.18.5
387
503
  type: :development
388
504
  prerelease: false
389
505
  version_requirements: !ruby/object:Gem::Requirement
390
506
  requirements:
391
507
  - - "~>"
392
508
  - !ruby/object:Gem::Version
393
- version: 4.8.0
509
+ version: 0.18.5
394
510
  - !ruby/object:Gem::Dependency
395
- name: rubocop
511
+ name: sqlite3
396
512
  requirement: !ruby/object:Gem::Requirement
397
513
  requirements:
398
- - - "~>"
514
+ - - ">="
399
515
  - !ruby/object:Gem::Version
400
- version: 0.46.0
516
+ version: '0'
401
517
  type: :development
402
518
  prerelease: false
403
519
  version_requirements: !ruby/object:Gem::Requirement
404
520
  requirements:
405
- - - "~>"
521
+ - - ">="
406
522
  - !ruby/object:Gem::Version
407
- version: 0.46.0
523
+ version: '0'
408
524
  - !ruby/object:Gem::Dependency
409
- name: i18n-tasks
525
+ name: timecop
410
526
  requirement: !ruby/object:Gem::Requirement
411
527
  requirements:
412
528
  - - "~>"
@@ -420,19 +536,19 @@ dependencies:
420
536
  - !ruby/object:Gem::Version
421
537
  version: 0.9.1
422
538
  - !ruby/object:Gem::Dependency
423
- name: rails-controller-testing
539
+ name: webmock
424
540
  requirement: !ruby/object:Gem::Requirement
425
541
  requirements:
426
542
  - - "~>"
427
543
  - !ruby/object:Gem::Version
428
- version: 1.0.1
544
+ version: '3.3'
429
545
  type: :development
430
546
  prerelease: false
431
547
  version_requirements: !ruby/object:Gem::Requirement
432
548
  requirements:
433
549
  - - "~>"
434
550
  - !ruby/object:Gem::Version
435
- version: 1.0.1
551
+ version: '3.3'
436
552
  description: Core engine for the Publify blogging system, formerly known as Typo.
437
553
  email:
438
554
  - matijs@matijs.net
@@ -440,16 +556,9 @@ executables: []
440
556
  extensions: []
441
557
  extra_rdoc_files: []
442
558
  files:
443
- - ".gitignore"
444
- - ".rspec"
445
- - ".rubocop.yml"
446
- - ".rubocop_todo.yml"
447
- - ".travis.yml"
448
559
  - CHANGELOG.md
449
- - Gemfile
450
560
  - MIT-LICENSE
451
- - README.rdoc
452
- - Rakefile
561
+ - README.md
453
562
  - app/assets/fonts/open-sans-bold.woff
454
563
  - app/assets/fonts/open-sans.woff
455
564
  - app/assets/images/admin/loading.gif
@@ -467,6 +576,15 @@ files:
467
576
  - app/assets/images/spinner.gif
468
577
  - app/assets/images/thumb_blank.jpg
469
578
  - app/assets/javascripts/application.js
579
+ - app/assets/javascripts/bootstrap-sprockets.js
580
+ - app/assets/javascripts/bootstrap/affix.js
581
+ - app/assets/javascripts/bootstrap/alert.js
582
+ - app/assets/javascripts/bootstrap/button.js
583
+ - app/assets/javascripts/bootstrap/collapse.js
584
+ - app/assets/javascripts/bootstrap/dropdown.js
585
+ - app/assets/javascripts/bootstrap/modal.js
586
+ - app/assets/javascripts/bootstrap/tab.js
587
+ - app/assets/javascripts/bootstrap/transition.js
470
588
  - app/assets/javascripts/cookies.js
471
589
  - app/assets/javascripts/datetimepicker.js
472
590
  - app/assets/javascripts/lang/da_DK.js
@@ -485,27 +603,79 @@ files:
485
603
  - app/assets/javascripts/spinnable.js
486
604
  - app/assets/javascripts/tagmanager.js
487
605
  - app/assets/javascripts/typeahead.js
488
- - app/assets/javascripts/widearea.js
606
+ - app/assets/stylesheets/_bootstrap-compass.scss
607
+ - app/assets/stylesheets/_bootstrap-mincer.scss
608
+ - app/assets/stylesheets/_bootstrap-sprockets.scss
609
+ - app/assets/stylesheets/_bootstrap.scss
489
610
  - app/assets/stylesheets/accounts.css.scss
490
611
  - app/assets/stylesheets/administration_structure.css.scss
612
+ - app/assets/stylesheets/bootstrap/_alerts.scss
613
+ - app/assets/stylesheets/bootstrap/_button-groups.scss
614
+ - app/assets/stylesheets/bootstrap/_buttons.scss
615
+ - app/assets/stylesheets/bootstrap/_close.scss
616
+ - app/assets/stylesheets/bootstrap/_code.scss
617
+ - app/assets/stylesheets/bootstrap/_component-animations.scss
618
+ - app/assets/stylesheets/bootstrap/_dropdowns.scss
619
+ - app/assets/stylesheets/bootstrap/_forms.scss
620
+ - app/assets/stylesheets/bootstrap/_grid.scss
621
+ - app/assets/stylesheets/bootstrap/_labels.scss
622
+ - app/assets/stylesheets/bootstrap/_media.scss
623
+ - app/assets/stylesheets/bootstrap/_mixins.scss
624
+ - app/assets/stylesheets/bootstrap/_modals.scss
625
+ - app/assets/stylesheets/bootstrap/_navbar.scss
626
+ - app/assets/stylesheets/bootstrap/_navs.scss
627
+ - app/assets/stylesheets/bootstrap/_normalize.scss
628
+ - app/assets/stylesheets/bootstrap/_pagination.scss
629
+ - app/assets/stylesheets/bootstrap/_panels.scss
630
+ - app/assets/stylesheets/bootstrap/_print.scss
631
+ - app/assets/stylesheets/bootstrap/_scaffolding.scss
632
+ - app/assets/stylesheets/bootstrap/_tables.scss
633
+ - app/assets/stylesheets/bootstrap/_theme.scss
634
+ - app/assets/stylesheets/bootstrap/_type.scss
635
+ - app/assets/stylesheets/bootstrap/_utilities.scss
636
+ - app/assets/stylesheets/bootstrap/_variables.scss
637
+ - app/assets/stylesheets/bootstrap/_wells.scss
638
+ - app/assets/stylesheets/bootstrap/mixins/_alerts.scss
639
+ - app/assets/stylesheets/bootstrap/mixins/_background-variant.scss
640
+ - app/assets/stylesheets/bootstrap/mixins/_border-radius.scss
641
+ - app/assets/stylesheets/bootstrap/mixins/_buttons.scss
642
+ - app/assets/stylesheets/bootstrap/mixins/_center-block.scss
643
+ - app/assets/stylesheets/bootstrap/mixins/_clearfix.scss
644
+ - app/assets/stylesheets/bootstrap/mixins/_forms.scss
645
+ - app/assets/stylesheets/bootstrap/mixins/_gradients.scss
646
+ - app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss
647
+ - app/assets/stylesheets/bootstrap/mixins/_grid.scss
648
+ - app/assets/stylesheets/bootstrap/mixins/_hide-text.scss
649
+ - app/assets/stylesheets/bootstrap/mixins/_image.scss
650
+ - app/assets/stylesheets/bootstrap/mixins/_labels.scss
651
+ - app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss
652
+ - app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss
653
+ - app/assets/stylesheets/bootstrap/mixins/_opacity.scss
654
+ - app/assets/stylesheets/bootstrap/mixins/_pagination.scss
655
+ - app/assets/stylesheets/bootstrap/mixins/_panels.scss
656
+ - app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss
657
+ - app/assets/stylesheets/bootstrap/mixins/_resize.scss
658
+ - app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss
659
+ - app/assets/stylesheets/bootstrap/mixins/_size.scss
660
+ - app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss
661
+ - app/assets/stylesheets/bootstrap/mixins/_table-row.scss
662
+ - app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss
663
+ - app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss
664
+ - app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss
491
665
  - app/assets/stylesheets/coderay.css
492
666
  - app/assets/stylesheets/datetimepicker.css
493
667
  - app/assets/stylesheets/lightbox.css
494
668
  - app/assets/stylesheets/publify.css.scss
495
669
  - app/assets/stylesheets/publify_admin.css.scss
496
- - app/assets/stylesheets/publify_core/.keep
497
670
  - app/assets/stylesheets/rss.css
498
671
  - app/assets/stylesheets/sidebar_admin.css.scss
499
672
  - app/assets/stylesheets/tagmanager.css
500
673
  - app/assets/stylesheets/user-styles.css
501
- - app/assets/stylesheets/widearea.css
502
- - app/controllers/.keep
503
674
  - app/controllers/accounts_controller.rb
504
675
  - app/controllers/admin/base_controller.rb
505
676
  - app/controllers/admin/content_controller.rb
506
677
  - app/controllers/admin/dashboard_controller.rb
507
678
  - app/controllers/admin/feedback_controller.rb
508
- - app/controllers/admin/migrations_controller.rb
509
679
  - app/controllers/admin/notes_controller.rb
510
680
  - app/controllers/admin/pages_controller.rb
511
681
  - app/controllers/admin/post_types_controller.rb
@@ -516,14 +686,12 @@ files:
516
686
  - app/controllers/admin/settings_controller.rb
517
687
  - app/controllers/admin/sidebar_controller.rb
518
688
  - app/controllers/admin/tags_controller.rb
519
- - app/controllers/admin/textfilters_controller.rb
520
689
  - app/controllers/admin/themes_controller.rb
521
690
  - app/controllers/admin/users_controller.rb
522
691
  - app/controllers/articles_controller.rb
523
692
  - app/controllers/authors_controller.rb
524
693
  - app/controllers/base_controller.rb
525
694
  - app/controllers/comments_controller.rb
526
- - app/controllers/concerns/.keep
527
695
  - app/controllers/content_controller.rb
528
696
  - app/controllers/feedback_controller.rb
529
697
  - app/controllers/notes_controller.rb
@@ -532,9 +700,7 @@ files:
532
700
  - app/controllers/text_controller.rb
533
701
  - app/controllers/textfilter_controller.rb
534
702
  - app/controllers/theme_controller.rb
535
- - app/controllers/trackbacks_controller.rb
536
703
  - app/controllers/xml_controller.rb
537
- - app/helpers/.keep
538
704
  - app/helpers/admin/base_helper.rb
539
705
  - app/helpers/admin/feedback_helper.rb
540
706
  - app/helpers/articles_helper.rb
@@ -542,22 +708,18 @@ files:
542
708
  - app/helpers/base_helper.rb
543
709
  - app/helpers/blog_helper.rb
544
710
  - app/helpers/xml_helper.rb
545
- - app/mailers/.keep
711
+ - app/jobs/application_job.rb
546
712
  - app/mailers/notification_mailer.rb
547
- - app/models/.keep
548
713
  - app/models/ability.rb
549
714
  - app/models/archives_sidebar.rb
550
715
  - app/models/article.rb
551
716
  - app/models/article/factory.rb
552
- - app/models/article/states.rb
553
717
  - app/models/blog.rb
554
718
  - app/models/comment.rb
555
- - app/models/concerns/.keep
556
719
  - app/models/config_manager.rb
557
720
  - app/models/content.rb
558
721
  - app/models/content_base.rb
559
722
  - app/models/feedback.rb
560
- - app/models/feedback/states.rb
561
723
  - app/models/meta_sidebar.rb
562
724
  - app/models/note.rb
563
725
  - app/models/page.rb
@@ -576,10 +738,8 @@ files:
576
738
  - app/models/trackback.rb
577
739
  - app/models/trigger.rb
578
740
  - app/models/user.rb
579
- - app/services/migrator.rb
580
741
  - app/services/title_builder.rb
581
742
  - app/uploaders/resource_uploader.rb
582
- - app/views/.keep
583
743
  - app/views/accounts/confirm.html.erb
584
744
  - app/views/admin/content/_article_list.html.erb
585
745
  - app/views/admin/content/_form.html.erb
@@ -591,7 +751,6 @@ files:
591
751
  - app/views/admin/dashboard/_comment.html.erb
592
752
  - app/views/admin/dashboard/_comments.html.erb
593
753
  - app/views/admin/dashboard/_drafts.html.erb
594
- - app/views/admin/dashboard/_inbound.html.erb
595
754
  - app/views/admin/dashboard/_overview.html.erb
596
755
  - app/views/admin/dashboard/_welcome.html.erb
597
756
  - app/views/admin/dashboard/index.html.erb
@@ -601,12 +760,11 @@ files:
601
760
  - app/views/admin/feedback/_spam.html.erb
602
761
  - app/views/admin/feedback/article.html.erb
603
762
  - app/views/admin/feedback/edit.html.erb
604
- - app/views/admin/feedback/ham.js
763
+ - app/views/admin/feedback/ham.js.erb
605
764
  - app/views/admin/feedback/index.html.erb
606
- - app/views/admin/feedback/spam.js
765
+ - app/views/admin/feedback/spam.js.erb
607
766
  - app/views/admin/migrations/show.html.erb
608
767
  - app/views/admin/notes/_form.html.erb
609
- - app/views/admin/notes/_header.html.erb
610
768
  - app/views/admin/notes/_list.html.erb
611
769
  - app/views/admin/notes/_note.html.erb
612
770
  - app/views/admin/notes/edit.html.erb
@@ -654,7 +812,9 @@ files:
654
812
  - app/views/admin/users/index.html.erb
655
813
  - app/views/admin/users/new.html.erb
656
814
  - app/views/archives_sidebar/_content.html.erb
815
+ - app/views/articles/_archives_article.html.erb
657
816
  - app/views/articles/_article.html.erb
817
+ - app/views/articles/_article_author.html.erb
658
818
  - app/views/articles/_article_collection.html.erb
659
819
  - app/views/articles/_article_content.html.erb
660
820
  - app/views/articles/_article_excerpt.html.erb
@@ -666,7 +826,6 @@ files:
666
826
  - app/views/articles/_comment_preview.html.erb
667
827
  - app/views/articles/_full_article_content.html.erb
668
828
  - app/views/articles/_password_form.html.erb
669
- - app/views/articles/_protected_article_content.html.erb
670
829
  - app/views/articles/_trackback.html.erb
671
830
  - app/views/articles/archives.html.erb
672
831
  - app/views/articles/comment.js.erb
@@ -686,9 +845,6 @@ files:
686
845
  - app/views/authors/show_atom_feed.atom.builder
687
846
  - app/views/authors/show_rss_feed.rss.builder
688
847
  - app/views/comments/_comment.html.erb
689
- - app/views/comments/index.html.erb
690
- - app/views/comments/index_atom_feed.atom.builder
691
- - app/views/comments/index_rss_feed.rss.builder
692
848
  - app/views/comments/preview.html.erb
693
849
  - app/views/comments/preview.js.erb
694
850
  - app/views/devise/mailer/reset_password_instructions.html.erb
@@ -698,6 +854,8 @@ files:
698
854
  - app/views/devise/sessions/new.html.erb
699
855
  - app/views/devise/shared/_links.html.erb
700
856
  - app/views/errors/404.html.erb
857
+ - app/views/feedback/index.atom.builder
858
+ - app/views/feedback/index.rss.builder
701
859
  - app/views/layouts/accounts.html.erb
702
860
  - app/views/layouts/administration.html.erb
703
861
  - app/views/layouts/default.html.erb
@@ -723,6 +881,7 @@ files:
723
881
  - app/views/shared/_atom_item_comment.atom.builder
724
882
  - app/views/shared/_atom_item_trackback.atom.builder
725
883
  - app/views/shared/_flash.erb
884
+ - app/views/shared/_google_analytics.html.erb
726
885
  - app/views/shared/_page_header.html.erb
727
886
  - app/views/shared/_rss_item_article.rss.builder
728
887
  - app/views/shared/_rss_item_comment.rss.builder
@@ -736,15 +895,11 @@ files:
736
895
  - app/views/tags/index.html.erb
737
896
  - app/views/tags/show.html.erb
738
897
  - app/views/theme/static_view_test.html.erb
739
- - app/views/trackbacks/index_atom_feed.atom.builder
740
- - app/views/trackbacks/index_rss_feed.rss.builder
741
- - app/views/trackbacks/trackback.xml.builder
742
898
  - app/views/xml/_googlesitemap_item_article.googlesitemap.builder
743
899
  - app/views/xml/_googlesitemap_item_category.googlesitemap.builder
744
900
  - app/views/xml/_googlesitemap_item_page.googlesitemap.builder
745
901
  - app/views/xml/_googlesitemap_item_tag.googlesitemap.builder
746
- - app/views/xml/feed.googlesitemap.builder
747
- - app/views/xml/rsd.rsd.builder
902
+ - app/views/xml/sitemap.googlesitemap.builder
748
903
  - config/i18n-tasks.yml
749
904
  - config/initializers/devise.rb
750
905
  - config/initializers/mime_types.rb
@@ -798,12 +953,31 @@ files:
798
953
  - db/migrate/20160605154632_remove_profiles.rb
799
954
  - db/migrate/20160701061851_demand_blog_id_on_contents.rb
800
955
  - db/migrate/20160701062604_add_blog_id_to_resources.rb
956
+ - db/migrate/20170528093024_move_resources_to_content.rb
957
+ - db/migrate/20170528094923_move_tags_to_content.rb
958
+ - db/migrate/20170528201606_remove_separate_published_flag.rb
959
+ - db/migrate/20170605071626_remove_extra_state_columns_from_feedback.rb
960
+ - db/migrate/20170702105201_remove_published_at_from_feedback.rb
961
+ - db/migrate/20190208151235_add_text_filter_name_fields.rb
962
+ - db/migrate/20190208152646_move_text_filter_to_name.rb
963
+ - db/migrate/20190209155717_remove_text_filter_ids.rb
964
+ - db/migrate/20190209160610_remove_text_filters.rb
965
+ - db/migrate/20200413140440_add_unique_indexes.rb
801
966
  - db/seeds.rb
802
967
  - lib/email_notify.rb
803
968
  - lib/format.rb
804
969
  - lib/publify_core.rb
805
970
  - lib/publify_core/engine.rb
806
971
  - lib/publify_core/lang.rb
972
+ - lib/publify_core/testing_support/dns_mock.rb
973
+ - lib/publify_core/testing_support/factories.rb
974
+ - lib/publify_core/testing_support/feed_assertions.rb
975
+ - lib/publify_core/testing_support/fixtures/exploit.svg
976
+ - lib/publify_core/testing_support/fixtures/fakepng.png
977
+ - lib/publify_core/testing_support/fixtures/otherfile.txt
978
+ - lib/publify_core/testing_support/fixtures/testfile.png
979
+ - lib/publify_core/testing_support/fixtures/testfile.txt
980
+ - lib/publify_core/testing_support/upload_fixtures.rb
807
981
  - lib/publify_core/version.rb
808
982
  - lib/publify_guid.rb
809
983
  - lib/publify_plugins.rb
@@ -816,20 +990,21 @@ files:
816
990
  - lib/sidebar_field.rb
817
991
  - lib/sidebar_registry.rb
818
992
  - lib/spam_protection.rb
819
- - lib/stateful.rb
993
+ - lib/tasks/i18n.rake
994
+ - lib/tasks/manifest.rake
820
995
  - lib/tasks/publify_core_tasks.rake
821
996
  - lib/text_filter_plugin.rb
822
997
  - lib/theme.rb
823
998
  - lib/transforms.rb
824
- - publify_core.gemspec
825
999
  - themes/plain/about.markdown
1000
+ - themes/plain/javascripts/theme.js
826
1001
  - themes/plain/preview.png
827
1002
  - themes/plain/stylesheets/theme.css
828
- homepage: https://publify.co
1003
+ homepage: https://publify.github.io/
829
1004
  licenses:
830
1005
  - MIT
831
1006
  metadata: {}
832
- post_install_message:
1007
+ post_install_message:
833
1008
  rdoc_options: []
834
1009
  require_paths:
835
1010
  - lib
@@ -837,16 +1012,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
837
1012
  requirements:
838
1013
  - - ">="
839
1014
  - !ruby/object:Gem::Version
840
- version: 2.1.0
1015
+ version: 2.4.0
841
1016
  required_rubygems_version: !ruby/object:Gem::Requirement
842
1017
  requirements:
843
- - - ">"
1018
+ - - ">="
844
1019
  - !ruby/object:Gem::Version
845
- version: 1.3.1
1020
+ version: '0'
846
1021
  requirements: []
847
- rubyforge_project:
848
- rubygems_version: 2.6.8
849
- signing_key:
1022
+ rubygems_version: 3.2.3
1023
+ signing_key:
850
1024
  specification_version: 4
851
1025
  summary: Core engine for the Publify blogging system.
852
1026
  test_files: []