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" }