metanorma-standoc 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,7 @@ $docstage-colors-list: (
29
29
  retired: #2E382E
30
30
  );
31
31
 
32
- @import 'base_style/all';
32
+ @use 'base_style/all' as *;
33
33
 
34
34
  /*
35
35
  1. HTML & Body
@@ -92,24 +92,6 @@ nav {
92
92
  @include sidebarNavToggle(white, #C70039)
93
93
  }
94
94
 
95
- @media screen and (min-width: 768px) {
96
- .container {
97
- padding-left: 360px;
98
- }
99
-
100
- .rule.toc {
101
- display: none;
102
- }
103
-
104
- h1.toc-contents {
105
- margin-top: 1em;
106
- }
107
-
108
- ul#toc-list, ul#toc-list > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
109
- padding: 0;
110
- margin: 0;
111
- }
112
- }
113
95
 
114
96
  div.figure {
115
97
  @include figureBlock();
@@ -643,6 +625,27 @@ To top button
643
625
  margin: 2cm 1cm;
644
626
  }
645
627
 
628
+
629
+ @media screen and (min-width: 768px) {
630
+ .container {
631
+ padding-left: 360px;
632
+ }
633
+
634
+ .rule.toc {
635
+ display: none;
636
+ }
637
+
638
+ h1.toc-contents {
639
+ margin-top: 1em;
640
+ }
641
+
642
+ ul#toc-list, ul#toc-list > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
643
+ padding: 0;
644
+ margin: 0;
645
+ }
646
+ }
647
+
648
+
646
649
  @media print {
647
650
  .document-info, nav, .copyright {
648
651
  page-break-before: always;
@@ -11,6 +11,14 @@ require_relative "localbib"
11
11
  require_relative "init"
12
12
  require "mn-requirements"
13
13
 
14
+ require 'set'
15
+
16
+ module Asciidoctor
17
+ module Compliance
18
+ ADMONITION_STYLES.add('EDITOR') unless ADMONITION_STYLES.include?('EDITOR')
19
+ end
20
+ end
21
+
14
22
  module Metanorma
15
23
  module Standoc
16
24
  module Base
@@ -599,17 +599,9 @@ It is included for convenience, in case processing the citation to extract the a
599
599
  <a:documentation>The caption of the block</a:documentation>
600
600
  </ref>
601
601
  </optional>
602
- <oneOrMore>
603
- <choice>
604
- <text>
605
- <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
606
- (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
607
- </text>
608
- <ref name="callout">
609
- <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
610
- </ref>
611
- </choice>
612
- </oneOrMore>
602
+ <ref name="sourcecodebody">
603
+ <a:documentation>The sourcecode content</a:documentation>
604
+ </ref>
613
605
  <zeroOrMore>
614
606
  <ref name="annotation">
615
607
  <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
@@ -628,17 +620,9 @@ and is intended to be referenced by a callout within the source code</a:document
628
620
  <a:documentation>The caption of the block</a:documentation>
629
621
  </ref>
630
622
  </optional>
631
- <oneOrMore>
632
- <choice>
633
- <text>
634
- <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
635
- (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
636
- </text>
637
- <ref name="callout">
638
- <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
639
- </ref>
640
- </choice>
641
- </oneOrMore>
623
+ <ref name="sourcecodebody">
624
+ <a:documentation>The sourcecode content</a:documentation>
625
+ </ref>
642
626
  <zeroOrMore>
643
627
  <ref name="annotation">
644
628
  <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
@@ -651,6 +635,20 @@ and is intended to be referenced by a callout within the source code</a:document
651
635
  </ref>
652
636
  </zeroOrMore>
653
637
  </define>
638
+ <define name="sourcecodebody">
639
+ <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
640
+ (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
641
+ <element name="body">
642
+ <oneOrMore>
643
+ <choice>
644
+ <text/>
645
+ <ref name="callout">
646
+ <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
647
+ </ref>
648
+ </choice>
649
+ </oneOrMore>
650
+ </element>
651
+ </define>
654
652
  <define name="pre">
655
653
  <a:documentation>Pre-formatted block. Wrapper for text to be rendered with fixed-width typeface, and preserving spaces including line breaks.
656
654
  They are intended for a restricted number of functions, most typically ASCII Art (which is still in prominent use in some
@@ -1672,18 +1670,25 @@ which can be bookmarks as well as block or section references</a:documentation>
1672
1670
  </optional>
1673
1671
  </define>
1674
1672
  <define name="XrefBody">
1675
- <oneOrMore>
1676
- <ref name="PureTextElement">
1677
- <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1678
- </ref>
1679
- </oneOrMore>
1673
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1674
+ <optional>
1675
+ <element name="display-text">
1676
+ <oneOrMore>
1677
+ <ref name="PureTextElement"/>
1678
+ </oneOrMore>
1679
+ </element>
1680
+ </optional>
1680
1681
  </define>
1681
1682
  <define name="ErefBody">
1682
- <oneOrMore>
1683
- <ref name="PureTextElement">
1684
- <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1685
- </ref>
1686
- </oneOrMore>
1683
+ <optional>
1684
+ <element name="display-text">
1685
+ <oneOrMore>
1686
+ <ref name="PureTextElement">
1687
+ <a:documentation>The textual content of the element. The `text` is what we wish to show the link as (e.g., the "content" of `&lt;xx&gt;my link text&lt;/xx&gt;`)</a:documentation>
1688
+ </ref>
1689
+ </oneOrMore>
1690
+ </element>
1691
+ </optional>
1687
1692
  </define>
1688
1693
  <define name="fn">
1689
1694
  <a:documentation>Inline reference to a paragraph or paragraphs, appearing as a footnote.
@@ -201,7 +201,9 @@ module Metanorma
201
201
  fragment = ::Nokogiri::XML::Builder.new do |xml|
202
202
  xml.sourcecode **listing_attrs(node) do |s|
203
203
  figure_title(node, s)
204
- s << node.content
204
+ s.body do |b|
205
+ b << node.content
206
+ end
205
207
  end
206
208
  end
207
209
  fragment.to_xml(encoding: "US-ASCII", save_with:
@@ -90,8 +90,10 @@ module Metanorma
90
90
  end
91
91
 
92
92
  def admonition_name(node)
93
- ret = node.attr("type") || node.attr("name")
94
- ret&.downcase
93
+ ret = node.attr("type") || node.attr("name") or return
94
+ ret = ret.downcase
95
+ ret == "editor" and ret = "editorial"
96
+ ret
95
97
  end
96
98
 
97
99
  def admonition(node)
@@ -119,8 +119,8 @@ module Metanorma
119
119
 
120
120
  def align_callouts_to_annotations(xmldoc)
121
121
  xmldoc.xpath("//sourcecode").each do |x|
122
- callouts = x.elements.select { |e| e.name == "callout" }
123
- annotations = x.elements.select { |e| e.name == "annotation" }
122
+ callouts = x.xpath("./body/callout")
123
+ annotations = x.xpath("./annotation")
124
124
  callouts.size == annotations.size and
125
125
  link_callouts_to_annotations(callouts, annotations)
126
126
  end
@@ -163,7 +163,7 @@ module Metanorma
163
163
  acc << safe_noko(a[0], node.document)
164
164
  a.size == 4 or next
165
165
  acc << Asciidoctor.convert(
166
- a[2], doctype: :inline, backend: self&.backend&.to_sym || :standoc
166
+ a[2], doctype: :inline, backend: backend&.to_sym || :standoc
167
167
  )
168
168
  end.join
169
169
  end
@@ -217,9 +217,9 @@ module Metanorma
217
217
  ["en"].each do |lang|
218
218
  at = { language: lang, format: "text/plain" }
219
219
  xml.title **attr_code(at) do |t|
220
- title = Metanorma::Utils::asciidoc_sub(node.attr("title") ||
221
- node.attr("title-en"))
222
- t << (title || node.title)
220
+ title = Metanorma::Utils::asciidoc_sub(
221
+ node.attr("title") || node.attr("title-en") || node.attr("doctitle"))
222
+ t << title
223
223
  end
224
224
  end
225
225
  end
@@ -245,23 +245,9 @@
245
245
  <a:documentation>The caption of the block</a:documentation>
246
246
  </ref>
247
247
  </optional>
248
- <oneOrMore>
249
- <choice>
250
- <text>
251
- <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
252
- (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
253
- </text>
254
- <ref name="callout">
255
- <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
256
- </ref>
257
- <ref name="xref">
258
- <a:documentation>Hyperlink of code segment to another part of the document</a:documentation>
259
- </ref>
260
- <ref name="eref">
261
- <a:documentation>Hyperlink of code segment to external bibliographic resource</a:documentation>
262
- </ref>
263
- </choice>
264
- </oneOrMore>
248
+ <ref name="sourcecodebody">
249
+ <a:documentation>The sourcecode content</a:documentation>
250
+ </ref>
265
251
  <zeroOrMore>
266
252
  <ref name="annotation">
267
253
  <a:documentation>Annotations to the source code; each annotation consists of zero or more paragraphs,
@@ -277,6 +263,26 @@ and is intended to be referenced by a callout within the source code</a:document
277
263
  <a:documentation>A source for the block</a:documentation>
278
264
  </ref>
279
265
  </define>
266
+ <define name="sourcecodebody">
267
+ <a:documentation>The computer code or other such text presented in the block, as a single unformatted string.
268
+ (The string should be treated as pre-formatted text, with whitespace treated as significant)</a:documentation>
269
+ <element name="body">
270
+ <oneOrMore>
271
+ <choice>
272
+ <text/>
273
+ <ref name="callout">
274
+ <a:documentation>Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations</a:documentation>
275
+ </ref>
276
+ <ref name="xref">
277
+ <a:documentation>Hyperlink of code segment to another part of the document</a:documentation>
278
+ </ref>
279
+ <ref name="eref">
280
+ <a:documentation>Hyperlink of code segment to external bibliographic resource</a:documentation>
281
+ </ref>
282
+ </choice>
283
+ </oneOrMore>
284
+ </element>
285
+ </define>
280
286
  <define name="sections">
281
287
  <element name="sections">
282
288
  <oneOrMore>
@@ -44,6 +44,7 @@ module Metanorma
44
44
  on_contexts :example, :paragraph
45
45
 
46
46
  def process(parent, reader, attrs)
47
+ require "debug"; binding.b
47
48
  attrs["name"] = "editorial"
48
49
  attrs["caption"] = "EDITOR"
49
50
  create_block(parent, :admonition, reader.lines, attrs,
@@ -11,8 +11,8 @@ module Metanorma
11
11
 
12
12
  def sourcecode_style(root)
13
13
  root.xpath("//sourcecode").each do |x|
14
- callouts = x.elements.select { |e| e.name == "callout" }
15
- annotations = x.elements.select { |e| e.name == "annotation" }
14
+ callouts = x.xpath("./body/callout")
15
+ annotations = x.xpath("./annotation")
16
16
  callouts_error(x, callouts, annotations)
17
17
  end
18
18
  end
@@ -19,6 +19,6 @@ module Metanorma
19
19
  end
20
20
 
21
21
  module Standoc
22
- VERSION = "3.0.0".freeze
22
+ VERSION = "3.0.2".freeze
23
23
  end
24
24
  end
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency "asciidoctor", "~> 2.0.0"
33
33
  spec.add_dependency "crass", "~> 1.0.0"
34
34
  spec.add_dependency "iev", "~> 0.3.5"
35
- spec.add_dependency "isodoc", "~> 3.0.0"
35
+ spec.add_dependency "isodoc", "~> 3.1.0"
36
36
  spec.add_dependency "metanorma", ">= 1.6.0"
37
37
  spec.add_dependency "metanorma-plugin-datastruct", "~> 0.3.0"
38
38
  spec.add_dependency "metanorma-plugin-glossarist", "~> 0.2.0"
@@ -54,7 +54,7 @@ Gem::Specification.new do |spec|
54
54
  spec.add_development_dependency "rake", "~> 13.0"
55
55
  spec.add_development_dependency "rspec", "~> 3.6"
56
56
  spec.add_development_dependency "rubocop", "~> 1.5.2"
57
- spec.add_development_dependency "sassc", "2.4.0"
57
+ spec.add_development_dependency "sassc-embedded", "~> 1"
58
58
  spec.add_development_dependency "simplecov", "~> 0.15"
59
59
  spec.add_development_dependency "timecop", "~> 0.9"
60
60
  spec.add_development_dependency "vcr", "~> 6.1.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-standoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-17 00:00:00.000000000 Z
11
+ date: 2025-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 3.0.0
75
+ version: 3.1.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 3.0.0
82
+ version: 3.1.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: metanorma
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -347,19 +347,19 @@ dependencies:
347
347
  - !ruby/object:Gem::Version
348
348
  version: 1.5.2
349
349
  - !ruby/object:Gem::Dependency
350
- name: sassc
350
+ name: sassc-embedded
351
351
  requirement: !ruby/object:Gem::Requirement
352
352
  requirements:
353
- - - '='
353
+ - - "~>"
354
354
  - !ruby/object:Gem::Version
355
- version: 2.4.0
355
+ version: '1'
356
356
  type: :development
357
357
  prerelease: false
358
358
  version_requirements: !ruby/object:Gem::Requirement
359
359
  requirements:
360
- - - '='
360
+ - - "~>"
361
361
  - !ruby/object:Gem::Version
362
- version: 2.4.0
362
+ version: '1'
363
363
  - !ruby/object:Gem::Dependency
364
364
  name: simplecov
365
365
  requirement: !ruby/object:Gem::Requirement
@@ -605,7 +605,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
605
605
  - !ruby/object:Gem::Version
606
606
  version: '0'
607
607
  requirements: []
608
- rubygems_version: 3.3.27
608
+ rubygems_version: 3.5.22
609
609
  signing_key:
610
610
  specification_version: 4
611
611
  summary: metanorma-standoc realises standards following the Metanorma standoc model