Module: Emjay::MinifyOutlookConditionals

Defined in:
lib/emjay/helpers/minify_outlook_conditionals.rb

Class Method Summary collapse

Class Method Details

.call(content) ⇒ Object

Collapses whitespace inside Outlook conditional blocks. Port of minifyOutlookConditionnals.js



7
8
9
10
11
12
13
14
15
16
# File 'lib/emjay/helpers/minify_outlook_conditionals.rb', line 7

def self.call(content)
  content.gsub(/(<!--\[if\s[^\]]+\]>)([\s\S]*?)(<!\[endif\]-->)/m) do
    prefix = $1
    inner = $2
    suffix = $3
    processed = inner.gsub(/(^|>)(\s+)(<|$)/m) { "#{$1}#{$3}" }
      .gsub(/\s{2,}/m, " ")
    "#{prefix}#{processed}#{suffix}"
  end
end