publify_core 10.0.4 → 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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +243 -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 +1 -0
  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/text_filter/markdown.rb +5 -1
  119. data/lib/publify_core/text_filter/markdown_smartquotes.rb +6 -1
  120. data/lib/publify_core/version.rb +1 -1
  121. data/lib/publify_core.rb +2 -2
  122. data/lib/text_filter_plugin.rb +20 -22
  123. data/lib/theme.rb +56 -37
  124. metadata +100 -397
  125. data/app/assets/javascripts/bootstrap/affix.js +0 -164
  126. data/app/assets/javascripts/bootstrap/alert.js +0 -95
  127. data/app/assets/javascripts/bootstrap/button.js +0 -125
  128. data/app/assets/javascripts/bootstrap/collapse.js +0 -212
  129. data/app/assets/javascripts/bootstrap/dropdown.js +0 -165
  130. data/app/assets/javascripts/bootstrap/modal.js +0 -358
  131. data/app/assets/javascripts/bootstrap/tab.js +0 -155
  132. data/app/assets/javascripts/bootstrap/transition.js +0 -59
  133. data/app/assets/javascripts/bootstrap-sprockets.js +0 -8
  134. data/app/assets/javascripts/lightbox.js +0 -350
  135. data/app/assets/stylesheets/_bootstrap-compass.scss +0 -9
  136. data/app/assets/stylesheets/_bootstrap-mincer.scss +0 -19
  137. data/app/assets/stylesheets/_bootstrap-sprockets.scss +0 -9
  138. data/app/assets/stylesheets/_bootstrap.scss +0 -42
  139. data/app/assets/stylesheets/bootstrap/_alerts.scss +0 -73
  140. data/app/assets/stylesheets/bootstrap/_button-groups.scss +0 -242
  141. data/app/assets/stylesheets/bootstrap/_buttons.scss +0 -168
  142. data/app/assets/stylesheets/bootstrap/_close.scss +0 -37
  143. data/app/assets/stylesheets/bootstrap/_code.scss +0 -69
  144. data/app/assets/stylesheets/bootstrap/_component-animations.scss +0 -38
  145. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +0 -213
  146. data/app/assets/stylesheets/bootstrap/_forms.scss +0 -586
  147. data/app/assets/stylesheets/bootstrap/_grid.scss +0 -94
  148. data/app/assets/stylesheets/bootstrap/_labels.scss +0 -66
  149. data/app/assets/stylesheets/bootstrap/_media.scss +0 -66
  150. data/app/assets/stylesheets/bootstrap/_mixins.scss +0 -37
  151. data/app/assets/stylesheets/bootstrap/_modals.scss +0 -150
  152. data/app/assets/stylesheets/bootstrap/_navbar.scss +0 -479
  153. data/app/assets/stylesheets/bootstrap/_navs.scss +0 -242
  154. data/app/assets/stylesheets/bootstrap/_normalize.scss +0 -427
  155. data/app/assets/stylesheets/bootstrap/_pagination.scss +0 -86
  156. data/app/assets/stylesheets/bootstrap/_panels.scss +0 -222
  157. data/app/assets/stylesheets/bootstrap/_print.scss +0 -99
  158. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +0 -160
  159. data/app/assets/stylesheets/bootstrap/_tables.scss +0 -234
  160. data/app/assets/stylesheets/bootstrap/_theme.scss +0 -224
  161. data/app/assets/stylesheets/bootstrap/_type.scss +0 -296
  162. data/app/assets/stylesheets/bootstrap/_utilities.scss +0 -55
  163. data/app/assets/stylesheets/bootstrap/_variables.scss +0 -638
  164. data/app/assets/stylesheets/bootstrap/_wells.scss +0 -29
  165. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +0 -15
  166. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  167. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  168. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -56
  169. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  170. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  171. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -82
  172. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -56
  173. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  174. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  175. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  176. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +0 -28
  177. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  178. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  179. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  180. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +0 -7
  181. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  182. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +0 -20
  183. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  184. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  185. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -17
  186. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +0 -10
  187. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  188. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  189. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  190. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  191. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  192. data/app/assets/stylesheets/lightbox.css +0 -63
  193. data/app/controllers/theme_controller.rb +0 -63
  194. data/app/views/notes/show_in_reply.html.erb +0 -18
  195. data/app/views/theme/static_view_test.html.erb +0 -1
  196. data/lib/publify_core/text_filter/twitterfilter.rb +0 -55
  197. data/lib/tasks/manifest.rake +0 -30
  198. /data/app/views/layouts/{default.html.erb → application.html.erb} +0 -0
  199. /data/themes/plain/javascripts/{theme.js → plain/theme.js} +0 -0
  200. /data/themes/plain/stylesheets/{theme.css → plain/theme.css} +0 -0
@@ -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>