class Asciidoctor::Rsd::Converter

A {Converter} implementation that generates RSD output, and a document schema encapsulation of the document for validation

Constants

XML_NAMESPACE
XML_ROOT_TAG

Public Instance Methods

clause_parse(attrs, xml, node) click to toggle source
Calls superclass method
# File lib/asciidoctor/rsd/converter.rb, line 40
def clause_parse(attrs, xml, node)
  sectiontype(node) == "executive summary" and
    return executivesummary_parse(attrs, xml, node)
  super
end
configuration() click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 54
def configuration
  Metanorma::Rsd.configuration
end
executivesummary_parse(attrs, xml, node) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 46
def executivesummary_parse(attrs, xml, node)
  xml.executivesummary **attr_code(attrs) do |xml_section|
    xml_section.title { |t| t << node.title || "Executive Summary" }
    content = node.content
    xml_section << content
  end
end
html_converter(node) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 58
def html_converter(node)
  IsoDoc::Rsd::HtmlConvert.new(html_extract_attributes(node))
end
make_preface(x, s) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 27
def make_preface(x, s)
  if x.at("//foreword | //introduction | //acknowledgements | "\
      "//clause[@preface] | //executivesummary")
    preface = s.add_previous_sibling("<preface/>").first
    f = x.at("//foreword") and preface.add_child f.remove
    f = x.at("//executivesummary") and preface.add_child f.remove
    f = x.at("//introduction") and preface.add_child f.remove
    move_clauses_into_preface(x, preface)
    f = x.at("//acknowledgements") and preface.add_child f.remove
  end
  make_abstract(x, s)
end
pdf_converter(node) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 62
def pdf_converter(node)
  return nil if node.attr("no-pdf")
  IsoDoc::Rsd::PdfConvert.new(html_extract_attributes(node))
end
sectiontype(node, level = true) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 15
def sectiontype(node, level = true)
  ret = node&.attr("heading")&.downcase ||
    node.title.gsub(/<[^>]+>/, "").downcase
  ret1 = sectiontype_streamline(ret)
  return ret1 if "symbols and abbreviated terms" == ret1
  return ret1 if "executive summary" == ret1
  return nil unless !level || node.level == 1
  return nil if @seen_headers.include? ret
  @seen_headers << ret
  ret1
end
word_converter(node) click to toggle source
# File lib/asciidoctor/rsd/converter.rb, line 67
def word_converter(node)
  IsoDoc::Rsd::WordConvert.new(doc_extract_attributes(node))
end