lib/isodoc/vsd/pdf_convert.rb in metanorma-vsd-0.3.3 vs lib/isodoc/vsd/pdf_convert.rb in metanorma-vsd-0.4.1

- old
+ new

@@ -1,52 +1,42 @@ -require "isodoc" -require "isodoc/rsd/pdf_convert" +require "isodoc/pdf_convert" require_relative "metadata" module IsoDoc module Vsd # A {Converter} implementation that generates PDF HTML output, and a # document schema encapsulation of the document for validation - class PdfConvert < IsoDoc::Rsd::PdfConvert - def vsd_html_path(file) - File.join(File.dirname(__FILE__), File.join("html", file)) - end - + class PdfConvert < IsoDoc::PdfConvert def initialize(options) + @libdir ||= File.dirname(__FILE__) super - @htmlstylesheet = generate_css(vsd_html_path("htmlstyle.scss"), true, default_fonts(options)) - @htmlcoverpage = vsd_html_path("html_vsd_titlepage.html") - @htmlintropage = vsd_html_path("html_vsd_intro.html") - @scripts = vsd_html_path("scripts.html") - system "cp #{vsd_html_path('logo.png')} logo.png" - @files_to_delete << "logo.png" end def default_fonts(options) - b = options[:bodyfont] || - (options[:script] == "Hans" ? '"SimSun",serif' : - '"Overpass",sans-serif') - h = options[:headerfont] || - (options[:script] == "Hans" ? '"SimHei",sans-serif' : - '"Overpass",sans-serif') - m = options[:monospacefont] || '"Space Mono",monospace' - "$bodyfont: #{b};\n$headerfont: #{h};\n$monospacefont: #{m};\n" + { + bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Overpass",sans-serif'), + headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Overpass",sans-serif'), + monospacefont: '"Space Mono",monospace' + } end - def html_head() - <<~HEAD.freeze - <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> + def default_file_locations(_options) + { + htmlstylesheet: html_doc_path("htmlstyle.scss"), + htmlcoverpage: html_doc_path("html_vsd_titlepage.html"), + htmlintropage: html_doc_path("html_vsd_intro.html"), + scripts: html_doc_path("scripts.html"), + } + end - <!--TOC script import--> - <script type="text/javascript" src="https://cdn.rawgit.com/jgallen23/toc/0.3.2/dist/toc.min.js"></script> + def metadata_init(lang, script, labels) + @meta = Metadata.new(lang, script, labels) + end - <!--Google fonts--> + 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=Overpass:300,300i,600,900" rel="stylesheet"> - <!--Font awesome import for the link icon--> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/solid.css" integrity="sha384-v2Tw72dyUXeU3y4aM2Y0tBJQkGfplr39mxZqlTBDUZAb9BGoC40+rdFCG0m10lXk" crossorigin="anonymous"> - <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/fontawesome.css" integrity="sha384-q3jl8XQu1OpdLgGFvNRnPdj5VIlCvgsDQTQB6owSOHWlAurxul7f+JpUOVdAiJ5P" crossorigin="anonymous"> -<style class="anchorjs"></style> HEAD end def make_body(xml, docxml) body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }