Sha256: abeccb2678e56017ec4100568d8520a47da52f5ae0a6df45132b05ab5d36c40a

Contents?: true

Size: 1.91 KB

Versions: 5

Compression:

Stored size: 1.91 KB

Contents

require_relative "base_convert"
require_relative "init"
require "isodoc"

module IsoDoc
  module Generic

    # A {Converter} implementation that generates HTML output, and a document
    # schema encapsulation of the document for validation
    #
    class HtmlConvert < IsoDoc::HtmlConvert
      def initialize(options)
        @libdir = File.dirname(__FILE__)
        super
      end

      class << self
        attr_accessor :_file
      end

      def self.inherited( k )
        k._file = caller_locations.first.absolute_path
      end

      def default_fonts(options)
        {
          bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' 
                     : configuration.html_bodyfont || '"Overpass",sans-serif'),
          headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : 
                       configuration.html_headerfont || '"Overpass",sans-serif'),
          monospacefont: configuration.html_monospacefont || '"Space Mono",monospace'
        }
      end

      def default_file_locations(_options)
        {
          htmlstylesheet: baselocation(configuration.htmlstylesheet) ||
            html_doc_path("htmlstyle.scss"),
          htmlcoverpage: baselocation(configuration.htmlcoverpage) ||
            html_doc_path("html_generic_titlepage.html"),
          htmlintropage: baselocation(configuration.htmlintropage) ||
            html_doc_path("html_generic_intro.html"),
          scripts: baselocation(configuration.scripts) ||
            html_doc_path("scripts.html"),
          i18nyaml: baselocation(configuration.i18nyaml)
        }
      end

      def configuration
        Metanorma::Generic.configuration
      end

      def googlefonts
        return unless configuration.webfont
        Array(configuration.webfont).map do |x|
          %{<link href="#{x.gsub(/\&amp;/, '&')}" rel="stylesheet">}
        end.join("\n")
      end

      include BaseConvert
      include Init
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
metanorma-generic-1.6.3 lib/isodoc/generic/html_convert.rb
metanorma-generic-1.6.2 lib/isodoc/generic/html_convert.rb
metanorma-generic-1.6.1 lib/isodoc/generic/html_convert.rb
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/metanorma-generic-1.6.0/lib/isodoc/generic/html_convert.rb
metanorma-generic-1.6.0 lib/isodoc/generic/html_convert.rb