lib/metanorma/compile.rb in metanorma-1.5.10 vs lib/metanorma/compile.rb in metanorma-1.5.11
- old
+ new
@@ -31,11 +31,10 @@
@processor = @registry.find_processor(options[:type].to_sym)
extensions = get_extensions(options) or return nil
(file, isodoc = process_input(filename, options)) or return nil
relaton_export(isodoc, options)
extract(isodoc, options[:extract], options[:extract_type])
- font_install(options)
process_exts(filename, extensions, file, isodoc, options)
end
def process_input(filename, options)
case extname = File.extname(filename)
@@ -101,13 +100,25 @@
fnames = { xml: f.sub(/\.[^.]+$/, ".xml"), f: f,
orig_filename: File.expand_path(filename),
presentationxml: f.sub(/\.[^.]+$/, ".presentation.xml") }
@queue = ::Metanorma::WorkersPool
.new(ENV["METANORMA_PARALLEL"]&.to_i || 3)
+ gather_and_install_fonts(file, options.dup, extensions)
+ process_exts_run(fnames, file, isodoc, extensions, options)
+ @queue.shutdown
+ end
+
+ def process_exts_run(fnames, file, isodoc, extensions, options)
Util.sort_extensions_execution(extensions).each do |ext|
process_ext(ext, file, isodoc, fnames, options)
end
- @queue.shutdown
+ end
+
+ def gather_and_install_fonts(file, options, extensions)
+ Util.sort_extensions_execution(extensions).each do |ext|
+ isodoc_options = get_isodoc_options(file, options, ext)
+ font_install(isodoc_options.merge(options))
+ end
end
def process_ext(ext, file, isodoc, fnames, options)
fnames[:ext] = @processor.output_formats[ext]
fnames[:out] = fnames[:f].sub(/\.[^.]+$/, ".#{fnames[:ext]}")