Sha256: f7ea3cdfbd7b7e9291a06655738ecc5656e246a8f272e0b07cb8df5efaeaf25e
Contents?: true
Size: 988 Bytes
Versions: 6
Compression:
Stored size: 988 Bytes
Contents
require "word-to-markdown" require "coradoc/input/html" require "fileutils" module Coradoc module Input::Docx def self.processor_id :docx end def self.processor_match?(filename) %w[.docx .doc].any? { |i| filename.downcase.end_with?(i) } end def self.processor_execute(input, options = {}) image_dir = Dir.mktmpdir options = options.merge(sourcedir: image_dir) doc = WordToMarkdown.new(input, image_dir) doc = Coradoc::Input::HTML.cleaner.preprocess_word_html(doc.document.html) options = WordToMarkdown::REVERSE_MARKDOWN_OPTIONS.merge(options) Coradoc::Input::HTML.to_coradoc(doc, options) ensure FileUtils.rm_rf(image_dir) end def self.processor_postprocess(data, options) Coradoc::Input::HTML.processor_postprocess(data, options) end # This processor prefers to work on original files. def self.processor_wants_filenames; true; end Coradoc::Input.define(self) end end
Version data entries
6 entries across 6 versions & 1 rubygems