lib/metanorma/compile.rb in metanorma-0.3.6 vs lib/metanorma/compile.rb in metanorma-0.3.7

- old
+ new

@@ -27,10 +27,12 @@ end def options_extract(filename, options) o = Metanorma::Input::Asciidoc.new.extract_metanorma_options(File.read(filename, encoding: "utf-8")) options[:type] ||= o[:type]&.to_sym + dir = filename.sub(%r(/[^/]+$), "/") + options[:relaton] ||= "#{dir}/#{o[:relaton]}" if o[:relaton] options[:extension_keys] ||= o[:extensions]&.split(/,[ ]*/)&.map(&:to_sym) options[:extension_keys] = nil if options[:extension_keys] == [:all] options[:format] ||= :asciidoc options[:filename] = filename options @@ -101,23 +103,28 @@ end end def relaton_export(isodoc, options) return unless options[:relaton] - xml = Nokogiri::XML(isodoc) - bibdata = xml.at("//bibdata") || xml.at("//xmlns:bibdata") - #docid = bibdata&.at("./xmlns:docidentifier")&.text || options[:filename] - #outname = docid.sub(/^\s+/, "").sub(/\s+$/, "").gsub(/\s+/, "-") + ".xml" - File.open(options[:relaton], "w:UTF-8") { |f| f.write bibdata.to_xml } + xml = Nokogiri::XML(isodoc) + bibdata = xml.at("//bibdata") || xml.at("//xmlns:bibdata") + #docid = bibdata&.at("./xmlns:docidentifier")&.text || options[:filename] + #outname = docid.sub(/^\s+/, "").sub(/\s+$/, "").gsub(/\s+/, "-") + ".xml" + File.open(options[:relaton], "w:UTF-8") { |f| f.write bibdata.to_xml } end def process_extensions(extensions, file, isodoc, options) extensions.each do |ext| isodoc_options = @processor.extract_options(file) isodoc_options[:datauriimage] = true if options[:datauriimage] file_extension = @processor.output_formats[ext] outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}") - @processor.output(isodoc, outfilename, ext, isodoc_options) + if ext == :rxl + options[:relaton] = outfilename + relaton_export(isodoc, options) + else + @processor.output(isodoc, outfilename, ext, isodoc_options) + end if options[:wrapper] and /html$/.match file_extension outfilename = outfilename.sub(/\.html$/, "") FileUtils.mkdir_p outfilename FileUtils.mv "#{outfilename}.html", outfilename FileUtils.mv "#{outfilename}_images", outfilename, force: true