publify_core 9.0.0.pre6 → 9.0.0

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

Potentially problematic release.


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

Files changed (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +44 -0
  3. data/README.md +9 -0
  4. data/app/controllers/admin/base_controller.rb +0 -6
  5. data/app/controllers/admin/content_controller.rb +34 -15
  6. data/app/controllers/admin/dashboard_controller.rb +4 -9
  7. data/app/controllers/admin/feedback_controller.rb +1 -0
  8. data/app/controllers/admin/notes_controller.rb +1 -1
  9. data/app/controllers/admin/pages_controller.rb +3 -7
  10. data/app/controllers/admin/sidebar_controller.rb +1 -0
  11. data/app/controllers/admin/tags_controller.rb +1 -0
  12. data/app/controllers/articles_controller.rb +50 -55
  13. data/app/controllers/comments_controller.rb +2 -3
  14. data/app/controllers/content_controller.rb +8 -17
  15. data/app/controllers/feedback_controller.rb +5 -39
  16. data/app/controllers/notes_controller.rb +1 -3
  17. data/app/controllers/setup_controller.rb +14 -18
  18. data/app/controllers/tags_controller.rb +13 -15
  19. data/app/controllers/theme_controller.rb +7 -5
  20. data/app/controllers/xml_controller.rb +11 -59
  21. data/app/helpers/authors_helper.rb +2 -2
  22. data/app/helpers/base_helper.rb +11 -4
  23. data/app/helpers/xml_helper.rb +2 -2
  24. data/app/jobs/application_job.rb +2 -0
  25. data/app/models/archives_sidebar.rb +8 -11
  26. data/app/models/article.rb +53 -72
  27. data/app/models/article/factory.rb +1 -1
  28. data/app/models/blog.rb +17 -40
  29. data/app/models/comment.rb +4 -3
  30. data/app/models/content.rb +18 -21
  31. data/app/models/content_base.rb +0 -5
  32. data/app/models/feedback.rb +76 -54
  33. data/app/models/meta_sidebar.rb +1 -0
  34. data/app/models/note.rb +7 -0
  35. data/app/models/page.rb +10 -5
  36. data/app/models/ping.rb +0 -113
  37. data/app/models/post_type.rb +1 -0
  38. data/app/models/redirect.rb +1 -1
  39. data/app/models/resource.rb +1 -19
  40. data/app/models/sidebar.rb +1 -1
  41. data/app/models/static_sidebar.rb +1 -0
  42. data/app/models/tag.rb +13 -9
  43. data/app/models/tag_sidebar.rb +4 -4
  44. data/app/models/trackback.rb +1 -8
  45. data/app/models/trigger.rb +1 -15
  46. data/app/models/user.rb +2 -9
  47. data/app/uploaders/resource_uploader.rb +33 -2
  48. data/app/views/accounts/confirm.html.erb +0 -1
  49. data/app/views/admin/content/_article_list.html.erb +1 -1
  50. data/app/views/admin/content/_form.html.erb +3 -7
  51. data/app/views/admin/pages/_form.html.erb +2 -2
  52. data/app/views/admin/seo/_general.html.erb +33 -28
  53. data/app/views/admin/seo/_permalinks.html.erb +2 -2
  54. data/app/views/admin/seo/_titles.html.erb +36 -36
  55. data/app/views/admin/settings/display.html.erb +20 -27
  56. data/app/views/admin/settings/feedback.html.erb +44 -51
  57. data/app/views/admin/settings/index.html.erb +14 -14
  58. data/app/views/admin/settings/write.html.erb +12 -30
  59. data/app/views/admin/tags/_index_and_form.html.erb +1 -1
  60. data/app/views/articles/_archives_article.html.erb +9 -0
  61. data/app/views/articles/_article.html.erb +8 -6
  62. data/app/views/articles/_article_collection.html.erb +1 -1
  63. data/app/views/articles/_article_excerpt.html.erb +10 -8
  64. data/app/views/articles/_article_links.html.erb +4 -2
  65. data/app/views/articles/_comment_list.html.erb +5 -5
  66. data/app/views/articles/_full_article_content.html.erb +4 -2
  67. data/app/views/articles/archives.html.erb +10 -20
  68. data/app/views/articles/feedback_atom_feed.atom.builder +5 -5
  69. data/app/views/articles/feedback_rss_feed.rss.builder +12 -13
  70. data/app/views/articles/index_atom_feed.atom.builder +3 -4
  71. data/app/views/articles/index_rss_feed.rss.builder +9 -10
  72. data/app/views/articles/read.html.erb +5 -31
  73. data/app/views/articles/search.html.erb +1 -1
  74. data/app/views/articles/trackback.xml.builder +1 -1
  75. data/app/views/authors/show.html.erb +11 -21
  76. data/app/views/authors/show_atom_feed.atom.builder +3 -4
  77. data/app/views/authors/show_rss_feed.rss.builder +9 -10
  78. data/app/views/comments/_comment.html.erb +17 -16
  79. data/app/views/feedback/index.atom.builder +7 -0
  80. data/app/views/feedback/index.rss.builder +19 -0
  81. data/app/views/notes/_note.html.erb +16 -15
  82. data/app/views/notes/index.html.erb +1 -1
  83. data/app/views/notification_mailer/_mail_footer.html.erb +0 -2
  84. data/app/views/notification_mailer/_mail_header.html.erb +2 -0
  85. data/app/views/notification_mailer/article.html.erb +4 -3
  86. data/app/views/notification_mailer/comment.html.erb +7 -6
  87. data/app/views/notification_mailer/notif_user.html.erb +3 -8
  88. data/app/views/setup/index.html.erb +4 -0
  89. data/app/views/shared/_atom_header.atom.builder +3 -3
  90. data/app/views/shared/_atom_item_article.atom.builder +26 -19
  91. data/app/views/shared/_atom_item_comment.atom.builder +3 -5
  92. data/app/views/shared/_atom_item_trackback.atom.builder +3 -4
  93. data/app/views/shared/_page_header.html.erb +1 -1
  94. data/app/views/shared/_rss_item_article.rss.builder +10 -15
  95. data/app/views/shared/_rss_item_comment.rss.builder +1 -2
  96. data/app/views/shared/_rss_item_trackback.rss.builder +1 -1
  97. data/app/views/tags/index.html.erb +2 -2
  98. data/app/views/xml/sitemap.googlesitemap.builder +7 -0
  99. data/config/initializers/mime_types.rb +0 -1
  100. data/config/locales/da.yml +8 -37
  101. data/config/locales/de.yml +7 -36
  102. data/config/locales/en.yml +7 -36
  103. data/config/locales/es-MX.yml +8 -37
  104. data/config/locales/fr.yml +7 -36
  105. data/config/locales/he.yml +4 -33
  106. data/config/locales/it.yml +7 -36
  107. data/config/locales/ja.yml +5 -34
  108. data/config/locales/lt.yml +7 -36
  109. data/config/locales/nb-NO.yml +7 -36
  110. data/config/locales/nl.yml +9 -38
  111. data/config/locales/pl.yml +8 -37
  112. data/config/locales/pt-BR.yml +8 -37
  113. data/config/locales/ro.yml +9 -38
  114. data/config/locales/ru.yml +7 -36
  115. data/config/locales/zh-CN.yml +6 -35
  116. data/config/locales/zh-TW.yml +7 -36
  117. data/config/routes.rb +6 -28
  118. data/db/migrate/113_initial_schema.rb +191 -191
  119. data/db/migrate/114_fixes_buggy_articles_and_notes.rb +6 -7
  120. data/db/migrate/115_drops_categories_for_tags.rb +3 -3
  121. data/db/migrate/20150207131657_add_missing_indexes.rb +1 -1
  122. data/db/migrate/20150807134129_simplify_redirect_relations.rb +1 -1
  123. data/db/migrate/20150808052637_add_blog_ids.rb +3 -5
  124. data/db/migrate/20150808191127_add_blog_id_to_redirects.rb +1 -1
  125. data/db/migrate/20150810094754_add_blog_id_to_tags.rb +1 -1
  126. data/db/migrate/20160108111120_add_devise_to_users.rb +3 -3
  127. data/db/migrate/20160108184201_move_last_connection_to_last_sign_in_at.rb +1 -1
  128. data/db/migrate/20160110094906_remove_profiles_rights.rb +1 -1
  129. data/db/migrate/20160605103918_replace_profile_id_with_string.rb +1 -3
  130. data/db/migrate/20160605154632_remove_profiles.rb +2 -2
  131. data/db/migrate/20160701061851_demand_blog_id_on_contents.rb +1 -1
  132. data/db/migrate/20160701062604_add_blog_id_to_resources.rb +1 -1
  133. data/db/migrate/20170528093024_move_resources_to_content.rb +5 -0
  134. data/db/migrate/20170528094923_move_tags_to_content.rb +6 -0
  135. data/db/migrate/20170528201606_remove_separate_published_flag.rb +5 -0
  136. data/db/migrate/20170605071626_remove_extra_state_columns_from_feedback.rb +6 -0
  137. data/db/migrate/20170702105201_remove_published_at_from_feedback.rb +5 -0
  138. data/db/seeds.rb +1 -1
  139. data/lib/publify_core.rb +0 -1
  140. data/lib/publify_core/version.rb +1 -1
  141. data/lib/publify_guid.rb +1 -1
  142. data/lib/publify_time.rb +2 -2
  143. data/lib/sidebar_field.rb +19 -12
  144. data/lib/transforms.rb +1 -0
  145. metadata +102 -66
  146. data/.gitignore +0 -13
  147. data/.rspec +0 -2
  148. data/.rubocop.yml +0 -84
  149. data/.rubocop_todo.yml +0 -148
  150. data/.travis.yml +0 -27
  151. data/Gemfile +0 -17
  152. data/README.rdoc +0 -3
  153. data/Rakefile +0 -35
  154. data/app/assets/stylesheets/publify_core/.keep +0 -0
  155. data/app/controllers/.keep +0 -0
  156. data/app/controllers/admin/migrations_controller.rb +0 -19
  157. data/app/controllers/concerns/.keep +0 -0
  158. data/app/controllers/trackbacks_controller.rb +0 -36
  159. data/app/helpers/.keep +0 -0
  160. data/app/mailers/.keep +0 -0
  161. data/app/models/.keep +0 -0
  162. data/app/models/article/states.rb +0 -179
  163. data/app/models/concerns/.keep +0 -0
  164. data/app/models/feedback/states.rb +0 -256
  165. data/app/services/migrator.rb +0 -25
  166. data/app/views/.keep +0 -0
  167. data/app/views/comments/index.html.erb +0 -1
  168. data/app/views/comments/index_atom_feed.atom.builder +0 -8
  169. data/app/views/comments/index_rss_feed.rss.builder +0 -20
  170. data/app/views/trackbacks/index_atom_feed.atom.builder +0 -7
  171. data/app/views/trackbacks/index_rss_feed.rss.builder +0 -20
  172. data/app/views/trackbacks/trackback.xml.builder +0 -4
  173. data/app/views/xml/feed.googlesitemap.builder +0 -7
  174. data/app/views/xml/rsd.rsd.builder +0 -8
  175. data/lib/stateful.rb +0 -106
  176. data/publify_core.gemspec +0 -54
@@ -5,16 +5,16 @@ class TagSidebar < Sidebar
5
5
  setting :maximum_tags, 20
6
6
 
7
7
  def tags
8
- @tags ||= Tag.find_all_with_article_counters.
8
+ @tags ||= Tag.find_all_with_content_counters.
9
9
  take(maximum_tags.to_i).sort_by(&:name)
10
10
  end
11
11
 
12
12
  def sizes
13
13
  return @sizes if @sizes
14
- total = @tags.reduce(0) { |sum, tag| sum + tag.article_counter }
14
+ total = tags.reduce(0) { |sum, tag| sum + tag.content_counter }
15
15
  average = total.to_f / @tags.size.to_f
16
- @sizes = @tags.reduce({}) do |h, tag|
17
- size = tag.article_counter.to_f / average
16
+ @sizes = tags.reduce({}) do |h, tag|
17
+ size = tag.content_counter.to_f / average
18
18
  h.merge tag => [[2.0 / 3.0, size].max, 2].min * 100
19
19
  end
20
20
  end
@@ -1,5 +1,4 @@
1
- require_dependency 'spam_protection'
2
-
1
+ # Legacy class to support old feedback sent as trackbacks.
3
2
  class Trackback < Feedback
4
3
  content_fields :excerpt
5
4
  validates :title, :excerpt, :url, presence: true
@@ -45,12 +44,6 @@ class Trackback < Feedback
45
44
  self.excerpt = newval
46
45
  end
47
46
 
48
- def rss_author(_xml); end
49
-
50
- def rss_title(xml)
51
- xml.title feed_title
52
- end
53
-
54
47
  def feed_title
55
48
  "Trackback from #{blog_name}: #{title} on #{article.title}"
56
49
  end
@@ -11,21 +11,6 @@ class Trigger < ActiveRecord::Base
11
11
  def fire
12
12
  where('due_at <= ?', Time.now).destroy_all
13
13
  true
14
- rescue
15
- migrator = Migrator.new
16
-
17
- unless migrator.pending_migrations.empty?
18
- starting_version = migrator.current_schema_version
19
- migrator.migrate
20
-
21
- if starting_version == 0
22
- load "#{Rails.root}/Rakefile"
23
- Rake::Task['db:seed'].invoke
24
- User.reset_column_information
25
- Article.reset_column_information
26
- Page.reset_column_information
27
- end
28
- end
29
14
  end
30
15
 
31
16
  def remove(pending_item, conditions = {})
@@ -36,6 +21,7 @@ class Trigger < ActiveRecord::Base
36
21
  end
37
22
  end
38
23
 
24
+ # TODO: Ensure errors bubble up to where they are visible
39
25
  before_destroy :trigger_pending_item
40
26
 
41
27
  def trigger_pending_item
data/app/models/user.rb CHANGED
@@ -99,9 +99,9 @@ class User < ActiveRecord::Base
99
99
  end
100
100
 
101
101
  def display_name
102
- if !nickname.blank?
102
+ if nickname.present?
103
103
  nickname
104
- elsif !name.blank?
104
+ elsif name.present?
105
105
  name
106
106
  else
107
107
  login
@@ -122,13 +122,6 @@ class User < ActiveRecord::Base
122
122
  save
123
123
  end
124
124
 
125
- def generate_password!
126
- chars = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a
127
- newpass = ''
128
- 8.times { newpass << chars[rand(chars.size - 1)] }
129
- self.password = newpass
130
- end
131
-
132
125
  def has_twitter_configured?
133
126
  twitter_oauth_token.present? && twitter_oauth_token_secret.present?
134
127
  end
@@ -1,5 +1,8 @@
1
+ require 'mimemagic'
2
+
1
3
  class ResourceUploader < CarrierWave::Uploader::Base
2
4
  include CarrierWave::MiniMagick
5
+ before :cache, :check_image_content_type!
3
6
 
4
7
  def store_dir
5
8
  "files/#{model.class.to_s.underscore}/#{model.id}"
@@ -24,7 +27,35 @@ class ResourceUploader < CarrierWave::Uploader::Base
24
27
  end
25
28
 
26
29
  def image?(new_file)
27
- mime_magic_content_type = new_file.send :mime_magic_content_type
28
- mime_magic_content_type && mime_magic_content_type.include?('image')
30
+ content_type = new_file.content_type
31
+ content_type && content_type.include?('image')
32
+ end
33
+
34
+ def check_image_content_type!(new_file)
35
+ if image?(new_file)
36
+ magic_type = mime_magic_content_type(new_file)
37
+ if magic_type != new_file.content_type
38
+ raise CarrierWave::IntegrityError, 'has MIME type mismatch'
39
+ end
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ # NOTE: This method was adapted from MagicMimeBlacklist#extract_content_type
46
+ # from CarrierWave 1.0.0 and SanitizedFile#mime_magic_content_type from CarrierWave 0.11.2
47
+ def mime_magic_content_type(new_file)
48
+ content_type = nil
49
+
50
+ File.open(new_file.path) do |fd|
51
+ content_type = MimeMagic.by_magic(fd).try(:type)
52
+ end
53
+
54
+ content_type
55
+ end
56
+
57
+ # NOTE: This method was copied from MagicMimeBlacklist from CarrierWave 1.0.0.
58
+ def filemagic
59
+ @filemagic ||= FileMagic.new(FileMagic::MAGIC_MIME_TYPE)
29
60
  end
30
61
  end
@@ -1,6 +1,5 @@
1
1
  <p><%= t('.success') %></p>
2
2
  <p><%= t(".login", login: current_user.login) %></p>
3
- <p><%= t(".password", password: session[:tmppass]) %></p>
4
3
  <div class='alert alert-warning'><%= t(".dont_lose_the_mail_sent", email: current_user.email) %></div>
5
4
 
6
5
  <% content_for :account_links do %>
@@ -8,7 +8,7 @@
8
8
  <% for article in @articles %>
9
9
  <tr>
10
10
  <td>
11
- <% if article.published %>
11
+ <% if article.published? %>
12
12
  <%= link_to_permalink(article, article.title, nil, 'published')%>
13
13
  <% else %>
14
14
  <%= link_to(article.title, {controller: '/articles', action: "preview", id: article.id}, {class: 'unpublished', target: '_new'}) %>
@@ -86,7 +86,7 @@
86
86
  </p>
87
87
  <div id="status" class="collapse">
88
88
  <label for="article_published" class="checkbox">
89
- <%= check_box 'article', 'published' %>
89
+ <%= check_box 'article', 'published?' %>
90
90
  <%= t('.published') %>
91
91
  </label>
92
92
  <p>
@@ -98,14 +98,10 @@
98
98
  </div>
99
99
  <div class="control-group">
100
100
  <p>
101
- <%= t('.allowed_comments_and_trackbacks_html', allow_comment: content_tag(:strong, t('.allow_comments_status', count: @article.allow_comments ? 1 : 0)), allow_trackback: content_tag(:strong, t('.allow_pings_status', count: @article.allow_pings ? 1 : 0))) %>
101
+ <%= t('.allowed_comments_html', allow_comment: content_tag(:strong, t('.allow_comments_status', count: @article.allow_comments ? 1 : 0))) %>
102
102
  <%= toggle_element('conversation') %>
103
103
  </p>
104
104
  <div id="conversation" class="collapse">
105
- <label for="article_allow_pings" class='checkbox'>
106
- <%= check_box 'article', 'allow_pings' %>
107
- <%= t('.allow_trackbacks') %>
108
- </label>
109
105
  <label for="article_allow_comments" class="checkbox">
110
106
  <%= check_box 'article', 'allow_comments' %>
111
107
  <%= t('.allow_comments') %>
@@ -121,7 +117,7 @@
121
117
  <p>
122
118
  <%= t('.published') %>
123
119
  <strong>
124
- <% if @article.published %>
120
+ <% if @article.published_at.present? %>
125
121
  <%= display_date_and_time(@article.published_at) %>
126
122
  <% else %>
127
123
  <%= t('.now') %>
@@ -69,11 +69,11 @@
69
69
  <fieldset>
70
70
  <legend><%= t(".publish_settings") %></legend>
71
71
  <div class='control-group'>
72
- <%= t(".status") %>: <strong><%= (@page.published) ? t(".published") : t(".offline") %></strong>
72
+ <%= t(".status") %>: <strong><%= (@page.published?) ? t(".published") : t(".offline") %></strong>
73
73
  <%= toggle_element('status') %>
74
74
  <div id='status' class='collapse'>
75
75
  <label for="page_published" class='checkbox'>
76
- <%= check_box 'page', 'published' %>
76
+ <%= check_box 'page', 'published?' %>
77
77
  <%= t(".online")%>
78
78
  </label>
79
79
  <p><span class='btn btn-default btn-mini'><%= toggle_element 'status', "OK" %></span></p>
@@ -1,26 +1,31 @@
1
1
  <fieldset class='form-horizontal'>
2
2
  <legend><%= t(".general_settings") %></legend>
3
3
  <div class='form-group'>
4
- <label class='control-label col-sm-2'><%= t(".meta_keywords")%></label>
5
- <div class='col-sm-5'>
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'>
6
+ <%= text_area(:setting, :meta_description, rows: 3, class: 'form-control') %>
7
+ </div>
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'>
6
12
  <div class='checkbox'>
7
13
  <label for="setting_use_meta_keyword">
8
14
  <%= check_box(:setting, :use_meta_keyword)%>
9
15
  <%= t(".use_meta_keywords")%>
10
16
  </label>
11
17
  </div>
12
- <%= text_area(:setting, :meta_keywords, rows: 3, class: 'form-control') %>
13
18
  </div>
14
19
  </div>
15
- <div class='form-group'>
16
- <label class='control-label col-sm-2' for="setting_meta_description"><%= t(".meta_description")%></label>
17
- <div class='col-sm-5'>
18
- <%= text_area(:setting, :meta_description, rows: 3, class: 'form-control') %>
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'>
23
+ <%= text_area(:setting, :meta_keywords, rows: 3, class: 'form-control') %>
19
24
  </div>
20
25
  </div>
21
26
  <div class='form-group'>
22
- <label class='control-label col-sm-2'><%= t(".use_rss_description") %></label>
23
- <div class='col-sm-5'>
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'>
24
29
  <div class='checkbox'>
25
30
  <label for="setting_rss_description">
26
31
  <%= check_box(:setting, :rss_description) %>
@@ -32,8 +37,8 @@
32
37
  </div>
33
38
  </div>
34
39
  <div class='form-group'>
35
- <label class='control-label col-sm-2' for="setting_rss_description_text"><%= t(".rss_description_message") %></label>
36
- <div class='col-sm-5'>
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'>
37
42
  <%= text_area(:setting, :rss_description_text, rows: 10, class: 'form-control') %>
38
43
  <small class='help-block'><%= t('.explain_rss_description') %></small>
39
44
  </div>
@@ -43,8 +48,8 @@
43
48
  <fieldset class='form-horizontal'>
44
49
  <legend><%= t(".indexing") %></legend>
45
50
  <div class='form-group'>
46
- <label class='control-label col-sm-2'><%= t(".indexing") %></label>
47
- <div class='col-sm-5'>
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'>
48
53
  <div class='checkbox'>
49
54
  <label for="setting_unindex_tags">
50
55
  <%= check_box(:setting, :unindex_tags) %>
@@ -55,27 +60,27 @@
55
60
  </div>
56
61
  </div>
57
62
  <div class='form-group'>
58
- <label class='control-label col-sm-2' for="setting_robots"><%= t(".robots_txt") %></label>
59
- <div class='col-sm-5'>
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'>
60
65
  <%= text_area(:setting, :robots, rows: 10, class: 'form-control') %>
61
66
  </div>
62
67
  </div>
63
68
 
64
69
  <div class='form-group'>
65
- <label class='control-label col-sm-2'><%= t(".dofollow") %></label>
66
- <div class='col-sm-5'>
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'>
67
72
  <div class='checkbox'>
68
73
  <label for="setting_dofollowify">
69
- <%= t(".use_dofollow_in_comments") %>
70
74
  <%= check_box(:setting, :dofollowify) %>
75
+ <%= t(".use_dofollow_in_comments") %>
71
76
  </label>
72
77
  <small class='help-block'><%= t(".explain_moderate_feedback") %></small>
73
78
  </div>
74
79
  </div>
75
80
  </div>
76
81
  <div class='form-group'>
77
- <label class='control-label col-sm-2'><%= t(".canonical_url") %></label>
78
- <div class='col-sm-5'>
82
+ <label class='control-label col-sm-4 col-md-3 col-lg-2'><%= t(".canonical_url") %></label>
83
+ <div class='col-sm-8 col-md-6 col-lg-4'>
79
84
  <div class='checkbox'>
80
85
  <label for="setting_use_canonical_url">
81
86
  <%= check_box(:setting, :use_canonical_url) %>
@@ -90,8 +95,8 @@
90
95
  <fieldset class='form-horizontal'>
91
96
  <legend><%= t(".human") %></legend>
92
97
  <div class='form-group'>
93
- <label class='control-label col-sm-2' for="setting_humans"><%= t(".humans_txt") %></label>
94
- <div class='col-sm-5'>
98
+ <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_humans"><%= t(".humans_txt") %></label>
99
+ <div class='col-sm-8 col-md-6 col-lg-4'>
95
100
  <%= text_area(:setting, :humans, rows: 10, class: 'form-control') %>
96
101
  <small class='help-block'><%= t(".explain_humans_txt") %></small>
97
102
  </div>
@@ -101,20 +106,20 @@
101
106
  <fieldset class='form-horizontal'>
102
107
  <legend><%= t(".google") %></legend>
103
108
  <div class='form-group'>
104
- <label class='control-label col-sm-2' for="setting_google_analytics"><%= t(".google_analytics") %></label>
105
- <div class='col-sm-5'>
109
+ <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_google_analytics"><%= t(".google_analytics") %></label>
110
+ <div class='col-sm-8 col-md-6 col-lg-4'>
106
111
  <%= text_field(:setting, :google_analytics, class: 'form-control') %>
107
112
  </div>
108
113
  </div>
109
114
  <div class='form-group'>
110
- <label class='control-label col-sm-2' for="setting_google_verification"><%= t(".google_webmaster_tools_validation_link") %></label>
111
- <div class='col-sm-5'>
115
+ <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_google_verification"><%= t(".google_webmaster_tools_validation_link") %></label>
116
+ <div class='col-sm-8 col-md-6 col-lg-4'>
112
117
  <%= text_field(:setting, :google_verification, class: 'form-control') %>
113
118
  </div>
114
119
  </div>
115
120
  <div class='form-group'>
116
- <label class='control-label col-sm-2' for="setting_custom_tracking_field"><%= t(".custom_tracking_code") %></label>
117
- <div class='col-sm-5'>
121
+ <label class='control-label col-sm-4 col-md-3 col-lg-2' for="setting_custom_tracking_field"><%= t(".custom_tracking_code") %></label>
122
+ <div class='col-sm-8 col-md-6 col-lg-4'>
118
123
  <%= text_area(:setting, :custom_tracking_field, rows: 3, class: 'form-control') %>
119
124
  <small class='help-block'><%= t(".explain") %></small>
120
125
  </div>
@@ -5,8 +5,8 @@
5
5
 
6
6
  <div class='form-horizontal'>
7
7
  <div class='form-group'>
8
- <label class='control-label col-sm-2'><%= t(".permalink_format") %></label>
9
- <div class='col-sm-5'>
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
10
  <div class='radio'>
11
11
  <label for="setting_permalink_format_yearmonthdaytitle">
12
12
  <%= radio_button(:setting, :permalink_format, '/%year%/%month%/%day%/%title%') %>
@@ -1,14 +1,14 @@
1
1
  <fieldset class='form-horizontal'>
2
2
  <legend><%= t(".home") %></legend>
3
3
  <div class='form-group'>
4
- <label class='control-label col-sm-2' for="setting_home_title_template"><%= t(".title_template") %></label>
5
- <div class='col-sm-5'>
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'>
6
6
  <%= text_field(:setting, :home_title_template, { :class => 'form-control'})%>
7
7
  </div>
8
8
  </div>
9
9
  <div class='form-group'>
10
- <label class='control-label col-sm-2' for="setting_home_desc_template"><%= t(".description_template") %></label>
11
- <div class='col-sm-5'>
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'>
12
12
  <%= text_area(:setting, :home_desc_template, :rows => 3, :class => 'form-control') %>
13
13
  </div>
14
14
  </div>
@@ -16,14 +16,14 @@
16
16
  <fieldset class='form-horizontal'>
17
17
  <legend><%= t(".articles") %></legend>
18
18
  <div class='form-group'>
19
- <label class='control-label col-sm-2' for="setting_article_title_template"><%= t(".title_template") %></label>
20
- <div class='col-sm-5'>
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'>
21
21
  <%= text_field(:setting, :article_title_template, { :class => 'form-control'}) %>
22
22
  </div>
23
23
  </div>
24
24
  <div class='form-group'>
25
- <label class='control-label col-sm-2' for="setting_article_desc_template"><%= t(".description_template") %></label>
26
- <div class='col-sm-5'>
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'>
27
27
  <%= text_area(:setting, :article_desc_template, :rows => 3, :class => 'form-control') %>
28
28
  </div>
29
29
  </div>
@@ -31,14 +31,14 @@
31
31
  <fieldset class='form-horizontal'>
32
32
  <legend><%= t(".pages") %></legend>
33
33
  <div class='form-group'>
34
- <label class='control-label col-sm-2' for="setting_page_title_template"><%= t(".title_template") %></label>
35
- <div class='col-sm-5'>
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'>
36
36
  <%= text_field(:setting, :page_title_template, { :class => 'form-control'}) %>
37
37
  </div>
38
38
  </div>
39
39
  <div class='form-group'>
40
- <label class='control-label col-sm-2' for="setting_page_desc_template"><%= t(".description_template") %></label>
41
- <div class='col-sm-5'>
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'>
42
42
  <%= text_area(:setting, :page_desc_template, :rows => 3, :class => 'form-control') %>
43
43
  </div>
44
44
  </div>
@@ -47,14 +47,14 @@
47
47
  <fieldset class='form-horizontal'>
48
48
  <legend><%= t(".paginated_archives") %></legend>
49
49
  <div class='form-group'>
50
- <label class='control-label col-sm-2' for="setting_paginated_title_template"><%= t(".title_template") %></label>
51
- <div class='col-sm-5'>
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'>
52
52
  <%= text_field(:setting, :paginated_title_template, { :class => 'form-control'}) %>
53
53
  </div>
54
54
  </div>
55
55
  <div class='form-group'>
56
- <label class='control-label col-sm-2' for="setting_paginated_desc_template"><%= t(".description_template") %></label>
57
- <div class='col-sm-5'>
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'>
58
58
  <%= text_area(:setting, :paginated_desc_template, :rows => 3, :class => 'form-control') %>
59
59
  </div>
60
60
  </div>
@@ -62,14 +62,14 @@
62
62
  <fieldset class='form-horizontal'>
63
63
  <legend><%= t(".dated_archives") %></legend>
64
64
  <div class='form-group'>
65
- <label class='control-label col-sm-2' for="setting_archives_title_template"><%= t(".title_template") %></label>
66
- <div class='col-sm-5'>
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'>
67
67
  <%= text_field(:setting, :archives_title_template, { :class => 'form-control'}) %>
68
68
  </div>
69
69
  </div>
70
70
  <div class='form-group'>
71
- <label class='control-label col-sm-2' for="setting_archives_desc_template"><%= t(".description_template") %></label>
72
- <div class='col-sm-5'>
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'>
73
73
  <%= text_area(:setting, :archives_desc_template, :rows => 3, :class => 'form-control') %>
74
74
  </div>
75
75
  </div>
@@ -78,14 +78,14 @@
78
78
  <fieldset class='form-horizontal'>
79
79
  <legend><%= t(".author_page") %></legend>
80
80
  <div class='form-group'>
81
- <label class='control-label col-sm-2' for="setting_author_title_template"><%= t(".title_template") %></label>
82
- <div class='col-sm-5'>
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'>
83
83
  <%= text_field(:setting, :author_title_template, { :class => 'form-control'}) %>
84
84
  </div>
85
85
  </div>
86
86
  <div class='form-group'>
87
- <label class='control-label col-sm-2' for="setting_author_desc_template"><%= t(".description_template") %></label>
88
- <div class='col-sm-5'>
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'>
89
89
  <%= text_area(:setting, :author_desc_template, :rows => 3, :class => 'form-control') %>
90
90
  </div>
91
91
  </div>
@@ -94,14 +94,14 @@
94
94
  <fieldset class='form-horizontal'>
95
95
  <legend><%= t(".search_results") %></legend>
96
96
  <div class='form-group'>
97
- <label class='control-label col-sm-2' for="setting_search_title_template"><%= t(".title_template") %></label>
98
- <div class='col-sm-5'>
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'>
99
99
  <%= text_field(:setting, :search_title_template, { :class => 'form-control'}) %>
100
100
  </div>
101
101
  </div>
102
102
  <div class='form-group'>
103
- <label class='control-label col-sm-2' for="setting_search_desc_template"><%= t(".description_template") %></label>
104
- <div class='col-sm-5'>
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'>
105
105
  <%= text_area(:setting, :search_desc_template, :rows => 3, :class => 'form-control') %>
106
106
  </div>
107
107
  </div>
@@ -110,14 +110,14 @@
110
110
  <fieldset class='form-horizontal'>
111
111
  <legend><%= t(".short_statuses_lists") %></legend>
112
112
  <div class='form-group'>
113
- <label class='control-label col-sm-2' for="setting_statuses_title_template"><%= t(".title_template") %></label>
114
- <div class='col-sm-5'>
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'>
115
115
  <%= text_field(:setting, :statuses_title_template, { :class => 'form-control'}) %>
116
116
  </div>
117
117
  </div>
118
118
  <div class='form-group'>
119
- <label class='control-label col-sm-2' for="setting_statuses_desc_template"><%= t(".description_template") %></label>
120
- <div class='col-sm-5'>
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'>
121
121
  <%= text_area(:setting, :statuses_desc_template, :rows => 3, :class => 'form-control') %>
122
122
  </div>
123
123
  </div>
@@ -126,14 +126,14 @@
126
126
  <fieldset class='form-horizontal'>
127
127
  <legend><%= t(".short_statuses") %></legend>
128
128
  <div class='form-group'>
129
- <label class='control-label col-sm-2' for="setting_status_title_template"><%= t(".title_template") %></label>
130
- <div class='col-sm-5'>
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'>
131
131
  <%= text_field(:setting, :status_title_template, { :class => 'form-control'}) %>
132
132
  </div>
133
133
  </div>
134
134
  <div class='form-group'>
135
- <label class='control-label col-sm-2' for="setting_status_desc_template"><%= t(".description_template") %></label>
136
- <div class='col-sm-5'>
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'>
137
137
  <%= text_area(:setting, :status_desc_template, :rows => 3, :class => 'form-control') %>
138
138
  </div>
139
139
  </div>