Sha256: 1ac9246a776967d5901186f97e88d472c02da783bcafc8a80ff208176d7c0668
Contents?: true
Size: 1.43 KB
Versions: 94
Compression:
Stored size: 1.43 KB
Contents
require_relative "html_function/comments" require_relative "html_function/footnotes" require_relative "html_function/html" require "fileutils" module IsoDoc class HeadlessHtmlConvert < ::IsoDoc::Convert include HtmlFunction::Comments include HtmlFunction::Footnotes include HtmlFunction::Html def tmpimagedir_suffix "_#{SecureRandom.hex(8)}_headlessimages" end def initialize(options) @format = :html @suffix = "headless.html" super end def convert(input_filename, file = nil, debug = false, output_filename = nil) file = File.read(input_filename, encoding: "utf-8") if file.nil? @openmathdelim, @closemathdelim = extract_delims(file) docxml, filename, dir = convert_init(file, input_filename, debug) result = convert1(docxml, filename, dir) return result if debug postprocess(result, "#{filename}.tmp.html", dir) FileUtils.rm_rf dir strip_head("#{filename}.tmp.html", output_filename || "#{filename}.#{@suffix}") FileUtils.rm_rf ["#{filename}.tmp.html", tmpimagedir] end def strip_head(input, output) file = File.read(input, encoding: "utf-8") doc = Nokogiri::XML(file) doc.xpath("//head").each(&:remove) doc.xpath("//html").each { |x| x.name = "div" } body = doc.at("//body") body.replace(body.children) File.open(output, "w") { |f| f.write(doc.to_xml) } end end end
Version data entries
94 entries across 94 versions & 1 rubygems