class IsoDoc::UN::HtmlConvert
A {Converter} implementation that generates HTML output, and a document schema encapsulation of the document for validation
Public Class Methods
new(options)
click to toggle source
Calls superclass method
# File lib/isodoc/un/html_convert.rb, line 12 def initialize(options) @libdir = File.dirname(__FILE__) super end
Public Instance Methods
default_file_locations(_options)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 35 def default_file_locations(_options) { htmlstylesheet: html_doc_path("htmlstyle.scss"), htmlcoverpage: html_doc_path("html_unece_titlepage.html"), htmlintropage: html_doc_path("html_unece_intro.html"), } end
default_fonts(options)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 17 def default_fonts(options) { bodyfont: ( options[:script] == "Hans" ? '"Source Han Sans",serif' : '"Times New Roman", serif' ), headerfont: ( options[:script] == "Hans" ? '"Source Han Sans",sans-serif' : '"Times New Roman", serif' ), monospacefont: '"Courier New",monospace', normalfontsize: "15px", footnotefontsize: "0.9em", } end
foreword(isoxml, out)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 99 def foreword(isoxml, out) f = isoxml.at(ns("//foreword")) || return page_break(out) out.div **attr_code(id: f["id"]) do |s| clause_name(nil, f.at(ns("./title")) || @i18n.foreword, s, class: "ForewordTitle") f.elements.each { |e| parse(e, s) unless e.name == "title" } end end
googlefonts()
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 44 def googlefonts <<~HEAD.freeze <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i|Space+Mono:400,700" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,500,700,900" rel="stylesheet"> HEAD end
introduction(isoxml, out)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 88 def introduction(isoxml, out) f = isoxml.at(ns("//introduction")) || return page_break(out) out.div **{ class: "Section3", id: f["id"] } do |div| clause_name(nil, f.at(ns("./title")), div, { class: "IntroTitle" }) f.elements.each do |e| parse(e, div) unless e.name == "title" end end end
make_body(xml, docxml)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 51 def make_body(xml, docxml) plenary = is_plenary?(docxml) body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" } if plenary && @htmlcoverpage == html_doc_path("html_unece_titlepage.html") @htmlcoverpage = html_doc_path("html_unece_plenary_titlepage.html") end xml.body **body_attr do |body| make_body1(body, docxml) make_body2(body, docxml) make_body3(body, docxml) end end
make_body3(body, docxml)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 66 def make_body3(body, docxml) body.div **{ class: "main-section" } do |div3| boilerplate docxml, div3 preface_block docxml, div3 abstract docxml, div3 foreword docxml, div3 introduction docxml, div3 preface docxml, div3 acknowledgements docxml, div3 middle docxml, div3 footnotes div3 comments div3 end end
middle(isoxml, out)
click to toggle source
# File lib/isodoc/un/html_convert.rb, line 81 def middle(isoxml, out) middle_admonitions(isoxml, out) clause isoxml, out annex isoxml, out bibliography isoxml, out end