Sha256: 505b319309a3ec16d09f8d144918eb192cda87b47c7d20e41e1db7592fd6d588

Contents?: true

Size: 1.26 KB

Versions: 25

Compression:

Stored size: 1.26 KB

Contents

# Registry of all Metanorma types and entry points
#

module Metanorma
  class Processor
    attr_reader :short, :input_format, :asciidoctor_backend

    def initialize
      raise "This is an abstract class!"
    end

    def output_formats
      {
        xml: "xml",
        presentation: "presentation.xml",
        rxl: "rxl",
      }
    end

    def input_to_isodoc(file, filename, options = {})
      Metanorma::Input::Asciidoc.new.process(file, filename,
                                             @asciidoctor_backend, options)
    end

    # def input_to_isodoc(file, filename)
    #   raise "This is an abstract class!"
    # end

    def use_presentation_xml(ext)
      case ext
      when :html, :doc, :pdf then true
      else
        false
      end
    end

    def options_preprocess(options)
      options[:output_formats] ||= output_formats
    end

    def output(isodoc_node, _inname, outname, _format, _options = {})
      File.open(outname, "w:UTF-8") { |f| f.write(isodoc_node) }
    end

    def extract_options(file)
      Metanorma::Input::Asciidoc.new.extract_options(file)
        .merge(output_formats: output_formats)
    end

    def extract_metanorma_options(file)
      Metanorma::Input::Asciidoc.new.extract_metanorma_options(file)
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
metanorma-2.1.5 lib/metanorma/processor/processor.rb
metanorma-2.1.4 lib/metanorma/processor/processor.rb
metanorma-2.1.2 lib/metanorma/processor/processor.rb
metanorma-2.1.1 lib/metanorma/processor/processor.rb
metanorma-2.0.11 lib/metanorma/processor/processor.rb
metanorma-2.0.10 lib/metanorma/processor/processor.rb
metanorma-2.0.9 lib/metanorma/processor/processor.rb
metanorma-2.0.7 lib/metanorma/processor/processor.rb
metanorma-2.0.6 lib/metanorma/processor/processor.rb
metanorma-2.0.5 lib/metanorma/processor/processor.rb
metanorma-2.0.4 lib/metanorma/processor/processor.rb
metanorma-2.0.3 lib/metanorma/processor/processor.rb
metanorma-2.0.2 lib/metanorma/processor/processor.rb
metanorma-2.0.1 lib/metanorma/processor/processor.rb
metanorma-2.0.0 lib/metanorma/processor/processor.rb
metanorma-1.7.7 lib/metanorma/processor.rb
metanorma-1.7.6 lib/metanorma/processor.rb
metanorma-1.7.5 lib/metanorma/processor.rb
metanorma-1.7.4 lib/metanorma/processor.rb
metanorma-1.7.3 lib/metanorma/processor.rb