Sha256: 91cbca04f42c197f8c1082290e323f689ca73c73f2ac1865e7c8dcc879725497

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

require "isodoc"
require "isodoc/generic/html_convert"
require_relative "init"
require_relative "base_convert"

module IsoDoc
  module Bipm
    class HtmlConvert < IsoDoc::Generic::HtmlConvert
      def doccontrol(elem, out)
        out.div **attr_code(class: "doccontrol") do |div|
          clause_parse_title(elem, div, elem.at(ns("./fmt-title")), out)
          elem.children.reject { |c1| c1.name == "fmt-title" }.each do |c1|
            parse(c1, div)
          end
        end
      end

      def counter_reset(node)
        s = node["start"]
        return nil unless s && !s.empty? && !s.to_i.zero?

        "counter-reset: #{node['type']} #{s.to_i - 1};"
      end

      def ol_attrs(node)
        klass, style = if (node["type"] == "roman" &&
            !node.at("./ancestor::xmlns:ol[@type = 'roman']")) ||
            (node["type"] == "alphabet" &&
                !node.at("./ancestor::xmlns:ol[@type = 'alphabet']"))
                         [node["type"], counter_reset(node)]
                       end
        super.merge(attr_code(type: ol_style((node["type"] || "arabic").to_sym),
                              start: node["start"]), style: style, class: klass)
      end

      include BaseConvert
      include Init
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
metanorma-bipm-2.6.2 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.6.1 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.6.0 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.5.12 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.5.11 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.5.10 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.5.9 lib/isodoc/bipm/html_convert.rb
metanorma-bipm-2.5.8 lib/isodoc/bipm/html_convert.rb