lib/isodoc/vsd/html_convert.rb in metanorma-vsd-0.3.3 vs lib/isodoc/vsd/html_convert.rb in metanorma-vsd-0.4.1
- old
+ new
@@ -1,54 +1,51 @@
-require "isodoc/rsd/html_convert"
+require "isodoc/html_convert"
require_relative "metadata"
module IsoDoc
module Vsd
# A {Converter} implementation that generates HTML output, and a document
# schema encapsulation of the document for validation
#
- class HtmlConvert < IsoDoc::Rsd::HtmlConvert
- def vsd_html_path(file)
- File.join(File.dirname(__FILE__), File.join("html", file))
+ class HtmlConvert < IsoDoc::HtmlConvert
+ def initialize(options)
+ @libdir ||= File.dirname(__FILE__)
+ super
end
- def initialize(options)
+ def convert1(docxml, filename, dir)
+ FileUtils.cp html_doc_path('logo.png'), File.join(@localdir, "logo.png")
+ @files_to_delete << File.join(@localdir, "logo.png")
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" }
@@ -56,10 +53,9 @@
make_body1(body, docxml)
make_body2(body, docxml)
make_body3(body, docxml)
end
end
-
end
end
end