publify_core 10.0.3 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +249 -53
  3. data/app/assets/javascripts/publify.js +0 -1
  4. data/app/assets/javascripts/publify_admin.js +10 -9
  5. data/app/assets/stylesheets/accounts.css.scss +0 -2
  6. data/app/assets/stylesheets/administration_structure.css.scss +0 -4
  7. data/app/assets/stylesheets/publify.css.scss +0 -1
  8. data/app/assets/stylesheets/publify_admin.css.scss +0 -2
  9. data/app/assets/stylesheets/sidebar_admin.css.scss +0 -6
  10. data/app/controllers/admin/articles_controller.rb +1 -1
  11. data/app/controllers/admin/base_controller.rb +2 -2
  12. data/app/controllers/admin/redirects_controller.rb +2 -2
  13. data/app/controllers/admin/resources_controller.rb +1 -1
  14. data/app/controllers/admin/seo_controller.rb +2 -2
  15. data/app/controllers/admin/settings_controller.rb +2 -2
  16. data/app/controllers/admin/tags_controller.rb +1 -1
  17. data/app/controllers/admin/users_controller.rb +2 -2
  18. data/app/controllers/articles_controller.rb +2 -5
  19. data/app/controllers/authors_controller.rb +0 -2
  20. data/app/controllers/comments_controller.rb +5 -2
  21. data/app/controllers/content_controller.rb +0 -4
  22. data/app/controllers/notes_controller.rb +1 -6
  23. data/app/controllers/setup_controller.rb +1 -1
  24. data/app/controllers/tags_controller.rb +0 -1
  25. data/app/controllers/users/registrations_controller.rb +1 -0
  26. data/app/helpers/admin/base_helper.rb +20 -13
  27. data/app/helpers/admin/feedback_helper.rb +4 -4
  28. data/app/helpers/base_helper.rb +10 -6
  29. data/app/helpers/xml_helper.rb +4 -0
  30. data/app/models/article.rb +7 -7
  31. data/app/models/blog.rb +3 -3
  32. data/app/models/comment.rb +1 -1
  33. data/app/models/config_manager.rb +1 -3
  34. data/app/models/content.rb +4 -5
  35. data/app/models/content_base.rb +4 -3
  36. data/app/models/feedback.rb +1 -1
  37. data/app/models/note.rb +74 -8
  38. data/app/models/page.rb +1 -1
  39. data/app/models/redirect.rb +0 -4
  40. data/app/models/resource.rb +1 -0
  41. data/app/models/sidebar.rb +6 -14
  42. data/app/models/tag.rb +2 -2
  43. data/app/models/text_filter.rb +2 -2
  44. data/app/models/trigger.rb +1 -1
  45. data/app/models/user.rb +12 -21
  46. data/app/uploaders/resource_uploader.rb +11 -4
  47. data/app/views/admin/articles/_form.html.erb +99 -105
  48. data/app/views/admin/articles/index.html.erb +15 -23
  49. data/app/views/admin/dashboard/_comment.html.erb +1 -1
  50. data/app/views/admin/dashboard/_comments.html.erb +4 -6
  51. data/app/views/admin/dashboard/_drafts.html.erb +4 -6
  52. data/app/views/admin/dashboard/_overview.html.erb +2 -5
  53. data/app/views/admin/dashboard/_welcome.html.erb +19 -19
  54. data/app/views/admin/dashboard/index.html.erb +3 -3
  55. data/app/views/admin/feedback/_button.html.erb +7 -13
  56. data/app/views/admin/feedback/article.html.erb +17 -17
  57. data/app/views/admin/feedback/edit.html.erb +17 -21
  58. data/app/views/admin/feedback/index.html.erb +8 -8
  59. data/app/views/admin/notes/_form.html.erb +5 -5
  60. data/app/views/admin/notes/_list.html.erb +1 -1
  61. data/app/views/admin/notes/_note.html.erb +1 -1
  62. data/app/views/admin/notes/edit.html.erb +1 -1
  63. data/app/views/admin/notes/index.html.erb +1 -1
  64. data/app/views/admin/pages/_form.html.erb +23 -27
  65. data/app/views/admin/post_types/_index_and_form.html.erb +5 -5
  66. data/app/views/admin/redirects/_index_and_form.html.erb +2 -2
  67. data/app/views/admin/resources/index.html.erb +20 -8
  68. data/app/views/admin/seo/_general.html.erb +36 -36
  69. data/app/views/admin/seo/_permalinks.html.erb +22 -14
  70. data/app/views/admin/seo/_titles.html.erb +63 -63
  71. data/app/views/admin/settings/display.html.erb +23 -23
  72. data/app/views/admin/settings/feedback.html.erb +29 -29
  73. data/app/views/admin/settings/index.html.erb +21 -21
  74. data/app/views/admin/settings/write.html.erb +18 -18
  75. data/app/views/admin/shared/_flash.html.erb +6 -0
  76. data/app/views/admin/shared/_menu.html.erb +56 -68
  77. data/app/views/admin/sidebar/_config.html.erb +15 -19
  78. data/app/views/admin/sidebar/_target.html.erb +3 -3
  79. data/app/views/admin/sidebar/_target_sidebar.html.erb +14 -13
  80. data/app/views/admin/sidebar/index.html.erb +2 -2
  81. data/app/views/admin/tags/_index_and_form.html.erb +3 -3
  82. data/app/views/admin/themes/index.html.erb +21 -19
  83. data/app/views/admin/users/_form.html.erb +79 -79
  84. data/app/views/articles/search.html.erb +1 -1
  85. data/app/views/layouts/accounts.html.erb +7 -9
  86. data/app/views/layouts/administration.html.erb +2 -2
  87. data/app/views/notes/show.html.erb +15 -0
  88. data/app/views/setup/index.html.erb +1 -1
  89. data/app/views/shared/_atom_item_article.atom.builder +1 -3
  90. data/app/views/shared/_rss_item_article.rss.builder +1 -2
  91. data/config/i18n-tasks.yml +0 -1
  92. data/config/locales/ar.yml +3 -2
  93. data/config/locales/da.yml +3 -2
  94. data/config/locales/de.yml +3 -2
  95. data/config/locales/en.yml +3 -2
  96. data/config/locales/es-MX.yml +3 -2
  97. data/config/locales/fr.yml +3 -2
  98. data/config/locales/he.yml +3 -2
  99. data/config/locales/it.yml +3 -2
  100. data/config/locales/ja.yml +3 -2
  101. data/config/locales/lt.yml +3 -2
  102. data/config/locales/nb.yml +3 -2
  103. data/config/locales/nl.yml +3 -2
  104. data/config/locales/pl.yml +3 -2
  105. data/config/locales/pt-BR.yml +3 -2
  106. data/config/locales/ro.yml +3 -2
  107. data/config/locales/ru.yml +3 -2
  108. data/config/locales/zh-CN.yml +3 -2
  109. data/config/locales/zh-TW.yml +3 -2
  110. data/config/routes.rb +0 -11
  111. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +2 -2
  112. data/db/migrate/20150807134129_simplify_redirect_relations.rb +1 -1
  113. data/db/migrate/20160605154632_remove_profiles.rb +1 -1
  114. data/db/migrate/20190208152646_move_text_filter_to_name.rb +2 -2
  115. data/lib/format.rb +2 -2
  116. data/lib/publify_core/engine.rb +10 -0
  117. data/lib/publify_core/string_ext.rb +1 -13
  118. data/lib/publify_core/testing_support/fixtures/like_plain.html +2 -0
  119. data/lib/publify_core/text_filter/markdown.rb +5 -1
  120. data/lib/publify_core/text_filter/markdown_smartquotes.rb +6 -1
  121. data/lib/publify_core/version.rb +1 -1
  122. data/lib/publify_core.rb +2 -2
  123. data/lib/text_filter_plugin.rb +20 -22
  124. data/lib/theme.rb +56 -37
  125. metadata +101 -397
  126. data/app/assets/javascripts/bootstrap/affix.js +0 -164
  127. data/app/assets/javascripts/bootstrap/alert.js +0 -95
  128. data/app/assets/javascripts/bootstrap/button.js +0 -125
  129. data/app/assets/javascripts/bootstrap/collapse.js +0 -212
  130. data/app/assets/javascripts/bootstrap/dropdown.js +0 -165
  131. data/app/assets/javascripts/bootstrap/modal.js +0 -358
  132. data/app/assets/javascripts/bootstrap/tab.js +0 -155
  133. data/app/assets/javascripts/bootstrap/transition.js +0 -59
  134. data/app/assets/javascripts/bootstrap-sprockets.js +0 -8
  135. data/app/assets/javascripts/lightbox.js +0 -350
  136. data/app/assets/stylesheets/_bootstrap-compass.scss +0 -9
  137. data/app/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  138. data/app/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  139. data/app/assets/stylesheets/_bootstrap.scss +0 -42
  140. data/app/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  141. data/app/assets/stylesheets/bootstrap/_button-groups.scss +0 -242
  142. data/app/assets/stylesheets/bootstrap/_buttons.scss +0 -168
  143. data/app/assets/stylesheets/bootstrap/_close.scss +0 -37
  144. data/app/assets/stylesheets/bootstrap/_code.scss +0 -69
  145. data/app/assets/stylesheets/bootstrap/_component-animations.scss +0 -38
  146. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +0 -213
  147. data/app/assets/stylesheets/bootstrap/_forms.scss +0 -586
  148. data/app/assets/stylesheets/bootstrap/_grid.scss +0 -94
  149. data/app/assets/stylesheets/bootstrap/_labels.scss +0 -66
  150. data/app/assets/stylesheets/bootstrap/_media.scss +0 -66
  151. data/app/assets/stylesheets/bootstrap/_mixins.scss +0 -37
  152. data/app/assets/stylesheets/bootstrap/_modals.scss +0 -150
  153. data/app/assets/stylesheets/bootstrap/_navbar.scss +0 -479
  154. data/app/assets/stylesheets/bootstrap/_navs.scss +0 -242
  155. data/app/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  156. data/app/assets/stylesheets/bootstrap/_pagination.scss +0 -86
  157. data/app/assets/stylesheets/bootstrap/_panels.scss +0 -222
  158. data/app/assets/stylesheets/bootstrap/_print.scss +0 -99
  159. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +0 -160
  160. data/app/assets/stylesheets/bootstrap/_tables.scss +0 -234
  161. data/app/assets/stylesheets/bootstrap/_theme.scss +0 -224
  162. data/app/assets/stylesheets/bootstrap/_type.scss +0 -296
  163. data/app/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  164. data/app/assets/stylesheets/bootstrap/_variables.scss +0 -638
  165. data/app/assets/stylesheets/bootstrap/_wells.scss +0 -29
  166. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -15
  167. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  168. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  169. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -56
  170. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  171. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  172. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -82
  173. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -56
  174. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  175. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  176. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  177. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +0 -28
  178. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  179. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  180. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  181. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -7
  182. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  183. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -20
  184. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  185. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  186. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -17
  187. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  188. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  189. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  190. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  191. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  192. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  193. data/app/assets/stylesheets/lightbox.css +0 -63
  194. data/app/controllers/theme_controller.rb +0 -63
  195. data/app/views/notes/show_in_reply.html.erb +0 -18
  196. data/app/views/theme/static_view_test.html.erb +0 -1
  197. data/lib/publify_core/text_filter/twitterfilter.rb +0 -55
  198. data/lib/tasks/manifest.rake +0 -30
  199. /data/app/views/layouts/{default.html.erb → application.html.erb} +0 -0
  200. /data/themes/plain/javascripts/{theme.js → plain/theme.js} +0 -0
  201. /data/themes/plain/stylesheets/{theme.css → plain/theme.css} +0 -0
@@ -4,7 +4,7 @@
4
4
  </h2>
5
5
  <% end %>
6
6
 
7
- <%= form_tag({ action: 'bulkops' }, { class: 'form-inline' }) do %>
7
+ <%= form_tag({ action: 'bulkops' }) do %>
8
8
 
9
9
  <%= hidden_field_tag 'article_id', @article.id %>
10
10
 
@@ -40,35 +40,35 @@
40
40
  </table>
41
41
  <% end %>
42
42
 
43
- <%= form_tag action: 'create' do %>
44
- <%= hidden_field_tag('article_id', @article.id) %>
45
- <fieldset class='form-horizontal'>
43
+ <%= form_with url: {action: 'create'}, local: true do |form| %>
44
+ <%= form.hidden_field :article_id, value: @article.id %>
45
+ <fieldset class='mb-4'>
46
46
  <legend><%= t('.add_a_comment') %></legend>
47
- <div class="form-group">
48
- <label for="comment_author" class='control-label col-sm-2'><%= t('.author') %></label>
49
- <div class='col-sm-5'>
47
+ <div class="form-group row">
48
+ <label for="comment_author" class='col-form-label col-md-2'><%= t('.author') %></label>
49
+ <div class="col-md-5">
50
50
  <%= text_field 'comment', 'author', class: 'form-control' %>
51
51
  </div>
52
52
  </div>
53
- <div class='form-group'>
54
- <label for="comment_email" class='control-label col-sm-2'><%= t('.email') %></label>
55
- <div class='col-sm-5'>
53
+ <div class="form-group row">
54
+ <label for="comment_email" class='col-form-label col-md-2'><%= t('.email') %></label>
55
+ <div class="col-md-5">
56
56
  <%= text_field 'comment', 'email', class: 'form-control' %>
57
57
  </div>
58
58
  </div>
59
- <div class='form-group'>
60
- <label for="comment_url" class='control-label col-sm-2'><%= t('.url') %></label>
61
- <div class='col-sm-5'>
59
+ <div class="form-group row">
60
+ <label for="comment_url" class='col-form-label col-md-2'><%= t('.url') %></label>
61
+ <div class="col-md-5">
62
62
  <%= text_field 'comment', 'url', class: 'form-control' %>
63
63
  </div>
64
64
  </div>
65
- <div class='form-group'>
66
- <label for='comment_body' class='control-label col-sm-2'><%= t('.your_comment') %></label>
67
- <div class='col-sm-5'>
65
+ <div class="form-group row">
66
+ <label for="comment_body" class='col-form-label col-md-2'><%= t('.your_comment') %></label>
67
+ <div class="col-md-5">
68
68
  <%= text_area 'comment', 'body', rows: '10', class: 'form-control' %>
69
69
  </div>
70
70
  </div>
71
- <div>
71
+ <div class="mt-3">
72
72
  <%= t('.action_or_other_html', first_action: link_to(t('.cancel'), action: 'index'), second_action: submit_tag(t('.save'), class: 'btn btn-primary')) %>
73
73
  </div>
74
74
  </fieldset>
@@ -21,39 +21,35 @@
21
21
 
22
22
  <%= hidden_field_tag 'article_id', @article.id %>
23
23
 
24
- <fieldset>
24
+ <fieldset class='mb-4'>
25
25
  <legend><%= t('.edit_a_comment') %></legend>
26
- <div class='row'>
27
- <div class="form-group col-md-4">
28
- <label for="comment_author" class='control-label'><%= t('.author') %></label>
26
+ <div class="form-group row">
27
+ <label for="comment_author" class='col-md-2 col-form-label'><%= t('.author') %></label>
28
+ <div class="col-md-5">
29
29
  <%= text_field 'comment', 'author', class: 'form-control' %>
30
30
  </div>
31
31
  </div>
32
- <div class='row'>
33
- <div class='form-group col-md-4'>
34
- <label for="comment_email" class='control-label'><%= t('.email') %></label>
35
- <%= text_field 'comment', 'email', class: 'form-control' %>
32
+ <div class="form-group row">
33
+ <label for="comment_email" class='col-md-2 col-form-label'><%= t('.email') %></label>
34
+ <div class="col-md-5">
35
+ <%= text_field 'comment', 'email', class: 'form-control' %>
36
36
  </div>
37
37
  </div>
38
- <div class='row'>
39
- <div class='form-group col-md-4'>
40
- <label for="comment_url" class='control-label'><%= t('.url') %></label>
38
+ <div class="form-group row">
39
+ <label for="comment_url" class='col-md-2 col-form-label'><%= t('.url') %></label>
40
+ <div class="col-md-5">
41
41
  <%= text_field 'comment', 'url', class: 'form-control' %>
42
42
  </div>
43
43
  </div>
44
- <div class='row'>
45
- <div class='form-group col-md-12'>
46
- <label for='comment_body' class='control-label'><%= t('.your_comment') %></label>
47
- <script type="text/javascript">edToolbar('comment_body', '<%= @comment.text_filter_name %>');</script>
44
+ <div class="form-group row">
45
+ <label for="comment_body" class='col-md-2 col-form-label'><%= t('.your_comment') %></label>
46
+ <script type="text/javascript">edToolbar('comment_body', '<%= @comment.text_filter_name %>');</script>
47
+ <div class="col">
48
48
  <%= text_area 'comment', 'body', rows: '10', class: 'form-control' %>
49
49
  </div>
50
50
  </div>
51
- <div class='row'>
52
- <div class='form-group col-md-12'>
53
- <hr>
54
- <%= t('.action_or_other_html', first_action: link_to(t('.cancel'), action: 'index'), second_action: submit_tag(t('.save'), class: 'btn btn-primary')) %>
55
- </div>
56
- </div>
51
+ <div class="mt-3">
52
+ <%= t('.action_or_other_html', first_action: link_to(t('.cancel'), action: 'index'), second_action: submit_tag(t('.save'), class: 'btn btn-primary')) %>
57
53
  </div>
58
54
  </fieldset>
59
55
  <% end %>
@@ -4,18 +4,18 @@
4
4
  </h2>
5
5
  <% end %>
6
6
 
7
- <%= form_tag({ action: 'index' }, { method: :get, class: 'form-inline' }) do %>
7
+ <%= form_tag({ action: 'index' }, { method: :get }) do %>
8
8
  <p>
9
- <%= link_to(t('.all'), { controller: 'admin/feedback', action: :index }, { class: 'label label-default' }) %>
10
- <%= link_to(t('.unapproved_comments'), { controller: 'admin/feedback', action: :index, only: 'unapproved' }, { class: 'label label-info' }) %>
11
- <%= link_to(t('.presumed_ham'), { controller: 'admin/feedback', action: :index, only: 'presumed_ham' }, { class: 'label label-primary' }) %>
12
- <%= link_to(t('.ham'), { controller: 'admin/feedback', action: :index, only: 'ham' }, { class: 'label label-success' }) %>
13
- <%= link_to(t('.presumed_spam'), { controller: 'admin/feedback', action: :index, only: 'presumed_spam' }, { class: 'label label-warning' }) %>
14
- <%= link_to(t('.spam'), { controller: 'admin/feedback', action: :index, only: 'spam' }, { class: 'label label-danger' }) %>
9
+ <%= link_to(t('.all'), { controller: 'admin/feedback', action: :index }, { class: 'badge text-bg-secondary' }) %>
10
+ <%= link_to(t('.unapproved_comments'), { controller: 'admin/feedback', action: :index, only: 'unapproved' }, { class: 'badge text-bg-info' }) %>
11
+ <%= link_to(t('.presumed_ham'), { controller: 'admin/feedback', action: :index, only: 'presumed_ham' }, { class: 'badge text-bg-primary' }) %>
12
+ <%= link_to(t('.ham'), { controller: 'admin/feedback', action: :index, only: 'ham' }, { class: 'badge text-bg-success' }) %>
13
+ <%= link_to(t('.presumed_spam'), { controller: 'admin/feedback', action: :index, only: 'presumed_spam' }, { class: 'badge text-bg-warning' }) %>
14
+ <%= link_to(t('.spam'), { controller: 'admin/feedback', action: :index, only: 'spam' }, { class: 'badge text-bg-danger' }) %>
15
15
  </p>
16
16
  <% end %>
17
17
 
18
- <%= form_tag({ action: 'bulkops' }, { class: 'form-inline' }) do %>
18
+ <%= form_tag({ action: 'bulkops' }) do %>
19
19
 
20
20
  <%= hidden_field_tag 'page', params[:page] %>
21
21
 
@@ -1,5 +1,5 @@
1
1
  <%= n.hidden_field :text_filter_name, value: current_user.text_filter_name %>
2
- <div class='form-group'>
2
+ <div class="mb-3">
3
3
  <%= n.text_area :body, class: 'form-control', rows: '7', placeholder: t('.compose_new_note') %>
4
4
  </div>
5
5
 
@@ -14,20 +14,20 @@
14
14
  <%= t('.posse_to_twitter') %>
15
15
  </label>
16
16
  </div>
17
- <div class="form-group">
17
+ <div class="mb-3">
18
18
  <label for="note_in_reply_to_status_id"><%= t('.in_reply_to') %></label>
19
19
  <%= n.text_field :in_reply_to_status_id, class: 'form-control', placeholder: t('.tweet_id_like') %>
20
20
  </div>
21
21
  <% end %>
22
- <div class='form-group'>
22
+ <div class="mb-3">
23
23
  <label for="note_permalink"><%= t('.permanent_link') %></label>
24
24
  <%= n.text_field :permalink, class: 'form-control' %>
25
25
  </div>
26
- <div class='form-group'>
26
+ <div class="mb-3">
27
27
  <label for='note_published_at'><%= t('.publish_at') %></label>
28
28
  <%= n.datetime_field :published_at, class: 'form-control' %>
29
29
  </div>
30
- <div class='form-group'>
30
+ <div class="mb-3">
31
31
  <hr>
32
32
  <%= link_to(t('.cancel'), action: 'index') %>
33
33
  <%= t('.or') %>
@@ -1,4 +1,4 @@
1
- <div class='col-md-8'>
1
+ <div class='col-lg-8'>
2
2
  <table class="table table-striped">
3
3
  <thead>
4
4
  <tr class='noborder'>
@@ -1,6 +1,6 @@
1
1
  <tr>
2
2
  <td>
3
- <%= h(note.body.strip_html.slice(0..140)) %>
3
+ <%= note.excerpt_text(140) %>
4
4
  </td>
5
5
  <td>
6
6
  <%= author_link(note) %><br>
@@ -5,7 +5,7 @@
5
5
  <% end %>
6
6
 
7
7
  <div class='row'>
8
- <div class='col-md-4'>
8
+ <div class='col-lg-4'>
9
9
  <%= form_for @note, url: admin_note_path(@note) do |n| %>
10
10
  <%= render 'form', n: n %>
11
11
  <% end %>
@@ -5,7 +5,7 @@
5
5
  <% end %>
6
6
 
7
7
  <div class='row'>
8
- <div class='col-md-4'>
8
+ <div class='col-lg-4'>
9
9
  <%= form_for @note, url: admin_notes_path do |n| %>
10
10
  <%= render 'form', n: n %>
11
11
  <% end %>
@@ -1,11 +1,11 @@
1
1
  <%= hidden_field_tag 'user_textfilter', current_user.text_filter_name %>
2
2
 
3
3
  <div class="row save-bar">
4
- <div class="col-md-8 col-md-offset-2">
5
- <div class="pull-right">
4
+ <div class="col-lg-8 offset-lg-2">
5
+ <div class="float-xs-right">
6
6
  <%= link_to(t('.cancel'), { action: 'index' }, { class: 'btn btn-default' }) %>
7
7
  <!-- Button trigger modal -->
8
- <button class="btn btn-success" data-toggle="modal" type="button" data-target="#publishOptions">
8
+ <button class="btn btn-success" data-bs-toggle="modal" type="button" data-bs-target="#publishOptions">
9
9
  <%= controller.action_name == 'new' ? t('.publish') : t('.save') %>
10
10
  </button>
11
11
  </div>
@@ -13,7 +13,7 @@
13
13
  </div>
14
14
 
15
15
  <div class="row">
16
- <div class="col-md-8 col-md-offset-2" id="error-message-page">
16
+ <div class="col-lg-8 offset-lg-2" id="error-message-page">
17
17
  <%= render 'shared/flash', flash: flash %>
18
18
  <% if @page.errors.any? %>
19
19
  <div id="error_explanation">
@@ -30,12 +30,12 @@
30
30
  </div>
31
31
 
32
32
  <div class="row">
33
- <div class="col-md-2" id="quicktags-block">
34
- <div id="quicktags" class="pull-right">
33
+ <div class="col-lg-2" id="quicktags-block">
34
+ <div id="quicktags" class="float-xs-right">
35
35
  <script type="text/javascript">edToolbar('page_body', '<%= @page.text_filter_name %>');</script>
36
36
  </div>
37
37
  </div>
38
- <div class="col-md-8">
38
+ <div class="col-lg-8">
39
39
  <%= text_field 'page', 'title', class: 'form-control', placeholder: t('.title') %>
40
40
  <div id="editor">
41
41
  <%= text_area('page', 'body', class: 'form-control ', style: 'height: 360px', rows: '20', placeholder: t('.type_your_post')) %>
@@ -56,7 +56,7 @@
56
56
  <div class="modal-body">
57
57
  <div class="well">
58
58
  <h4><%= t('.permanent_link') %></h4>
59
- <div class="form-group">
59
+ <div class="mb-3">
60
60
  <%= text_field 'page', 'name', class: 'form-control' %>
61
61
  </div>
62
62
  </div>
@@ -69,16 +69,14 @@
69
69
  <%= t('.status') %>: <strong><%= @page.state %></strong>
70
70
  <%= toggle_element('status') %>
71
71
  </p>
72
- <div id="status" class="collapse">
73
- <label for="page_published" class="checkbox">
74
- <%= check_box 'page', 'state', {}, 'published', '' %>
75
- <%= t('.online') %>
76
- </label>
77
- <p>
78
- <span class="btn btn-mini btn-default">
79
- <%= toggle_element 'status', 'OK' %>
80
- </span>
81
- </p>
72
+ <div id="status" class="collapse mb-3">
73
+ <div class="mb-3">
74
+ <label for="page_published" class="checkbox">
75
+ <%= check_box 'page', 'state', {}, 'published', '' %>
76
+ <%= t('.online') %>
77
+ </label>
78
+ </div>
79
+ <%= toggle_element 'status', 'OK', class: "btn btn-mini btn-secondary" %>
82
80
  </div>
83
81
  </div>
84
82
  <div class="control-group">
@@ -87,21 +85,19 @@
87
85
  <%= toggle_element 'text_filter' %>
88
86
  </p>
89
87
  <div id="text_filter" class="collapse">
90
- <select name="page[text_filter_name]" id="text_filter_name" class='form-control'>
91
- <%= options_for_select text_filter_options, @page.text_filter_name %>
92
- </select>
93
- <p>
94
- <span class="btn btn-mini btn-default">
95
- <%= toggle_element 'text_filter', 'OK' %>
96
- </span>
97
- </p>
88
+ <div class="mb-3">
89
+ <select name="page[text_filter_name]" id="text_filter_name" class='form-select'>
90
+ <%= options_for_select text_filter_options, @page.text_filter_name %>
91
+ </select>
92
+ </div>
93
+ <%= toggle_element 'status', 'OK', class: "btn btn-mini btn-secondary" %>
98
94
  </div>
99
95
  </div>
100
96
  </fieldset>
101
97
  </div>
102
98
  </div>
103
99
  <div class="modal-footer">
104
- <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
100
+ <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
105
101
  <%= submit_tag(t('.publish'), class: 'btn btn-success') %>
106
102
  </div>
107
103
  </div>
@@ -5,7 +5,7 @@
5
5
  <% end %>
6
6
 
7
7
  <div class='row'>
8
- <div class='col-md-4'>
8
+ <div class='col-lg-4'>
9
9
  <%= form_for([:admin, @post_type]) do |f| %>
10
10
 
11
11
  <% if @post_type.errors.any? %>
@@ -16,13 +16,13 @@
16
16
  </ul>
17
17
  <% end %>
18
18
 
19
- <div class="form-group">
19
+ <div class="mb-3">
20
20
  <%= f.text_field :name, class: 'form-control', placeholder: 'Name' %>
21
21
  </div>
22
- <div class="form-group">
22
+ <div class="mb-3">
23
23
  <%= f.text_area :description, rows: 5, class: 'form-control', placeholder: 'Description' %>
24
24
  </div>
25
- <div class="form-group">
25
+ <div class="mb-3">
26
26
  <hr>
27
27
  <%= link_to(t('.cancel'), action: 'index') %>
28
28
  <%= t('.or') %>
@@ -31,7 +31,7 @@
31
31
  <% end %>
32
32
  </div>
33
33
 
34
- <div class="col-md-8">
34
+ <div class="col-lg-8">
35
35
  <table class='table table-hover'>
36
36
  <thead>
37
37
  <tr class='noborder'>
@@ -5,7 +5,7 @@
5
5
  <% end %>
6
6
 
7
7
  <div class='row'>
8
- <div class='col-md-4'>
8
+ <div class='col-lg-4'>
9
9
  <%= form_for([:admin, @redirect]) do |f| %>
10
10
 
11
11
  <% if @redirect.errors.any? %>
@@ -34,7 +34,7 @@
34
34
  <% end %>
35
35
  </div>
36
36
 
37
- <div class='col-md-8'>
37
+ <div class='col-lg-8'>
38
38
  <table class="table table-hover">
39
39
  <thead>
40
40
  <tr class='noborder'>
@@ -7,14 +7,16 @@
7
7
  </p>
8
8
  <% end %>
9
9
 
10
- <%= form_tag({ action: 'upload' }, { enctype: 'multipart/form-data', class: 'form-inline' }) do %>
11
- <div class='well well-small'>
10
+ <%= form_tag({ action: 'upload' }, { enctype: 'multipart/form-data' }) do %>
11
+ <div class="card card-body">
12
12
  <h3><%= t('.upload_a_file_to_your_site') %></h3>
13
- <div class="form-group">
14
- <%= file_field_tag(:upload, class: 'input-file') %>
15
- </div>
16
- <div class="form-group">
17
- <%= submit_tag(t('.upload'), class: 'btn btn-success') %>
13
+ <div class="form-group row">
14
+ <div class="col-auto">
15
+ <%= file_field_tag(:upload, class: 'form-control') %>
16
+ </div>
17
+ <div class="col-auto">
18
+ <%= submit_tag(t('.upload'), class: 'btn btn-success') %>
19
+ </div>
18
20
  </div>
19
21
  </div>
20
22
  <% end %>
@@ -40,7 +42,7 @@
40
42
  <tr>
41
43
  <td>
42
44
  <% if resource.mime =~ /image/ %>
43
- <a href="<%= resource.upload.medium.url %>" data-toggle="lightbox">
45
+ <a href="#image-lightbox-modal" data-bs-imageurl="<%= resource.upload.medium.url %>" data-bs-toggle="modal">
44
46
  <%= image_tag(resource.upload.thumb.url) %>
45
47
  </a>
46
48
  <% else %>
@@ -68,3 +70,13 @@
68
70
  <% end %>
69
71
  <%= display_pagination(@resources, 6) %>
70
72
  </table>
73
+
74
+ <div class="modal fade" id="image-lightbox-modal" tabindex="-1">
75
+ <div class="modal-dialog">
76
+ <div class="modal-content">
77
+ <div class="modal-body">
78
+ <img class="img-fluid">
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
@@ -1,14 +1,14 @@
1
- <fieldset class='form-horizontal'>
1
+ <fieldset class='mb-4'>
2
2
  <legend><%= t('.general_settings') %></legend>
3
- <div class='form-group'>
4
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_meta_description"><%= t('.meta_description') %></label>
5
- <div class='col-sm-8 col-md-6 col-lg-4'>
3
+ <div class='form-group row'>
4
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_meta_description"><%= t('.meta_description') %></label>
5
+ <div class='col-md-8 col-lg-6 col-xl-4'>
6
6
  <%= text_area(:setting, :meta_description, rows: 3, class: 'form-control') %>
7
7
  </div>
8
8
  </div>
9
- <div class='form-group'>
10
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.use_meta_keywords') %></label>
11
- <div class='col-sm-8 col-md-6 col-lg-4'>
9
+ <div class='form-group row'>
10
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.use_meta_keywords') %></label>
11
+ <div class='col-md-8 col-lg-6 col-xl-4'>
12
12
  <div class='checkbox'>
13
13
  <label for="setting_use_meta_keyword">
14
14
  <%= check_box(:setting, :use_meta_keyword) %>
@@ -17,15 +17,15 @@
17
17
  </div>
18
18
  </div>
19
19
  </div>
20
- <div class='form-group'>
21
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.meta_keywords') %></label>
22
- <div class='col-sm-8 col-md-6 col-lg-4'>
20
+ <div class='form-group row'>
21
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.meta_keywords') %></label>
22
+ <div class='col-md-8 col-lg-6 col-xl-4'>
23
23
  <%= text_area(:setting, :meta_keywords, rows: 3, class: 'form-control') %>
24
24
  </div>
25
25
  </div>
26
- <div class='form-group'>
27
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.use_rss_description') %></label>
28
- <div class='col-sm-8 col-md-6 col-lg-4'>
26
+ <div class='form-group row'>
27
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.use_rss_description') %></label>
28
+ <div class='col-md-8 col-lg-6 col-xl-4'>
29
29
  <div class='checkbox'>
30
30
  <label for="setting_rss_description">
31
31
  <%= check_box(:setting, :rss_description) %>
@@ -36,20 +36,20 @@
36
36
  <%= Article.first&.rss_description %>
37
37
  </div>
38
38
  </div>
39
- <div class='form-group'>
40
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_rss_description_text"><%= t('.rss_description_message') %></label>
41
- <div class='col-sm-8 col-md-6 col-lg-4'>
39
+ <div class='form-group row'>
40
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_rss_description_text"><%= t('.rss_description_message') %></label>
41
+ <div class='col-md-8 col-lg-6 col-xl-4'>
42
42
  <%= text_area(:setting, :rss_description_text, rows: 10, class: 'form-control') %>
43
43
  <small class='help-block'><%= t('.explain_rss_description') %></small>
44
44
  </div>
45
45
  </div>
46
46
  </fieldset>
47
47
 
48
- <fieldset class='form-horizontal'>
48
+ <fieldset class='mb-4'>
49
49
  <legend><%= t('.indexing') %></legend>
50
- <div class='form-group'>
51
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.indexing') %></label>
52
- <div class='col-sm-8 col-md-6 col-lg-4'>
50
+ <div class='form-group row'>
51
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.indexing') %></label>
52
+ <div class='col-md-8 col-lg-6 col-xl-4'>
53
53
  <div class='checkbox'>
54
54
  <label for="setting_unindex_tags">
55
55
  <%= check_box(:setting, :unindex_tags) %>
@@ -59,16 +59,16 @@
59
59
  </div>
60
60
  </div>
61
61
  </div>
62
- <div class='form-group'>
63
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_robots"><%= t('.robots_txt') %></label>
64
- <div class='col-sm-8 col-md-6 col-lg-4'>
62
+ <div class='form-group row'>
63
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_robots"><%= t('.robots_txt') %></label>
64
+ <div class='col-md-8 col-lg-6 col-xl-4'>
65
65
  <%= text_area(:setting, :robots, rows: 10, class: 'form-control') %>
66
66
  </div>
67
67
  </div>
68
68
 
69
- <div class='form-group'>
70
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.dofollow') %></label>
71
- <div class='col-sm-8 col-md-6 col-lg-4'>
69
+ <div class='form-group row'>
70
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.dofollow') %></label>
71
+ <div class='col-md-8 col-lg-6 col-xl-4'>
72
72
  <div class='checkbox'>
73
73
  <label for="setting_dofollowify">
74
74
  <%= check_box(:setting, :dofollowify) %>
@@ -80,23 +80,23 @@
80
80
  </div>
81
81
  </fieldset>
82
82
 
83
- <fieldset class='form-horizontal'>
83
+ <fieldset class='mb-4'>
84
84
  <legend><%= t('.google') %></legend>
85
- <div class='form-group'>
86
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_google_analytics"><%= t('.google_analytics') %></label>
87
- <div class='col-sm-8 col-md-6 col-lg-4'>
85
+ <div class='form-group row'>
86
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_google_analytics"><%= t('.google_analytics') %></label>
87
+ <div class='col-md-8 col-lg-6 col-xl-4'>
88
88
  <%= text_field(:setting, :google_analytics, class: 'form-control') %>
89
89
  </div>
90
90
  </div>
91
- <div class='form-group'>
92
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_google_verification"><%= t('.google_webmaster_tools_validation_link') %></label>
93
- <div class='col-sm-8 col-md-6 col-lg-4'>
91
+ <div class='form-group row'>
92
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_google_verification"><%= t('.google_webmaster_tools_validation_link') %></label>
93
+ <div class='col-md-8 col-lg-6 col-xl-4'>
94
94
  <%= text_field(:setting, :google_verification, class: 'form-control') %>
95
95
  </div>
96
96
  </div>
97
- <div class='form-group'>
98
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_custom_tracking_field"><%= t('.custom_tracking_code') %></label>
99
- <div class='col-sm-8 col-md-6 col-lg-4'>
97
+ <div class='form-group row'>
98
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_custom_tracking_field"><%= t('.custom_tracking_code') %></label>
99
+ <div class='col-md-8 col-lg-6 col-xl-4'>
100
100
  <%= text_area(:setting, :custom_tracking_field, rows: 3, class: 'form-control') %>
101
101
  <small class='help-block'><%= t('.explain') %></small>
102
102
  </div>
@@ -3,29 +3,37 @@
3
3
  <p><%= t('.sample') %></p>
4
4
  </div>
5
5
 
6
- <div class='form-horizontal'>
7
- <div class='form-group'>
8
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.permalink_format') %></label>
9
- <div class='col-sm-8 col-md-6 col-lg-4'>
10
- <div class='radio'>
11
- <label for="setting_permalink_format_yearmonthdaytitle">
12
- <%= radio_button(:setting, :permalink_format, '/%year%/%month%/%day%/%title%') %>
6
+ <div class='mb-4'>
7
+ <div class='form-group row'>
8
+ <legend class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.permalink_format') %></legend>
9
+ <div class='col-md-8 col-lg-6 col-xl-4'>
10
+ <div class='form-check'>
11
+ <%= radio_button(:setting, :permalink_format, '/%year%/%month%/%day%/%title%', class: "form-check-input") %>
12
+ <label for="setting_permalink_format_yearmonthdaytitle" class="form-check-label">
13
13
  <%= t('.date_and_title') %>
14
14
  </label>
15
15
  <small class='help-block'><%= "#{this_blog.base_url}/#{Time.zone.now.strftime('%Y/%m/%d')}/sample-article" %></small>
16
- <label for="setting_permalink_format_yearmonthtitle">
17
- <%= radio_button(:setting, :permalink_format, '/%year%/%month%/%title%') %>
16
+ </div>
17
+ <div class='form-check'>
18
+ <%= radio_button(:setting, :permalink_format, '/%year%/%month%/%title%', class: "form-check-input") %>
19
+ <label for="setting_permalink_format_yearmonthtitle" class="form-check-label">
18
20
  <%= t('.month_and_title') %>
19
21
  </label>
20
22
  <small class='help-block'><%= "#{this_blog.base_url}/#{Time.zone.now.strftime('%Y/%m')}/sample-article" %></small>
21
- <label for="setting_permalink_format_title">
22
- <%= radio_button(:setting, :permalink_format, '/%title%') %> <%= t('.title_only') %>
23
+ </div>
24
+ <div class='form-check'>
25
+ <%= radio_button(:setting, :permalink_format, '/%title%', class: "form-check-input") %>
26
+ <label for="setting_permalink_format_title" class="form-check-label">
27
+ <%= t('.title_only') %>
23
28
  </label>
24
29
  <small class='help-block'><%= "#{this_blog.base_url}/sample-article" %></small>
25
- <label for="setting_permalink_format_custom">
26
- <%= radio_button(:setting, :permalink_format, 'custom') %> <%= t('.custom') %>
27
- <%= text_field(:setting, :custom_permalink, class: 'form-control') %>
30
+ </div>
31
+ <div class='form-check'>
32
+ <%= radio_button(:setting, :permalink_format, 'custom', class: "form-check-input") %>
33
+ <label for="setting_permalink_format_custom" class="form-check-label">
34
+ <%= t('.custom') %>
28
35
  </label>
36
+ <%= text_field(:setting, :custom_permalink, class: 'form-control') %>
29
37
  </div>
30
38
  </div>
31
39
  </div>