Module: Metanorma::Core::Isodoc
- Defined in:
- lib/metanorma/core/isodoc.rb
Defined Under Namespace
Classes: EmptyNode
Class Method Summary collapse
- .init(converter, lang:, script:, locale: nil, i18nyaml: nil, xml: nil, localdir: nil) ⇒ Object
- .resolve_converter(flavor, presxml: true) ⇒ Object
Class Method Details
.init(converter, lang:, script:, locale: nil, i18nyaml: nil, xml: nil, localdir: nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/metanorma/core/isodoc.rb', line 19 def self.init(converter, lang:, script:, locale: nil, i18nyaml: nil, xml: nil, localdir: nil) converter.init_i18n(i18nyaml: i18nyaml, language: lang, script: script, locale: locale) i18n = converter.i18n_init(lang, script, locale, i18nyaml) converter.(lang, script, locale, i18n) converter..localdir = localdir if localdir converter.xref_init(lang, script, nil, i18n, {}) converter.xrefs.klass. = converter. converter.xrefs.klass.localdir = localdir if localdir converter.info(xml, nil) if xml converter end |
.resolve_converter(flavor, presxml: true) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/metanorma/core/isodoc.rb', line 33 def self.resolve_converter(flavor, presxml: true) resolved = Metanorma::Core::FlavorLoader.load_flavor(flavor) conv_class = ::Asciidoctor::Converter.for(resolved.to_s) || ::Asciidoctor::Converter.for(resolved) conv_class or raise "No Asciidoctor converter registered for #{resolved}" conv_instance = conv_class.new(resolved.to_s, {}) method_name = presxml ? :presentation_xml_converter : :html_converter conv_instance.respond_to?(method_name) or raise "Flavor #{resolved} does not support " \ "#{presxml ? 'presentation XML' : 'HTML'} conversion" conv_instance.send(method_name, EmptyNode.new) end |