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
@@ -1,139 +1,139 @@
1
- <fieldset class='form-horizontal'>
1
+ <fieldset class='mb-4'>
2
2
  <legend><%= t('.home') %></legend>
3
- <div class='form-group'>
4
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_home_title_template"><%= t('.title_template') %></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_home_title_template"><%= t('.title_template') %></label>
5
+ <div class='col-md-8 col-lg-6 col-xl-4'>
6
6
  <%= text_field(:setting, :home_title_template, 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' for="setting_home_desc_template"><%= t('.description_template') %></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' for="setting_home_desc_template"><%= t('.description_template') %></label>
11
+ <div class='col-md-8 col-lg-6 col-xl-4'>
12
12
  <%= text_area(:setting, :home_desc_template, rows: 3, class: 'form-control') %>
13
13
  </div>
14
14
  </div>
15
15
  </fieldset>
16
- <fieldset class='form-horizontal'>
16
+ <fieldset class='mb-4'>
17
17
  <legend><%= t('.articles') %></legend>
18
- <div class='form-group'>
19
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_article_title_template"><%= t('.title_template') %></label>
20
- <div class='col-sm-8 col-md-6 col-lg-4'>
18
+ <div class='form-group row'>
19
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_article_title_template"><%= t('.title_template') %></label>
20
+ <div class='col-md-8 col-lg-6 col-xl-4'>
21
21
  <%= text_field(:setting, :article_title_template, class: 'form-control') %>
22
22
  </div>
23
23
  </div>
24
- <div class='form-group'>
25
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_article_desc_template"><%= t('.description_template') %></label>
26
- <div class='col-sm-8 col-md-6 col-lg-4'>
24
+ <div class='form-group row'>
25
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_article_desc_template"><%= t('.description_template') %></label>
26
+ <div class='col-md-8 col-lg-6 col-xl-4'>
27
27
  <%= text_area(:setting, :article_desc_template, rows: 3, class: 'form-control') %>
28
28
  </div>
29
29
  </div>
30
30
  </fieldset>
31
- <fieldset class='form-horizontal'>
31
+ <fieldset class='mb-4'>
32
32
  <legend><%= t('.pages') %></legend>
33
- <div class='form-group'>
34
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_page_title_template"><%= t('.title_template') %></label>
35
- <div class='col-sm-8 col-md-6 col-lg-4'>
33
+ <div class='form-group row'>
34
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_page_title_template"><%= t('.title_template') %></label>
35
+ <div class='col-md-8 col-lg-6 col-xl-4'>
36
36
  <%= text_field(:setting, :page_title_template, class: 'form-control') %>
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_page_desc_template"><%= t('.description_template') %></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_page_desc_template"><%= t('.description_template') %></label>
41
+ <div class='col-md-8 col-lg-6 col-xl-4'>
42
42
  <%= text_area(:setting, :page_desc_template, rows: 3, class: 'form-control') %>
43
43
  </div>
44
44
  </div>
45
45
  </fieldset>
46
46
 
47
- <fieldset class='form-horizontal'>
47
+ <fieldset class='mb-4'>
48
48
  <legend><%= t('.paginated_archives') %></legend>
49
- <div class='form-group'>
50
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_paginated_title_template"><%= t('.title_template') %></label>
51
- <div class='col-sm-8 col-md-6 col-lg-4'>
49
+ <div class='form-group row'>
50
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_paginated_title_template"><%= t('.title_template') %></label>
51
+ <div class='col-md-8 col-lg-6 col-xl-4'>
52
52
  <%= text_field(:setting, :paginated_title_template, class: 'form-control') %>
53
53
  </div>
54
54
  </div>
55
- <div class='form-group'>
56
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_paginated_desc_template"><%= t('.description_template') %></label>
57
- <div class='col-sm-8 col-md-6 col-lg-4'>
55
+ <div class='form-group row'>
56
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_paginated_desc_template"><%= t('.description_template') %></label>
57
+ <div class='col-md-8 col-lg-6 col-xl-4'>
58
58
  <%= text_area(:setting, :paginated_desc_template, rows: 3, class: 'form-control') %>
59
59
  </div>
60
60
  </div>
61
61
  </fieldset>
62
- <fieldset class='form-horizontal'>
62
+ <fieldset class='mb-4'>
63
63
  <legend><%= t('.dated_archives') %></legend>
64
- <div class='form-group'>
65
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_archives_title_template"><%= t('.title_template') %></label>
66
- <div class='col-sm-8 col-md-6 col-lg-4'>
64
+ <div class='form-group row'>
65
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_archives_title_template"><%= t('.title_template') %></label>
66
+ <div class='col-md-8 col-lg-6 col-xl-4'>
67
67
  <%= text_field(:setting, :archives_title_template, class: 'form-control') %>
68
68
  </div>
69
69
  </div>
70
- <div class='form-group'>
71
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_archives_desc_template"><%= t('.description_template') %></label>
72
- <div class='col-sm-8 col-md-6 col-lg-4'>
70
+ <div class='form-group row'>
71
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_archives_desc_template"><%= t('.description_template') %></label>
72
+ <div class='col-md-8 col-lg-6 col-xl-4'>
73
73
  <%= text_area(:setting, :archives_desc_template, rows: 3, class: 'form-control') %>
74
74
  </div>
75
75
  </div>
76
76
  </fieldset>
77
77
 
78
- <fieldset class='form-horizontal'>
78
+ <fieldset class='mb-4'>
79
79
  <legend><%= t('.author_page') %></legend>
80
- <div class='form-group'>
81
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_author_title_template"><%= t('.title_template') %></label>
82
- <div class='col-sm-8 col-md-6 col-lg-4'>
80
+ <div class='form-group row'>
81
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_author_title_template"><%= t('.title_template') %></label>
82
+ <div class='col-md-8 col-lg-6 col-xl-4'>
83
83
  <%= text_field(:setting, :author_title_template, class: 'form-control') %>
84
84
  </div>
85
85
  </div>
86
- <div class='form-group'>
87
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_author_desc_template"><%= t('.description_template') %></label>
88
- <div class='col-sm-8 col-md-6 col-lg-4'>
86
+ <div class='form-group row'>
87
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_author_desc_template"><%= t('.description_template') %></label>
88
+ <div class='col-md-8 col-lg-6 col-xl-4'>
89
89
  <%= text_area(:setting, :author_desc_template, rows: 3, class: 'form-control') %>
90
90
  </div>
91
91
  </div>
92
92
  </fieldset>
93
93
 
94
- <fieldset class='form-horizontal'>
94
+ <fieldset class='mb-4'>
95
95
  <legend><%= t('.search_results') %></legend>
96
- <div class='form-group'>
97
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_search_title_template"><%= t('.title_template') %></label>
98
- <div class='col-sm-8 col-md-6 col-lg-4'>
96
+ <div class='form-group row'>
97
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_search_title_template"><%= t('.title_template') %></label>
98
+ <div class='col-md-8 col-lg-6 col-xl-4'>
99
99
  <%= text_field(:setting, :search_title_template, class: 'form-control') %>
100
100
  </div>
101
101
  </div>
102
- <div class='form-group'>
103
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_search_desc_template"><%= t('.description_template') %></label>
104
- <div class='col-sm-8 col-md-6 col-lg-4'>
102
+ <div class='form-group row'>
103
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_search_desc_template"><%= t('.description_template') %></label>
104
+ <div class='col-md-8 col-lg-6 col-xl-4'>
105
105
  <%= text_area(:setting, :search_desc_template, rows: 3, class: 'form-control') %>
106
106
  </div>
107
107
  </div>
108
108
  </fieldset>
109
109
 
110
- <fieldset class='form-horizontal'>
110
+ <fieldset class='mb-4'>
111
111
  <legend><%= t('.short_statuses_lists') %></legend>
112
- <div class='form-group'>
113
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_statuses_title_template"><%= t('.title_template') %></label>
114
- <div class='col-sm-8 col-md-6 col-lg-4'>
112
+ <div class='form-group row'>
113
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_statuses_title_template"><%= t('.title_template') %></label>
114
+ <div class='col-md-8 col-lg-6 col-xl-4'>
115
115
  <%= text_field(:setting, :statuses_title_template, class: 'form-control') %>
116
116
  </div>
117
117
  </div>
118
- <div class='form-group'>
119
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_statuses_desc_template"><%= t('.description_template') %></label>
120
- <div class='col-sm-8 col-md-6 col-lg-4'>
118
+ <div class='form-group row'>
119
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_statuses_desc_template"><%= t('.description_template') %></label>
120
+ <div class='col-md-8 col-lg-6 col-xl-4'>
121
121
  <%= text_area(:setting, :statuses_desc_template, rows: 3, class: 'form-control') %>
122
122
  </div>
123
123
  </div>
124
124
  </fieldset>
125
125
 
126
- <fieldset class='form-horizontal'>
126
+ <fieldset class='mb-4'>
127
127
  <legend><%= t('.short_statuses') %></legend>
128
- <div class='form-group'>
129
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_status_title_template"><%= t('.title_template') %></label>
130
- <div class='col-sm-8 col-md-6 col-lg-4'>
128
+ <div class='form-group row'>
129
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_status_title_template"><%= t('.title_template') %></label>
130
+ <div class='col-md-8 col-lg-6 col-xl-4'>
131
131
  <%= text_field(:setting, :status_title_template, class: 'form-control') %>
132
132
  </div>
133
133
  </div>
134
- <div class='form-group'>
135
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_status_desc_template"><%= t('.description_template') %></label>
136
- <div class='col-sm-8 col-md-6 col-lg-4'>
134
+ <div class='form-group row'>
135
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_status_desc_template"><%= t('.description_template') %></label>
136
+ <div class='col-md-8 col-lg-6 col-xl-4'>
137
137
  <%= text_area(:setting, :status_desc_template, rows: 3, class: 'form-control') %>
138
138
  </div>
139
139
  </div>
@@ -6,10 +6,10 @@
6
6
 
7
7
  <%= form_tag action: 'update' do %>
8
8
 
9
- <fieldset class='form-horizontal'>
9
+ <fieldset class='mb-4'>
10
10
  <legend><%= t('.publishing_options') %></legend>
11
- <div class='form-group'>
12
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_limit_article_display"><%= t('.display') %> </label>
11
+ <div class='form-group row'>
12
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_limit_article_display"><%= t('.display') %> </label>
13
13
  <div class='col-sm-2 col-md-1'>
14
14
  <%= text_field(:setting, :limit_article_display, size: 4, class: 'form-control') %>
15
15
  </div>
@@ -17,8 +17,8 @@
17
17
  <span class='help-block'><%= t('.default_article_show') %></span>
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' for="setting_limit_archives_display"><%= t('.display') %> </label>
20
+ <div class='form-group row'>
21
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_limit_archives_display"><%= t('.display') %> </label>
22
22
  <div class='col-sm-2 col-md-1'>
23
23
  <%= text_field(:setting, :limit_archives_display, size: 4, class: 'form-control') %>
24
24
  </div>
@@ -26,9 +26,9 @@
26
26
  <span class='help-block'><%= t('.default_archives_show') %></span>
27
27
  </div>
28
28
  </div>
29
- <div class='form-group'>
30
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.statuses') %></label>
31
- <div class='col-sm-8 col-md-6 col-lg-4'>
29
+ <div class='form-group row'>
30
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.statuses') %></label>
31
+ <div class='col-md-8 col-lg-6 col-xl-4'>
32
32
  <div class='checkbox'>
33
33
  <label>
34
34
  <%= check_box(:setting, :statuses_in_timeline) %>
@@ -37,9 +37,9 @@
37
37
  </div>
38
38
  </div>
39
39
  </div>
40
- <div class='form-group'>
41
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.date_format') %></label>
42
- <div class='col-sm-8 col-md-6 col-lg-4'>
40
+ <div class='form-group row'>
41
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.date_format') %></label>
42
+ <div class='col-md-8 col-lg-6 col-xl-4'>
43
43
  <%= select(:setting, :date_format,
44
44
  Time.zone.now.strftime('%d/%m/%Y') => '%d/%m/%Y',
45
45
  Time.zone.now.strftime('%m/%d/%Y') => '%m/%d/%Y',
@@ -49,28 +49,28 @@
49
49
  distance_of_time_in_words(Time.zone.now, 2.days.ago) => 'setting_date_format_distance_of_time_in_words') %>
50
50
  </div>
51
51
  </div>
52
- <div class='form-group'>
53
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.time_format') %></label>
54
- <div class='col-sm-8 col-md-6 col-lg-4'>
52
+ <div class='form-group row'>
53
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.time_format') %></label>
54
+ <div class='col-md-8 col-lg-6 col-xl-4'>
55
55
  <%= select(:setting, :time_format,
56
56
  Time.zone.now.strftime('%Hh%M') => '%Hh%M',
57
57
  Time.zone.now.strftime('%H:%M') => '%H:%M',
58
58
  Time.zone.now.strftime('%I:%M%p') => '%I:%M%p') %>
59
59
  </div>
60
60
  </div>
61
- <div class='form-group'>
62
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_custom_url_shortener"><%= t('.custom_url') %></label>
63
- <div class='col-sm-8 col-md-6 col-lg-4'>
61
+ <div class='form-group row'>
62
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_custom_url_shortener"><%= t('.custom_url') %></label>
63
+ <div class='col-md-8 col-lg-6 col-xl-4'>
64
64
  <%= text_field(:setting, :custom_url_shortener, class: 'form-control') %>
65
65
  <small class='help block'><%= t('.custom_url_help') %></small>
66
66
  </div>
67
67
  </div>
68
68
  </fieldset>
69
69
 
70
- <fieldset class='form-horizontal'>
70
+ <fieldset class='mb-4'>
71
71
  <legend><%= t('.feed_settings') %></legend>
72
- <div class='form-group'>
73
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_limit_rss_display"><%= t('.display') %> </label>
72
+ <div class='form-group row'>
73
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_limit_rss_display"><%= t('.display') %> </label>
74
74
  <div class='col-sm-2 col-md-1'>
75
75
  <%= text_field(:setting, :limit_rss_display, size: 4, class: 'form-control') %>
76
76
  </div>
@@ -78,9 +78,9 @@
78
78
  <span class='help-block'><%= t('.default_feed_show') %></span>
79
79
  </div>
80
80
  </div>
81
- <div class='form-group'>
82
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.feed_articles') %></label>
83
- <div class='col-sm-8 col-md-6 col-lg-4'>
81
+ <div class='form-group row'>
82
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.feed_articles') %></label>
83
+ <div class='col-md-8 col-lg-6 col-xl-4'>
84
84
  <div class='checkbox'>
85
85
  <label for="setting_hide_extended_on_rss">
86
86
  <%= check_box(:setting, :hide_extended_on_rss) %>
@@ -5,11 +5,11 @@
5
5
  <% end %>
6
6
 
7
7
  <%= form_tag action: 'update' do %>
8
- <fieldset class='form-horizontal'>
8
+ <fieldset class='mb-4'>
9
9
  <legend><%= t('.feedback') %></legend>
10
- <div class='form-group'>
11
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.comments') %></label>
12
- <div class='col-sm-8 col-md-6 col-lg-4'>
10
+ <div class='form-group row'>
11
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.comments') %></label>
12
+ <div class='col-md-8 col-lg-6 col-xl-4'>
13
13
  <div class='checkbox'>
14
14
  <label for="setting_default_allow_comments">
15
15
  <%= check_box(:setting, :default_allow_comments) %>
@@ -25,29 +25,29 @@
25
25
  </div>
26
26
  </div>
27
27
  </div>
28
- <div class='form-group'>
29
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="comment_text_filter"><%= t('.comments_filter') %></label>
30
- <div class='col-sm-8 col-md-6 col-lg-4'>
31
- <select name="setting[comment_text_filter]" id="comment_text_filter" class='form-control'>
28
+ <div class='form-group row'>
29
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="comment_text_filter"><%= t('.comments_filter') %></label>
30
+ <div class='col-md-8 col-lg-6 col-xl-4'>
31
+ <select name="setting[comment_text_filter]" id="comment_text_filter" class='form-select'>
32
32
  <%= options_for_select text_filter_options, this_blog.comment_text_filter %>
33
33
  </select>
34
34
  </div>
35
35
  </div>
36
- <div class='form-group'>
37
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_plugin_avatar"><%= t('.avatars_provider') %></label>
38
- <div class='col-sm-8 col-md-6 col-lg-4'>
39
- <select name="setting[plugin_avatar]" id="setting_plugin_avatar" class='form-control'>
36
+ <div class='form-group row'>
37
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_plugin_avatar"><%= t('.avatars_provider') %></label>
38
+ <div class='col-md-8 col-lg-6 col-xl-4'>
39
+ <select name="setting[plugin_avatar]" id="setting_plugin_avatar" class='form-select'>
40
40
  <%= options_for_select plugin_options(:avatar).push([t('.none'), '']), this_blog.plugin_avatar %>
41
41
  </select>
42
42
  </div>
43
43
  </div>
44
44
  </fieldset>
45
45
 
46
- <fieldset class='form-horizontal'>
46
+ <fieldset class='mb-4'>
47
47
  <legend><%= t('.spam') %></legend>
48
- <div class='form-group'>
49
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.spam_protection') %></label>
50
- <div class='col-sm-8 col-md-6 col-lg-4'>
48
+ <div class='form-group row'>
49
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.spam_protection') %></label>
50
+ <div class='col-md-8 col-lg-6 col-xl-4'>
51
51
  <div class='checkbox'>
52
52
  <label for="setting_sp_global">
53
53
  <%= check_box(:setting, :sp_global) %>
@@ -57,16 +57,16 @@
57
57
  </div>
58
58
  </div>
59
59
  </div>
60
- <div class='form-group'>
61
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_sp_akismet_key"><%= t('.askimet_key') %></label>
62
- <div class='col-sm-8 col-md-6 col-lg-4'>
60
+ <div class='form-group row'>
61
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_sp_akismet_key"><%= t('.askimet_key') %></label>
62
+ <div class='col-md-8 col-lg-6 col-xl-4'>
63
63
  <%= text_field(:setting, :sp_akismet_key, class: 'form-control') %>
64
64
  <small class='help-block'><%= t('.explain_spamfiltering_html') %>.</small>
65
65
  </div>
66
66
  </div>
67
- <div class='form-group'>
68
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_sp_article_auto_close"><%= t('.disable_comments_after') %></label>
69
- <div class='col-sm-8 col-md-6 col-lg-4'>
67
+ <div class='form-group row'>
68
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_sp_article_auto_close"><%= t('.disable_comments_after') %></label>
69
+ <div class='col-md-8 col-lg-6 col-xl-4'>
70
70
  <div class="row">
71
71
  <div class='col-sm-3 col-md-2 col-lg-3'>
72
72
  <%= text_field(:setting, :sp_article_auto_close, size: 4, class: 'form-control') %>
@@ -80,11 +80,11 @@
80
80
  </div>
81
81
  </div>
82
82
  </div>
83
- <div class='form-group'>
84
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_sp_url_limit"><%= t('.max_links') %></label>
85
- <div class='col-sm-8 col-md-6 col-lg-4'>
83
+ <div class='form-group row'>
84
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_sp_url_limit"><%= t('.max_links') %></label>
85
+ <div class='col-md-8 col-lg-6 col-xl-4'>
86
86
  <div class="row">
87
- <div class='col-sm-3 col-md-2 col-lg-3'>
87
+ <div class='col-md-3 col-lg-2 col-xl-3'>
88
88
  <%= text_field(:setting, :sp_url_limit, size: 4, class: 'form-control') %>
89
89
  </div>
90
90
  <div class='col-sm-12'>
@@ -93,9 +93,9 @@
93
93
  </div>
94
94
  </div>
95
95
  </div>
96
- <div class='form-group'>
97
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.captcha') %></label>
98
- <div class='col-sm-8 col-md-6 col-lg-4'>
96
+ <div class='form-group row'>
97
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.captcha') %></label>
98
+ <div class='col-md-8 col-lg-6 col-xl-4'>
99
99
  <div class='checkbox'>
100
100
  <label for="setting_use_recaptcha">
101
101
  <%= check_box(:setting, :use_recaptcha) %>
@@ -6,38 +6,38 @@
6
6
 
7
7
  <%= form_tag action: 'update' do %>
8
8
 
9
- <fieldset class='form-horizontal'>
9
+ <fieldset class='mb-4'>
10
10
  <legend><%= t('.your_blog') %></legend>
11
- <div class='form-group'>
12
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_blog_name"><%= t('.blog_name') %></label>
13
- <div class='col-sm-8 col-md-6 col-lg-4'>
11
+ <div class='form-group row'>
12
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_blog_name"><%= t('.blog_name') %></label>
13
+ <div class='col-md-8 col-lg-6 col-xl-4'>
14
14
  <%= text_field(:setting, :blog_name, class: 'form-control', size: this_blog.blog_name.length) %>
15
15
  </div>
16
16
  </div>
17
- <div class='form-group'>
18
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_blog_subtitle"><%= t('.blog_subtitle') %></label>
19
- <div class='col-sm-8 col-md-6 col-lg-4'>
17
+ <div class='form-group row'>
18
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_blog_subtitle"><%= t('.blog_subtitle') %></label>
19
+ <div class='col-md-8 col-lg-6 col-xl-4'>
20
20
  <%= text_field(:setting, :blog_subtitle, class: 'form-control', size: this_blog.blog_subtitle.length) %>
21
21
  </div>
22
22
  </div>
23
- <div class='form-group'>
24
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_base_url"><%= t('.blog_url') %></label>
25
- <div class='col-sm-8 col-md-6 col-lg-4'>
23
+ <div class='form-group row'>
24
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_base_url"><%= t('.blog_url') %></label>
25
+ <div class='col-md-8 col-lg-6 col-xl-4'>
26
26
  <%= text_field(:setting, :base_url, size: this_blog.base_url.length, class: 'form-control') %>
27
27
  </div>
28
28
  </div>
29
- <div class='form-group'>
30
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_lang"><%= t('.language') %></label>
31
- <div class='col-sm-8 col-md-6 col-lg-4'>
32
- <select name="setting[lang]" id='setting_lang' class='form-control'>
29
+ <div class='form-group row'>
30
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_lang"><%= t('.language') %></label>
31
+ <div class='col-md-8 col-lg-6 col-xl-4'>
32
+ <select name="setting[lang]" id='setting_lang' class='form-select'>
33
33
  <% langs = Hash[PublifyCore::Lang::LIST.map { |l| [t("langs.#{l}"), l] }] %>
34
34
  <%= options_for_select(langs, this_blog.lang) %>
35
35
  </select>
36
36
  </div>
37
37
  </div>
38
- <div class='form-group'>
39
- <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t('.users') %></label>
40
- <div class="col-sm-8 col-md-6 col-lg-4">
38
+ <div class='form-group row'>
39
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2'><%= t('.users') %></label>
40
+ <div class="col-lg-8 col-xl-6 col-xl-4">
41
41
  <div class='checkbox'>
42
42
  <label for="setting_allow_signup">
43
43
  <%= check_box(:setting, :allow_signup) %>
@@ -47,16 +47,16 @@
47
47
  <small class='help-block'><%= t('.explain_allow_users_to_register_html') %></small>
48
48
  </div>
49
49
  </div>
50
- <div class='form-group'>
51
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_email_from"><%= t('.source_email') %></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' for="setting_email_from"><%= t('.source_email') %></label>
52
+ <div class='col-md-8 col-lg-6 col-xl-4'>
53
53
  <%= text_field(:setting, :email_from, class: 'form-control') %>
54
54
  <small class='help-block'><%= t('.email_address_used_to_notify') %></small>
55
55
  </div>
56
56
  </div>
57
57
  <div class='form-group'>
58
58
  <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_admin_display_elements"><%= t('.items_to_display_in_admin_lists') %></label>
59
- <div class="col-sm-2 col-md-1">
59
+ <div class="col-lg-2 col-xl-1">
60
60
  <%= text_field(:setting, :admin_display_elements, size: 4, class: 'form-control') %>
61
61
  </div>
62
62
  </div>
@@ -6,53 +6,53 @@
6
6
 
7
7
  <%= form_tag action: 'update' do %>
8
8
 
9
- <fieldset class='form-horizontal'>
9
+ <fieldset class='mb-4'>
10
10
  <legend><%= t('.publish') %></legend>
11
- <div class='form-group'>
12
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_geourl_location"><%= t('.latitude_longitude') %></label>
13
- <div class='col-sm-8 col-md-6 col-lg-4'>
11
+ <div class='form-group row'>
12
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_geourl_location"><%= t('.latitude_longitude') %></label>
13
+ <div class='col-md-8 col-lg-6 col-xl-4'>
14
14
  <%= text_field(:setting, :geourl_location, class: 'form-control') %>
15
15
  <small class='help-block'><%= t('.display') %> <a href="http://geourl.org"><%= t('.your_geoloc') %></a> (<%= t('.example') %>: <tt>47.774,-122.201</tt>)</small>
16
16
  </div>
17
17
  </div>
18
18
  </fieldset>
19
19
 
20
- <fieldset class='form-horizontal'>
20
+ <fieldset class='mb-4'>
21
21
  <legend><%= t('.media') %></legend>
22
- <div class='form-group'>
23
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_image_thumb_size"><%= t('.image_thumbnail_size') %></label>
22
+ <div class='form-group row'>
23
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_image_thumb_size"><%= t('.image_thumbnail_size') %></label>
24
24
  <div class='col-sm-2 col-md-1'>
25
25
  <%= text_field(:setting, :image_thumb_size, class: 'form-control') %>
26
26
  </div>
27
27
  </div>
28
- <div class='form-group'>
29
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_image_medium_size"><%= t('.image_medium_size') %></label>
28
+ <div class='form-group row'>
29
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_image_medium_size"><%= t('.image_medium_size') %></label>
30
30
  <div class='col-sm-2 col-md-1'>
31
31
  <%= text_field(:setting, :image_medium_size, class: 'form-control') %>
32
32
  </div>
33
33
  </div>
34
- <div class='form-group'>
35
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="image_avatar_size"><%= t('.avatar_size') %></label>
34
+ <div class='form-group row'>
35
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="image_avatar_size"><%= t('.avatar_size') %></label>
36
36
  <div class='col-sm-2 col-md-1'>
37
37
  <%= text_field(:setting, :image_avatar_size, class: 'form-control') %>
38
38
  </div>
39
39
  </div>
40
40
  </fieldset>
41
41
 
42
- <fieldset class='form-horizontal'>
42
+ <fieldset class='mb-4'>
43
43
  <legend><%= t('.publish_on_twitter') %></legend>
44
44
  <% unless twitter_available?(this_blog, current_user) %>
45
45
  <%= render 'admin/shared/twitter_alert' %>
46
46
  <% end %>
47
- <div class='form-group'>
48
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_twitter_consumer_key"><%= t('.twitter_consumer_key') %></label>
49
- <div class='col-sm-8 col-md-6 col-lg-4'>
47
+ <div class='form-group row'>
48
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_twitter_consumer_key"><%= t('.twitter_consumer_key') %></label>
49
+ <div class='col-md-8 col-lg-6 col-xl-4'>
50
50
  <%= text_field(:setting, :twitter_consumer_key, class: 'form-control') %>
51
51
  </div>
52
52
  </div>
53
- <div class='form-group'>
54
- <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_twitter_consumer_secret"><%= t('.twitter_consumer_secret') %></label>
55
- <div class='col-sm-8 col-md-6 col-lg-4'>
53
+ <div class='form-group row'>
54
+ <label class='col-form-label col-md-4 col-lg-3 col-xl-2' for="setting_twitter_consumer_secret"><%= t('.twitter_consumer_secret') %></label>
55
+ <div class='col-md-8 col-lg-6 col-xl-4'>
56
56
  <%= text_field(:setting, :twitter_consumer_secret, class: 'form-control') %>
57
57
  </div>
58
58
  </div>
@@ -0,0 +1,6 @@
1
+ <% flash.each do |alert_level, message| %>
2
+ <div id="flash" class="alert alert-dismissible fade show alert-<%= flash[:error] ? "danger" : "success" %>">
3
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
4
+ <%= message %>
5
+ </div>
6
+ <% end %>