Consistently use middle dot (·) instead of bullet (•) to separate items (#25248)
parent
0766c9a631
commit
768b00c4d0
19 changed files with 102 additions and 27 deletions
@ -1,8 +1,8 @@ |
|||||||
<%= raw t('admin_mailer.new_trends.new_trending_links.title') %> |
<%= raw t('admin_mailer.new_trends.new_trending_links.title') %> |
||||||
|
|
||||||
<% @links.each do |link| %> |
<% @links.each do |link| %> |
||||||
- <%= link.title %> • <%= link.url %> |
- <%= link.title %> · <%= link.url %> |
||||||
<%= standard_locale_name(link.language) %> • <%= raw t('admin.trends.links.usage_comparison', today: link.history.get(Time.now.utc).accounts, yesterday: link.history.get(Time.now.utc - 1.day).accounts) %> • <%= t('admin.trends.tags.current_score', score: link.trend.score.round(2)) %> |
<%= standard_locale_name(link.language) %> · <%= raw t('admin.trends.links.usage_comparison', today: link.history.get(Time.now.utc).accounts, yesterday: link.history.get(Time.now.utc - 1.day).accounts) %> · <%= t('admin.trends.tags.current_score', score: link.trend.score.round(2)) %> |
||||||
<% end %> |
<% end %> |
||||||
|
|
||||||
<%= raw t('application_mailer.view')%> <%= admin_trends_links_url %> |
<%= raw t('application_mailer.view')%> <%= admin_trends_links_url %> |
||||||
|
@ -0,0 +1,26 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
module HamlLint |
||||||
|
# Bans the usage of “•” (bullet) in HTML/HAML in favor of “·” (middle dot) in anything that will end up as a text node. (including string literals in Ruby code) |
||||||
|
class Linter::MiddleDot < Linter |
||||||
|
include LinterRegistry |
||||||
|
|
||||||
|
# rubocop:disable Style/MiddleDot |
||||||
|
BULLET = '•' |
||||||
|
# rubocop:enable Style/MiddleDot |
||||||
|
MIDDLE_DOT = '·' |
||||||
|
MESSAGE = "Use '#{MIDDLE_DOT}' (middle dot) instead of '#{BULLET}' (bullet)".freeze |
||||||
|
|
||||||
|
def visit_plain(node) |
||||||
|
return unless node.text.include?(BULLET) |
||||||
|
|
||||||
|
record_lint(node, MESSAGE) |
||||||
|
end |
||||||
|
|
||||||
|
def visit_script(node) |
||||||
|
return unless node.script.include?(BULLET) |
||||||
|
|
||||||
|
record_lint(node, MESSAGE) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,31 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
module RuboCop |
||||||
|
module Cop |
||||||
|
module Style |
||||||
|
# Bans the usage of “•” (bullet) in HTML/HAML in favor of “·” (middle dot) in string literals |
||||||
|
class MiddleDot < Base |
||||||
|
extend AutoCorrector |
||||||
|
extend Util |
||||||
|
|
||||||
|
# rubocop:disable Style/MiddleDot |
||||||
|
BULLET = '•' |
||||||
|
# rubocop:enable Style/MiddleDot |
||||||
|
MIDDLE_DOT = '·' |
||||||
|
MESSAGE = "Use '#{MIDDLE_DOT}' (middle dot) instead of '#{BULLET}' (bullet)".freeze |
||||||
|
|
||||||
|
def on_str(node) |
||||||
|
# Constants like __FILE__ are handled as strings, |
||||||
|
# but don't respond to begin. |
||||||
|
return unless node.loc.respond_to?(:begin) && node.loc.begin |
||||||
|
|
||||||
|
return unless node.value.include?(BULLET) |
||||||
|
|
||||||
|
add_offense(node, message: MESSAGE) do |corrector| |
||||||
|
corrector.replace(node, node.source.gsub(BULLET, MIDDLE_DOT)) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue