Method: IsoDoc::Convert#generate_css

Defined in:
lib/isodoc/css.rb

#generate_css(filename, stripwordcss) ⇒ Object

stripwordcss if HTML stylesheet, !stripwordcss if DOC stylesheet



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/isodoc/css.rb', line 92

def generate_css(filename, stripwordcss)
  return nil if filename.nil?

  filename = precompiled_style_or_original(filename)
  stylesheet = File.read(filename, encoding: "UTF-8")
  stylesheet = populate_template(stylesheet, :word)
  stylesheet.gsub!(/(\s|\{)mso-[^:]+:[^;]+;/m, "\\1") if stripwordcss
  stylesheet.gsub!(/--/, "-DOUBLE_HYPHEN_ESCAPE-") unless stripwordcss
  if File.extname(filename) == ".scss"
    stylesheet = convert_scss(filename, stylesheet, stripwordcss)
  end
  Tempfile.open([File.basename(filename, ".*"), "css"],
                mode: File::BINARY | File::SHARE_DELETE,
                encoding: "utf-8") do |f|
    f.write(stylesheet)
    f
  end
end