metanorma-ogc 2.0.4 → 2.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -64,87 +64,11 @@ module IsoDoc
64
64
  end
65
65
  end
66
66
 
67
- def insert_toc(intro, docxml, level)
68
- toc = ""
69
- toc += make_WordToC(docxml, level)
70
- if docxml.at("//p[@class = 'TableTitle']")
71
- toc += %{<p class="TOCTitle">List of Tables</p>}
72
- toc += make_TableWordToC(docxml)
73
- end
74
- if docxml.at("//p[@class = 'FigureTitle']")
75
- toc += %{<p class="TOCTitle">List of Figures</p>}
76
- toc += make_FigureWordToC(docxml)
77
- end
78
- if docxml.at("//p[@class = 'RecommendationTitle']")
79
- toc += %{<p class="TOCTitle">List of Recommendations</p>}
80
- toc += make_RecommendationWordToC(docxml)
81
- end
82
- intro.sub(/WORDTOC/, toc)
83
- end
84
-
85
- WORD_TOC_RECOMMENDATION_PREFACE1 = <<~TOC.freeze
86
- <span lang="EN-GB"><span
87
- style='mso-element:field-begin'></span><span
88
- style='mso-spacerun:yes'>&#xA0;</span>TOC
89
- \\h \\z \\t &quot;RecommendationTitle,RecommendationTestTitle,recommendationtitle,recommendationtesttitle&quot;#{' '}
90
- <span style='mso-element:field-separator'></span></span>
91
- TOC
92
-
93
- WORD_TOC_TABLE_PREFACE1 = <<~TOC.freeze
94
- <span lang="EN-GB"><span
95
- style='mso-element:field-begin'></span><span
96
- style='mso-spacerun:yes'>&#xA0;</span>TOC
97
- \\h \\z \\t &quot;TableTitle,tabletitle&quot; <span
98
- style='mso-element:field-separator'></span></span>
99
- TOC
100
-
101
- WORD_TOC_FIGURE_PREFACE1 = <<~TOC.freeze
102
- <span lang="EN-GB"><span
103
- style='mso-element:field-begin'></span><span
104
- style='mso-spacerun:yes'>&#xA0;</span>TOC
105
- \\h \\z \\t &quot;FigureTitle,figuretitle&quot; <span
106
- style='mso-element:field-separator'></span></span>
107
- TOC
108
-
109
- def header_strip(h)
110
- h = h.to_s.gsub(/<\/?p[^>]*>/, "")
67
+ def header_strip(hdr)
68
+ hdr = hdr.to_s.gsub(/<\/?p[^>]*>/, "")
111
69
  super
112
70
  end
113
71
 
114
- def make_TableWordToC(docxml)
115
- toc = ""
116
- docxml.xpath("//p[@class = 'TableTitle']").each do |h|
117
- toc += word_toc_entry(1, header_strip(h))
118
- end
119
- toc.sub(/(<p class="MsoToc1">)/,
120
- %{\\1#{WORD_TOC_TABLE_PREFACE1}}) + WORD_TOC_SUFFIX1
121
- end
122
-
123
- def make_FigureWordToC(docxml)
124
- toc = ""
125
- docxml.xpath("//p[@class = 'FigureTitle']").each do |h|
126
- toc += word_toc_entry(1, header_strip(h))
127
- end
128
- toc.sub(/(<p class="MsoToc1">)/,
129
- %{\\1#{WORD_TOC_FIGURE_PREFACE1}}) + WORD_TOC_SUFFIX1
130
- end
131
-
132
- def make_RecommendationWordToC(docxml)
133
- toc = ""
134
- docxml.xpath("//p[@class = 'RecommendationTitle' or @class = 'RecommendationTestTitle']").sort_by do |h|
135
- recommmendation_sort_key(h.text)
136
- end.each do |h|
137
- toc += word_toc_entry(1, header_strip(h))
138
- end
139
- toc.sub(/(<p class="MsoToc1">)/,
140
- %{\\1#{WORD_TOC_RECOMMENDATION_PREFACE1}}) + WORD_TOC_SUFFIX1
141
- end
142
-
143
- def recommmendation_sort_key(header)
144
- m = /^([^0-9]+) (\d+)/.match(header) || /^([^:]+)/.match(header)
145
- "#{recommmendation_sort_key1(m[1])}::#{'%04d' % m[2].to_i}"
146
- end
147
-
148
72
  def recommmendation_sort_key1(type)
149
73
  case type.downcase
150
74
  when "requirements class" then "01"
@@ -150,9 +150,9 @@ module IsoDoc
150
150
  @prefacenum = 0
151
151
  ["//preface/abstract", "//preface/clause[@type = 'executivesummary']",
152
152
  "//preface/clause[@type = 'keywords']",
153
- "//foreword", "//introduction", "//preface/clause[@type = 'security']",
154
- "//preface/clause[@type = 'submitting_orgs']",
155
- "//submitters"].each do |path|
153
+ "//foreword", "//preface/clause[@type = 'security']",
154
+ "//preface/clause[@type = 'submitting_orgs']", "//submitters",
155
+ "//introduction"].each do |path|
156
156
  preface_names_numbered(doc.at(ns(path)))
157
157
  end
158
158
  doc.xpath(ns("//preface/clause[not(@type = 'keywords' or "\
@@ -182,7 +182,7 @@ module IsoDoc
182
182
  @prefacenum += 1
183
183
  pref = preface_number(@prefacenum, 1)
184
184
  @anchors[clause["id"]] =
185
- { label: pref,
185
+ { label: pref,
186
186
  level: 1, xref: preface_clause_name(clause), type: "clause" }
187
187
  clause.xpath(ns(SUBCLAUSES)).each_with_index do |c, i|
188
188
  preface_names_numbered1(c, "#{pref}.#{preface_number(i + 1, 2)}", 2)
@@ -16,6 +16,13 @@ module Metanorma
16
16
 
17
17
  register_for "ogc"
18
18
 
19
+ def init_toc(node)
20
+ super
21
+ @tocfigures = true
22
+ @toctables = true
23
+ @tocrecommendations = true
24
+ end
25
+
19
26
  # ignore, we generate ToC outside of asciidoctor
20
27
  def toc(value); end
21
28
 
@@ -4,7 +4,7 @@ module Metanorma
4
4
  module Ogc
5
5
  class Processor < Metanorma::Processor
6
6
 
7
- def initialize
7
+ def initialize # rubocop:disable Lint/MissingSuper
8
8
  @short = :ogc
9
9
  @input_format = :asciidoc
10
10
  @asciidoctor_backend = :ogc
@@ -14,7 +14,7 @@ module Metanorma
14
14
  super.merge(
15
15
  html: "html",
16
16
  doc: "doc",
17
- pdf: "pdf"
17
+ pdf: "pdf",
18
18
  )
19
19
  end
20
20
 
@@ -41,14 +41,14 @@ module Metanorma
41
41
 
42
42
  def output(isodoc_node, inname, outname, format, options={})
43
43
  case format
44
- when :html
45
- IsoDoc::Ogc::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
46
- when :doc
47
- IsoDoc::Ogc::WordConvert.new(options).convert(inname, isodoc_node, nil, outname)
48
- when :pdf
49
- IsoDoc::Ogc::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
50
- when :presentation
51
- IsoDoc::Ogc::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
44
+ when :html then IsoDoc::Ogc::HtmlConvert.new(options)
45
+ .convert(inname, isodoc_node, nil, outname)
46
+ when :doc then IsoDoc::Ogc::WordConvert.new(options)
47
+ .convert(inname, isodoc_node, nil, outname)
48
+ when :pdf then IsoDoc::Ogc::PdfConvert.new(options)
49
+ .convert(inname, isodoc_node, nil, outname)
50
+ when :presentation then IsoDoc::Ogc::PresentationXMLConvert.new(options)
51
+ .convert(inname, isodoc_node, nil, outname)
52
52
  else
53
53
  super
54
54
  end
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Ogc
3
- VERSION = "2.0.4".freeze
3
+ VERSION = "2.0.5".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-ogc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-21 00:00:00.000000000 Z
11
+ date: 2022-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639