Module: WNS::Abbreviations

Defined in:
lib/jekyll-wns/assets/abbreviations.rb

Constant Summary collapse

INNER_DOTS_EXPRESSION =
/([a-zA-Z]\.)([a-zA-Z]\.)([a-zA-Z]\.|)([a-zA-Z]\.|)([a-zA-Z]\.|)(,|) /
INNER_DOTS_REPLACEMENT =
"\\1 \\2 \\3 \\4 \\5 \\6 "
TITLE_EXPRESSION =
/(Mr|Ms|Mrs|Messrs|Mmes|Msgr|Prof|Rev|Dr|Sr|St|[A-Z][a-z]|[A-Z][a-z][a-z])(\.|\.,|,) /
TITLE_REPLACEMENT =
"\\1\\2 "
PREFIX_EXPRESSION =
/, ([a-zA-Z]\.&)/
PREFIX_REPLACEMENT =
", \\1"
COLLAPSE_SPACES_EXPRESSION =
/( )*( |,)/
COLLAPSE_SPACES_REPLACEMENT =
"\\2"

Class Method Summary collapse

Class Method Details

.enabled?(doc) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
# File 'lib/jekyll-wns/assets/abbreviations.rb', line 15

def self.enabled?(doc)
  wns = doc.site.config["wns"] || {}
  wns["abbreviations"] || false
end

.replace_abbreviations!(doc) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/jekyll-wns/assets/abbreviations.rb', line 20

def self.replace_abbreviations!(doc)
  if Abbreviations::enabled?(doc)
    doc.content = doc.content.gsub(Abbreviations::INNER_DOTS_EXPRESSION, Abbreviations::INNER_DOTS_REPLACEMENT)
    doc.content = doc.content.gsub(Abbreviations::TITLE_EXPRESSION, Abbreviations::TITLE_REPLACEMENT)
    doc.content = doc.content.gsub(Abbreviations::PREFIX_EXPRESSION, Abbreviations::PREFIX_REPLACEMENT)
    doc.content = doc.content.gsub(Abbreviations::COLLAPSE_SPACES_EXPRESSION, Abbreviations::COLLAPSE_SPACES_REPLACEMENT)
  end
end