asciidoctor-csd 0.2.6 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7813a1ce2465a643c8810db821bc62b5c8164ecd
4
- data.tar.gz: 158c000b02fc25d6e0f477a27786717708c97549
3
+ metadata.gz: 83224d4a089042a0681c82f63bb9865ab354fb08
4
+ data.tar.gz: d5775bda938e59d3224131f5ebd6ac1fbf861a21
5
5
  SHA512:
6
- metadata.gz: d35d0464d98b501bf40b7f8b11e43c864962b53e6b66d95221207b8cc0a3070fafb46b125bc5d748a0b9eb8f759f0d27bad81b14197ff4cf9c8342b634def076
7
- data.tar.gz: f24400e256ac0e02ea6ceb71e1d5f4a864f763dd76f2af38d311473d7b3d38ccacb096471da937f8b48a6a96040fdc7d4a6874847b691cfb2bca5a2cabb93a2d
6
+ metadata.gz: f7d61eca2c9826563757e3df1285d0ccce6fa194224d1b63a1e5f9216a42686bba437b2bbf78c10262d4d48fa4df09c7f088d4b342aafa2d3795e29100b3f53e
7
+ data.tar.gz: 9df37d23f913052222f571efafc8aa3e7b8d8cce6141352159a1eb4722c59df000b536493f823605993f0a7298085f9582434daeb90f326cfe0ceb8edc2da208
data/Gemfile CHANGED
@@ -1,11 +1,4 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in ribose.gemspec
4
- gem "isodoc",
5
- git: "https://github.com/riboseinc/isodoc.git"
6
- gem "asciidoctor-iso",
7
- git: "https://github.com/riboseinc/asciidoctor-iso.git"
8
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
9
-
10
3
  # Specify your gem's dependencies in asciidoctor-csd.gemspec
11
4
  gemspec
@@ -0,0 +1,130 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ asciidoctor-csd (0.1.0)
5
+ asciidoctor (~> 1.5.6)
6
+ asciimath
7
+ htmlentities (~> 4.3.4)
8
+ image_size
9
+ mime-types
10
+ nokogiri (~> 1.8.1)
11
+ ruby-jing
12
+ ruby-xslt
13
+ thread_safe
14
+ uuidtools
15
+
16
+ GEM
17
+ remote: https://rubygems.org/
18
+ specs:
19
+ asciidoctor (1.5.6.1)
20
+ asciimath (1.0.4)
21
+ ast (2.4.0)
22
+ byebug (9.1.0)
23
+ coderay (1.1.2)
24
+ diff-lcs (1.3)
25
+ docile (1.1.5)
26
+ equivalent-xml (0.6.0)
27
+ nokogiri (>= 1.4.3)
28
+ ffi (1.9.18)
29
+ formatador (0.2.5)
30
+ guard (2.14.2)
31
+ formatador (>= 0.2.4)
32
+ listen (>= 2.7, < 4.0)
33
+ lumberjack (>= 1.0.12, < 2.0)
34
+ nenv (~> 0.1)
35
+ notiffany (~> 0.0)
36
+ pry (>= 0.9.12)
37
+ shellany (~> 0.0)
38
+ thor (>= 0.18.1)
39
+ guard-compat (1.2.1)
40
+ guard-rspec (4.7.3)
41
+ guard (~> 2.1)
42
+ guard-compat (~> 1.1)
43
+ rspec (>= 2.99.0, < 4.0)
44
+ htmlentities (4.3.4)
45
+ image_size (1.5.0)
46
+ json (2.1.0)
47
+ listen (3.1.5)
48
+ rb-fsevent (~> 0.9, >= 0.9.4)
49
+ rb-inotify (~> 0.9, >= 0.9.7)
50
+ ruby_dep (~> 1.2)
51
+ lumberjack (1.0.12)
52
+ method_source (0.9.0)
53
+ mime-types (3.1)
54
+ mime-types-data (~> 3.2015)
55
+ mime-types-data (3.2016.0521)
56
+ mini_portile2 (2.3.0)
57
+ nenv (0.3.0)
58
+ nokogiri (1.8.2)
59
+ mini_portile2 (~> 2.3.0)
60
+ notiffany (0.1.1)
61
+ nenv (~> 0.1)
62
+ shellany (~> 0.0)
63
+ optout (0.0.2)
64
+ parallel (1.12.1)
65
+ parser (2.4.0.2)
66
+ ast (~> 2.3)
67
+ powerpack (0.1.1)
68
+ pry (0.11.3)
69
+ coderay (~> 1.1.0)
70
+ method_source (~> 0.9.0)
71
+ rainbow (3.0.0)
72
+ rake (12.3.0)
73
+ rb-fsevent (0.10.2)
74
+ rb-inotify (0.9.10)
75
+ ffi (>= 0.5.0, < 2)
76
+ rspec (3.7.0)
77
+ rspec-core (~> 3.7.0)
78
+ rspec-expectations (~> 3.7.0)
79
+ rspec-mocks (~> 3.7.0)
80
+ rspec-core (3.7.1)
81
+ rspec-support (~> 3.7.0)
82
+ rspec-expectations (3.7.0)
83
+ diff-lcs (>= 1.2.0, < 2.0)
84
+ rspec-support (~> 3.7.0)
85
+ rspec-mocks (3.7.0)
86
+ diff-lcs (>= 1.2.0, < 2.0)
87
+ rspec-support (~> 3.7.0)
88
+ rspec-support (3.7.1)
89
+ rubocop (0.52.1)
90
+ parallel (~> 1.10)
91
+ parser (>= 2.4.0.2, < 3.0)
92
+ powerpack (~> 0.1)
93
+ rainbow (>= 2.2.2, < 4.0)
94
+ ruby-progressbar (~> 1.7)
95
+ unicode-display_width (~> 1.0, >= 1.0.1)
96
+ ruby-jing (0.0.1)
97
+ optout (>= 0.0.2)
98
+ ruby-progressbar (1.9.0)
99
+ ruby-xslt (0.9.10)
100
+ ruby_dep (1.5.0)
101
+ shellany (0.0.1)
102
+ simplecov (0.15.1)
103
+ docile (~> 1.1.0)
104
+ json (>= 1.8, < 3)
105
+ simplecov-html (~> 0.10.0)
106
+ simplecov-html (0.10.2)
107
+ thor (0.20.0)
108
+ thread_safe (0.3.6)
109
+ timecop (0.9.1)
110
+ unicode-display_width (1.3.0)
111
+ uuidtools (2.1.5)
112
+
113
+ PLATFORMS
114
+ ruby
115
+
116
+ DEPENDENCIES
117
+ asciidoctor-csd!
118
+ bundler (~> 1.15)
119
+ byebug (~> 9.1)
120
+ equivalent-xml (~> 0.6)
121
+ guard (~> 2.14)
122
+ guard-rspec (~> 4.7)
123
+ rake (~> 12.0)
124
+ rspec (~> 3.6)
125
+ rubocop (~> 0.50)
126
+ simplecov (~> 0.15)
127
+ timecop (~> 0.9)
128
+
129
+ BUNDLED WITH
130
+ 1.16.1
@@ -28,11 +28,8 @@ expressions.
28
28
  International Standards.
29
29
  * The XML representation is processed in turn to generate the following outputs
30
30
  as end deliverable CSD standard drafts.
31
- ** Microsoft Word output (`.doc`), following the style conventions of the
32
- https://www.csd.org/csd-templates.html[CSD Standard Microsoft Word template].
33
- (In development)
34
- ** PDF (forthcoming)
35
- ** HTML (forthcoming)
31
+ ** HTML
32
+ ** PDF
36
33
 
37
34
  This AsciiDoc syntax for writing CSD standards is hereby named "AsciiCSD".
38
35
 
@@ -50,39 +47,21 @@ reported to console against the XML, and are intended for users to
50
47
  check that they have provided all necessary components of the
51
48
  document.
52
49
 
53
- TODO: The gem will then convert the XML to Word Document, HTML, and
54
- PDF, and output those files with the appropriate file suffixes.
55
- `lib/asciidoctor/csd/csd2wordhtml.rb` is work in progress, and not yet
56
- integrated into the executable.
50
+ The gem then converts the XML into HTML and PDF.
57
51
 
58
- === Content Warnings
52
+ === PDF output
59
53
 
60
- The gem also realises several format checks as prescribed in ISO/IEC
61
- DIR 2, and warns the user about them in the console:
54
+ PDF output is generated by printing the HTML output as PDF. This is done
55
+ within the gem, using
56
+ https://developers.google.com/web/updates/2017/04/headless-chrome[Headless Chrome],
57
+ via the https://github.com/GoogleChrome/puppeteer[Puppeteer] Node library.
62
58
 
63
- * Numbers with what looks like dots instead of commas for decimal points.
59
+ To get the PDF output working, do the following:
64
60
 
65
- * Groups of numbers without spacing for every three digits. (The gem attempts
66
- to ignore CSD references.)
67
-
68
- * No space before percent sign.
69
-
70
- * No bracketing of tolerance in percentage (e.g. `15 ± 7 % .`)
71
-
72
- * No recommendations, permissions or requirements (detected by keyword) in:
73
- foreword, scope, introduction, term examples and examples, notes, footnotes.
74
-
75
- * No subclauses that are the only child of a clause. (In clauses, annexes, or
76
- scopes.)
77
-
78
- * 5 levels of subclause nesting. (Never actuated, AsciiDoc only permits 4
79
- levels of subsections.)
80
-
81
- * Non-CSD/IEC reference turning up as normative.
82
-
83
- * Term definition starts with an article, or ends with a period.
84
-
85
- * Title intro or title part appears in only one of French or English.
61
+ * Install Node, with at least version 7.6.0: https://nodejs.org/en/download/,
62
+ https://nodejs.org/en/download/package-manager/ . (For Mac, `brew install node`)
63
+ * Install npm: https://docs.npmjs.com/getting-started/installing-node
64
+ * Install puppeteer: `npm install -g --save --save-exact puppeteer`
86
65
 
87
66
  == Approach
88
67
 
@@ -94,11 +73,6 @@ https://github.com/riboseinc/isodoc-models[StandardDocument model].
94
73
  The CSD format ("CSD XML") intends to introduce rigour into the CSD
95
74
  standards authoring process, and is prescribed in a separate document.
96
75
 
97
- CSD XML is still under development, but it already contains all the markup
98
- needed to render a CSD document into HTML.
99
-
100
- WARNING: The current RNG model of CSD XML is out of sync with the UML.
101
-
102
76
  === Asciidoctor
103
77
 
104
78
  Asciidoctor has been selected as the authoring tool to generate the document
@@ -110,110 +84,9 @@ DocBook document authoring tool). Asciidoctor has built-in capability to output
110
84
  Text, DocBook and HTML; so it can be used to preview the file as it is being
111
85
  authored.
112
86
 
113
- Note that in order to generate HTML preview output close to what is intended
114
- in the CSD standard, the Asciidoc
115
- document includes a fair amount of formatting instructions (e.g. disabling
116
- section numbering where appropriate, the titling of Appendixes as Annexes), as
117
- well as CSD boilerplate text, and predefined section headers (sections are
118
- recognised by fixed titles such as `Normative References`). Authoring CSD
119
- standards in this fashion assumes that users will be populating an Asciidoc
120
- template, and not removing needed formatting instructions.
121
-
122
- === Features not visible in HTML preview
123
-
124
- The gem uses built-in Asciidoc formatting as much as possible, so that users
125
- can retain the ability to preview documents; for _Terms and Definitions_
126
- clauses, which have a good deal of explicit structure, macros have been
127
- introduced for semantic markup (admitted terms, deprecated terms, etc). The
128
- default HTML output of an Asciidoc-formatted CSD document is quite close to the
129
- intended final output, with the following exceptions. Note that the final
130
- outputs of the conversion (Microsoft Word, PDF, HTML) do not have these exceptions,
131
- and comply with the CSD Standard specifications.
132
-
133
- * _Terms and Definitions_: each term is marked up as an unnumbered subclause,
134
- the semantic markup of alternate and other terms is not rendered visually.
135
-
136
- * _Formulas_: Asciidoctor has no provision for the automated numbering of
137
- csdlated block formulas ("stem"), and does not display the number assigned a
138
- block formula in its default HTML processor—although it does provide automated
139
- numbering of examples. Formula numbering is provided in the final outputs
140
- of the conversion.
141
-
142
- * _Missing elements_: The document model does not yet include Asciidoc elements
143
- that do not appear to be relevant to CSD Standards; these will be ignored in
144
- generating CSD XML. Those elements include:
145
- * sidebars (`aside`) (as distinct from warnings),
146
- * ASCII art/preformatted text (`literal`) (as distinct from sourcecode listings),
147
- * page breaks (`thematic break`).
148
-
149
- * _Markup_: Some connecting text which is used to convey markup structure is
150
- left out: in particular, `DEPRECATED` and `SOURCE` (replaced by formatting
151
- macros).
152
-
153
- * _Tables_: Table footnotes are treated like all other footnotes: they are
154
- rendered at the bottom of the document, rather than the bottom of the table,
155
- and they are not numbered separately.
156
-
157
- * _Cross-references_: Footnoted cross-references are indicated with the reference
158
- text `fn` in csdlation, or `fn:` as a prefix to the reference text. The default
159
- HTML processor leaves these as is: if no reference text is given, only `fn`
160
- will be displayed (though it will still hyperlink to the right reference).
161
-
162
- * _References_: The convention for references is that CSD documents are cited
163
- without brackets by CSD number, and optionally year, whether they are normative
164
- or in the bibliography (e.g. `CSD 20483:2013`); while all other references are
165
- cited by bracketed number in the bibliography (e.g. `[1]`). The default HTML
166
- processor treats all references the same, and will bracket them (e.g. `[CSD
167
- 20483:2013]`). For the same reason, CSD references listed in the bibliography
168
- will be listed under an CSD reference, rather than a bracketed number.
169
-
170
- * _References_: References are rendered cited throughout, since they are
171
- automated. For that reason, if reference is to be made to both an undated and a
172
- dated version of an CSD reference, these need to be explicitly listed as
173
- separate references. (This is not done in the Rice model document, which lists
174
- CSD 6646, but under _Terms and Definitions_ cites the dated CSD 6646:2011.
175
-
176
- * _References_: CSD references that are undated but published have their date
177
- indicated under the CSD standards format in an explanatory footnote. Because of
178
- constraints introduced by Asciidoctor, that explanation is instead given in
179
- square brackets in Asciidoc format.
180
-
181
- * _Annexes_: Subheadings cannot preserve subsection numbering, while also
182
- appearing inline with their text (e.g. Rice document, Annex B.2): they appear
183
- as headings in separate lines.
184
-
185
- * _Annexes_: Cross-references to Annex subclauses are automatically prefixed
186
- with `Clause` rather than `Annex` or nothing.
187
-
188
- * _Metadata_: Document metadata such as document numbers, technical committees
189
- and title wording are not rendered in the default HTML output.
190
-
191
- * _Patent Notice_: Patent notices are treated and rendered as a subsection of
192
- the introduction, with an explicit subheading.
193
-
194
- * _Numbering_: The numbering of figures and tables is sequential in the default
195
- HTML processor: it does not include the Clause or Annex number. This,
196
- _Figure 1_, not _Figure A.1_.
197
-
198
- * _Notes_: There is no automatic note numbering by the default HTML processor.
199
-
200
- * _Review Notes_: The reviewer on the review note is not displayed.
201
-
202
- * _Keys_: Keys to formulas and figures are expected to be marked up as
203
- definition lists consistently, rather than as inline prose.
204
-
205
- * _Figures_: Simple figures are marked up as images, figures containing
206
- subfigures as examples. Numbering by the default HTML processor may be
207
- inconsistent. Subfigures are automatically numbered as independent figures.
208
-
209
- * _Markup_: The default HTML processor does not support CSS extensions such as
210
- small caps or strike through, though these can be marked up as CSS classes
211
- through custom macros in Asciidoctor: a custom CSS stylesheet will be needed to
212
- render them.
213
-
214
-
215
-
216
- TODO: May need to only encode figures as examples.
87
+ Generating documents via a document model substantially automated formatting
88
+ associated with the document, including automating numbering of headings, figures,
89
+ tables etc, and automatically generating references and citations.
217
90
 
218
91
  == Document Attributes
219
92
 
@@ -25,18 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_dependency "asciidoctor", "~> 1.5.6"
29
- spec.add_dependency "asciimath"
30
- spec.add_dependency "htmlentities", "~> 4.3.4"
31
- spec.add_dependency "image_size"
32
- spec.add_dependency "mime-types"
33
- spec.add_dependency "nokogiri"
34
- spec.add_dependency "ruby-jing"
35
- spec.add_dependency "ruby-xslt"
36
- spec.add_dependency "thread_safe"
37
- spec.add_dependency "uuidtools"
38
- spec.add_dependency "asciidoctor-iso", ">= 0.7.5"
39
- spec.add_dependency "isodoc"
28
+ spec.add_dependency "asciidoctor-iso", ">= 0.7.9"
40
29
 
41
30
  spec.add_development_dependency "bundler", "~> 1.15"
42
31
  spec.add_development_dependency "byebug", "~> 9.1"
@@ -442,9 +442,9 @@
442
442
  <optional>
443
443
  <ref name="status"/>
444
444
  </optional>
445
- <optional>
445
+ <zeroOrMore>
446
446
  <ref name="copyright"/>
447
- </optional>
447
+ </zeroOrMore>
448
448
  <zeroOrMore>
449
449
  <ref name="docrelation"/>
450
450
  </zeroOrMore>
@@ -489,10 +489,31 @@
489
489
  <value>issued</value>
490
490
  </choice>
491
491
  </attribute>
492
- <ref name="bfrom"/>
493
- <optional>
494
- <ref name="bto"/>
495
- </optional>
492
+ <!-- ( ( bfrom, bto? ) | date_on ) -->
493
+ <choice>
494
+ <group>
495
+ <element name="from">
496
+ <choice>
497
+ <data type="gYear"/>
498
+ <data type="date"/>
499
+ </choice>
500
+ </element>
501
+ <optional>
502
+ <element name="to">
503
+ <choice>
504
+ <data type="gYear"/>
505
+ <data type="date"/>
506
+ </choice>
507
+ </element>
508
+ </optional>
509
+ </group>
510
+ <element name="on">
511
+ <choice>
512
+ <data type="gYear"/>
513
+ <data type="date"/>
514
+ </choice>
515
+ </element>
516
+ </choice>
496
517
  </element>
497
518
  </define>
498
519
  <define name="bfrom">
@@ -511,6 +532,14 @@
511
532
  </choice>
512
533
  </element>
513
534
  </define>
535
+ <define name="date_on">
536
+ <element name="on">
537
+ <choice>
538
+ <data type="gYear"/>
539
+ <data type="date"/>
540
+ </choice>
541
+ </element>
542
+ </define>
514
543
  <define name="docidentifier">
515
544
  <element name="docidentifier">
516
545
  <optional>
@@ -92,15 +92,23 @@ module Asciidoctor
92
92
  d
93
93
  end
94
94
 
95
+ def pdf_convert(filename)
96
+ url = "#{Dir.pwd}/#{filename}.html"
97
+ pdfjs = File.join(File.dirname(__FILE__), 'pdf.js')
98
+ system "export NODE_PATH=$(npm root --quiet -g);
99
+ node #{pdfjs} file://#{url} #{filename}.pdf"
100
+ end
101
+
95
102
  def document(node)
96
103
  init(node)
97
104
  ret1 = makexml(node)
98
105
  ret = ret1.to_xml(indent: 2)
99
106
  unless node.attr("nodoc") || !node.attr("docfile")
100
- filename = node.attr("docfile").gsub(/\.adoc/, ".xml").
107
+ filename = node.attr("docfile").gsub(/\.adoc$/, ".xml").
101
108
  gsub(%r{^.*/}, "")
102
109
  File.open(filename, "w") { |f| f.write(ret) }
103
- html_converter(node).convert filename unless node.attr("nodoc")
110
+ html_converter(node).convert filename
111
+ pdf_convert(filename.sub(/\.xml$/, ""))
104
112
  end
105
113
  @files_to_delete.each { |f| system "rm #{f}" }
106
114
  ret
@@ -35,6 +35,7 @@
35
35
  <value>final-draft</value>
36
36
  <value>published</value>
37
37
  <value>withdrawn</value>
38
+ <ref name="LocalizedString"/>
38
39
  </choice>
39
40
  </element>
40
41
  </define>
@@ -729,7 +729,7 @@
729
729
  </define>
730
730
  <define name="source">
731
731
  <element name="source">
732
- <data type="anyURI"/>
732
+ <ref name="TypedUri"/>
733
733
  </element>
734
734
  </define>
735
735
  <define name="em">
@@ -72,9 +72,9 @@
72
72
  </oneOrMore>
73
73
  <ref name="formattedref"/>
74
74
  </choice>
75
- <optional>
75
+ <zeroOrMore>
76
76
  <ref name="bsource"/>
77
- </optional>
77
+ </zeroOrMore>
78
78
  <zeroOrMore>
79
79
  <ref name="docidentifier"/>
80
80
  </zeroOrMore>
@@ -96,9 +96,9 @@
96
96
  <zeroOrMore>
97
97
  <ref name="script"/>
98
98
  </zeroOrMore>
99
- <optional>
99
+ <zeroOrMore>
100
100
  <ref name="abstract"/>
101
- </optional>
101
+ </zeroOrMore>
102
102
  <optional>
103
103
  <ref name="status"/>
104
104
  </optional>
@@ -127,9 +127,9 @@
127
127
  <optional>
128
128
  <ref name="formattedref"/>
129
129
  </optional>
130
- <optional>
130
+ <zeroOrMore>
131
131
  <ref name="bsource"/>
132
- </optional>
132
+ </zeroOrMore>
133
133
  <zeroOrMore>
134
134
  <ref name="docidentifier"/>
135
135
  </zeroOrMore>
@@ -151,9 +151,9 @@
151
151
  <zeroOrMore>
152
152
  <ref name="script"/>
153
153
  </zeroOrMore>
154
- <optional>
154
+ <zeroOrMore>
155
155
  <ref name="abstract"/>
156
- </optional>
156
+ </zeroOrMore>
157
157
  <optional>
158
158
  <ref name="status"/>
159
159
  </optional>
@@ -166,12 +166,45 @@
166
166
  <ref name="ics"/>
167
167
  </zeroOrMore>
168
168
  </define>
169
- <define name="bfrom">
170
- <element name="from">
169
+ <define name="bdate">
170
+ <element name="date">
171
+ <attribute name="type">
172
+ <choice>
173
+ <value>published</value>
174
+ <value>accessed</value>
175
+ <value>created</value>
176
+ <value>implemented</value>
177
+ <value>obsoleted</value>
178
+ <value>confirmed</value>
179
+ <value>updated</value>
180
+ <value>issued</value>
181
+ </choice>
182
+ </attribute>
183
+ <!-- ( ( bfrom, bto? ) | date_on ) -->
171
184
  <choice>
172
- <data type="gYear"/>
173
- <data type="date"/>
174
- <value>--</value>
185
+ <group>
186
+ <element name="from">
187
+ <choice>
188
+ <data type="gYear"/>
189
+ <data type="date"/>
190
+ </choice>
191
+ </element>
192
+ <optional>
193
+ <element name="to">
194
+ <choice>
195
+ <data type="gYear"/>
196
+ <data type="date"/>
197
+ </choice>
198
+ </element>
199
+ </optional>
200
+ </group>
201
+ <element name="on">
202
+ <choice>
203
+ <data type="gYear"/>
204
+ <data type="date"/>
205
+ <value>--</value>
206
+ </choice>
207
+ </element>
175
208
  </choice>
176
209
  </element>
177
210
  </define>
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ const puppeteer = require('puppeteer');
4
+
5
+ const createPdf = async() => {
6
+ let browser;
7
+ try {
8
+ browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
9
+ const page = await browser.newPage();
10
+ await page.goto(process.argv[2], {waitUntil: 'networkidle2'});
11
+ await page.pdf({
12
+ path: process.argv[3],
13
+ format: 'A4'
14
+ });
15
+ } catch (err) {
16
+ console.log(err.message);
17
+ } finally {
18
+ if (browser) {
19
+ browser.close();
20
+ }
21
+ process.exit();
22
+ }
23
+ };
24
+ createPdf();
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module Csd
3
- VERSION = "0.2.6"
3
+ VERSION = "0.2.8"
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ module IsoDoc
12
12
  def initialize(options)
13
13
  super
14
14
  @htmlstylesheet = generate_css(html_doc_path("htmlstyle.scss"), true, default_fonts(options))
15
- @standardstylesheet = generate_css(html_doc_path("csd.scss"), true, default_fonts(options))
15
+ # @standardstylesheet = generate_css(html_doc_path("csd.scss"), true, default_fonts(options))
16
16
  @htmlcoverpage = html_doc_path("html_csd_titlepage.html")
17
17
  @htmlintropage = html_doc_path("html_csd_intro.html")
18
18
  @scripts = html_doc_path("scripts.html")
@@ -49,7 +49,6 @@ module IsoDoc
49
49
  set_metadata(:tc, tc.text) if tc
50
50
  end
51
51
 
52
-
53
52
  def docid(isoxml, _out)
54
53
  docnumber = isoxml.at(ns("//bibdata/docidentifier"))
55
54
  docstatus = isoxml.at(ns("//bibdata/status"))
@@ -93,7 +92,7 @@ module IsoDoc
93
92
  out.pre node.text # content.gsub(/</, "&lt;").gsub(/>/, "&gt;")
94
93
  end
95
94
 
96
- def term_defs_boilerplate(div, source, term)
95
+ def term_defs_boilerplate(div, source, term, preface)
97
96
  if source.empty? && term.nil?
98
97
  div << @no_terms_boilerplate
99
98
  else
@@ -131,6 +130,7 @@ module IsoDoc
131
130
  <!--Font awesome import for the link icon-->
132
131
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/solid.css" integrity="sha384-v2Tw72dyUXeU3y4aM2Y0tBJQkGfplr39mxZqlTBDUZAb9BGoC40+rdFCG0m10lXk" crossorigin="anonymous">
133
132
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.8/css/fontawesome.css" integrity="sha384-q3jl8XQu1OpdLgGFvNRnPdj5VIlCvgsDQTQB6owSOHWlAurxul7f+JpUOVdAiJ5P" crossorigin="anonymous">
133
+ <style class="anchorjs"></style>
134
134
  HEAD
135
135
  end
136
136
 
@@ -146,6 +146,20 @@ module IsoDoc
146
146
  def html_toc(docxml)
147
147
  docxml
148
148
  end
149
+
150
+ def cleanup(docxml)
151
+ super
152
+ term_cleanup(docxml)
153
+ end
154
+
155
+ def term_cleanup(docxml)
156
+ docxml.xpath("//p[@class = 'Terms']").each do |d|
157
+ h2 = d.at("./preceding-sibling::*[@class = 'TermNum'][1]")
158
+ h2.add_child("&nbsp;")
159
+ h2.add_child(d.remove)
160
+ end
161
+ docxml
162
+ end
149
163
  end
150
164
  end
151
165
  end
@@ -15,7 +15,7 @@ p.Sourcecode, li.Sourcecode, div.Sourcecode, pre.Sourcecode
15
15
  mso-fareast-font-family:Calibri;
16
16
  mso-bidi-font-family:"Courier New";
17
17
  mso-ansi-language:EN-GB;}
18
- p.Biblio, li.Biblio, div.Biblio
18
+ p.Biblio, li.Biblio, div.Biblio, p.NormRef, li.NormRef, div.NormRef
19
19
  {mso-style-unhide:no;
20
20
  mso-style-qformat:yes;
21
21
  mso-style-parent:"";
@@ -13,20 +13,89 @@ a, abbr, acronym, address, big, cite, code,
13
13
  del, dfn, em, img, ins, kbd, q, s, samp,
14
14
  small, strike, strong, sub, sup, tt, var,
15
15
  b, u, i, center,
16
+ ol, ul, li,
17
+ fieldset, form, label, legend,
18
+ table, caption, tbody, tfoot, thead, tr, th, td,
19
+ article, aside, canvas, details, embed,
20
+ figure, figcaption, footer, header, hgroup,
21
+ menu, nav, output, ruby, section, summary,
22
+ time, mark, audio, video {
23
+ margin: 0;
24
+ padding: 0;
25
+ }
26
+
27
+ html, body, div, span, applet, object, iframe,
28
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
29
+ a, abbr, acronym, address, big, cite, code,
30
+ del, dfn, em, img, ins, kbd, q, s, samp,
31
+ small, strike, strong, sub, sup, tt, var,
32
+ b, u, i, center,
33
+ dl, dt, dd, ol, ul, li,
34
+ fieldset, form, label, legend,
35
+ table, caption, tbody, tfoot, thead, tr, th, td,
36
+ article, aside, canvas, details, embed,
37
+ figure, figcaption, footer, header, hgroup,
38
+ menu, nav, output, ruby, section, summary,
39
+ time, mark, audio, video {
40
+ border: 0;
41
+ font-size: 100%;
42
+ }
43
+
44
+ html, body, div, span, applet, object, iframe,
45
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
46
+ a, abbr, acronym, address, big, cite, code,
47
+ del, dfn, em, img, ins, kbd, q, s, samp,
48
+ small, strike, strong, tt, var,
49
+ b, u, i, center,
50
+ dl, dd, ol, ul, li,
51
+ fieldset, form, label, legend,
52
+ table, caption, tbody, tfoot, thead, tr, th, td,
53
+ article, aside, canvas, details, embed,
54
+ figure, figcaption, footer, header, hgroup,
55
+ menu, nav, output, ruby, section, summary,
56
+ time, mark, audio, video {
57
+ vertical-align: baseline;
58
+ }
59
+
60
+
61
+ html, body, div, span, applet, object, iframe,
62
+ p, blockquote, pre,
63
+ a, abbr, acronym, address, big, cite, code,
64
+ del, dfn, em, img, ins, kbd, q, s, samp,
65
+ small, strike, strong, sub, sup, tt, var,
66
+ b, u, i, center,
16
67
  dl, dt, dd, ol, ul, li,
17
68
  fieldset, form, label, legend,
18
69
  table, caption, tbody, tfoot, thead, tr, th, td,
19
- article, aside, canvas, details, embed,
20
- figure, figcaption, footer, header, hgroup,
70
+ article, aside, canvas, details, embed,
71
+ figure, figcaption, footer, header, hgroup,
21
72
  menu, nav, output, ruby, section, summary,
22
73
  time, mark, audio, video {
23
- margin: 0;
24
- padding: 0;
25
- border: 0;
26
- font-size: 100%;
27
- font-family: $bodyfont;
28
- vertical-align: baseline;
74
+ font-family: $bodyfont;
75
+ }
76
+
77
+ h1, h2, h3, h4, h5, h6, .h2Annex {
78
+ font-family: $headerfont;
79
+ }
80
+
81
+ dl {
82
+ display: grid;
83
+ grid-template-columns: max-content auto;
84
+ }
85
+
86
+ dt {
87
+ grid-column-start: 1;
29
88
  }
89
+
90
+ dd {
91
+ grid-column-start: 2;
92
+ }
93
+
94
+ dd p {
95
+ margin-top: 0px;
96
+ }
97
+
98
+
30
99
  /* HTML5 display-role reset for older browsers */
31
100
  article, aside, details, figcaption, figure,
32
101
  footer, header, hgroup, menu, nav, section {
@@ -35,11 +104,6 @@ footer, header, hgroup, menu, nav, section {
35
104
  body {
36
105
  line-height: 1;
37
106
  }
38
- /*
39
- ol, ul {
40
- list-style: none;
41
- }
42
- */
43
107
  blockquote, q {
44
108
  quotes: none;
45
109
  }
@@ -366,10 +430,17 @@ p.document-stage {
366
430
  margin-top: 2em;
367
431
  }
368
432
 
369
- h2 {font-size: 1.3em; }
433
+ h2 {
434
+ font-size: 1.3em;
435
+ font-weight: 400;
436
+ }
370
437
 
371
- h3 {font-size: 1.1em;}
438
+ h3 {
439
+ font-size: 1.1em;
440
+ font-weight: 400;
441
+ }
372
442
 
443
+ /*
373
444
  span[id^="toc"]:after {
374
445
  float: left;
375
446
  padding-right: 4px;
@@ -380,10 +451,9 @@ p.document-stage {
380
451
  color: #cfcfcf;
381
452
  content: "\f0c1";
382
453
  }
454
+ */
383
455
 
384
-
385
-
386
- p.TermNum, p.Terms, p.AltTerms {
456
+ .TermNum, .Terms, .AltTerms {
387
457
  color: #485094;
388
458
  font-weight: 400;
389
459
  }
@@ -401,10 +471,17 @@ p.document-stage {
401
471
  margin: 0;
402
472
  }
403
473
 
474
+ /*
404
475
  p.AltTerms {
405
476
  font-style: italic;
406
477
  margin: 0;
407
478
  }
479
+ */
480
+
481
+ span.obligation {
482
+ font-weight: 400;
483
+ }
484
+
408
485
 
409
486
  /*
410
487
  3.2 Links
@@ -444,11 +521,43 @@ p.document-stage {
444
521
  3.3 Lists
445
522
  */
446
523
 
447
- ul {margin-left: 0.5em;}
448
-
449
- #toc-list ul {margin-bottom: 0.25em;}
524
+ ul {
525
+ margin-left: 1.2em;
526
+ }
450
527
 
451
- #toc-list li {list-style-type: none;}
528
+ ul {
529
+ margin-left: 1.2em; }
530
+
531
+ ul > li {
532
+ list-style: none;
533
+ }
534
+
535
+ ul > li:before {
536
+ content: "—";
537
+ display: inline-block; width: 1em;
538
+ margin-left: -1.2em;
539
+ }
540
+
541
+ li p {
542
+ display: inline;
543
+ }
544
+
545
+ li:first-child {
546
+ margin-top: 1em;
547
+ }
548
+
549
+ #toc ul {
550
+ margin-bottom: 0.25em; }
551
+
552
+ #toc li {
553
+ list-style-type: none; }
554
+
555
+ #toc li:before {
556
+ content: " ";
557
+ display: none;
558
+ }
559
+
560
+
452
561
 
453
562
  /*
454
563
  3.4 Rules
@@ -461,13 +570,18 @@ p.document-stage {
461
570
  margin: 2em 0;
462
571
  }
463
572
 
573
+ h2 p {
574
+ display: inline;
575
+ }
576
+
464
577
  /*
465
578
  3.5 Bibliograhy
466
579
  */
467
580
 
468
- p.Biblio {
581
+ p.Biblio, p.NormRef {
469
582
  margin-top: 1em;
470
583
  margin-left: 2em;
584
+ text-indent:-2em;
471
585
  }
472
586
 
473
587
  /*
@@ -579,12 +693,15 @@ a.footnote-number {
579
693
  margin-right: auto;
580
694
  }
581
695
 
696
+ .QuoteAttribution
697
+ {text-align:right;}
698
+
582
699
 
583
700
  /*
584
701
  3.12 Formulas
585
702
  */
586
703
 
587
- .formula {
704
+ .formula, .Formula {
588
705
  background-color: #f7f7f7;
589
706
  padding: 1.5em;
590
707
  margin-top: 2em;
@@ -639,6 +756,21 @@ p {
639
756
  margin-bottom: 1em;
640
757
  }
641
758
 
759
+ /* Admonitions */
760
+
761
+ .Admonition, .admonition {
762
+ background-color: #ffb3b3;
763
+ /* color: #47430c;*/
764
+ padding: 0.5em;
765
+ margin: 1.5em 0 1.5em 0;
766
+ text-align: left;
767
+ }
768
+
769
+ .Admonition p, .admonition p {
770
+ margin: 0;
771
+ }
772
+
773
+
642
774
  /*
643
775
  4.0 Page header
644
776
  */
@@ -663,8 +795,11 @@ p {
663
795
  .coverpage-title {
664
796
  padding-bottom: 0.5em;
665
797
  font-family: $headerfont;
666
- font-size: 1.5em;
667
- font-weight: 900;
798
+ font-size: 1.2em;
799
+ line-height: 1.2em;
800
+ font-weight: 900;
801
+ padding-left: 1em;
802
+ padding-right: 1em;
668
803
  }
669
804
 
670
805
  .WordSection11 {
@@ -683,6 +818,7 @@ p {
683
818
 
684
819
  .coverpage {
685
820
  text-align: center;
821
+ padding-left: 1.5em;
686
822
  }
687
823
 
688
824
  .coverpage-logo span, .coverpage-tc-name span {
@@ -791,3 +927,47 @@ To top button
791
927
  #myBtn:hover {
792
928
  opacity: 1;
793
929
  }
930
+
931
+ a.anchorjs-link:hover {
932
+ background: none;
933
+ color: #485094;
934
+ box-shadow: none;
935
+ }
936
+
937
+ @page {
938
+ margin: 2cm 1cm 2cm 1cm;
939
+ }
940
+
941
+ @media print {
942
+ h1, .WordSection11 {page-break-before: always;}
943
+ #toggle, .document-stage-band,
944
+ .document-type-band,#myBtn {display: none;}
945
+ .container {padding-left: 0;}
946
+
947
+
948
+ nav {
949
+ position: relative;
950
+ width: auto;
951
+ font-size: 0.9em;
952
+ overflow: auto;
953
+ padding: 0;
954
+ margin-right: 0;
955
+ background-color: white; }
956
+
957
+ #toc .toc-active a {
958
+ color: #485094; }
959
+
960
+ #toc .toc-active, #toc li:hover {
961
+ background: white;
962
+ box-shadow: none !important; }
963
+
964
+ #toc li:hover a {
965
+ color: black; }
966
+
967
+
968
+ h1.toc-contents {
969
+ margin-top: 2em; }
970
+
971
+
972
+ }
973
+
@@ -57,13 +57,26 @@ $('#toggle').on('click', function(){
57
57
  }
58
58
  </script>
59
59
 
60
- <script>
60
+ <script>
61
+ /**
62
+ * AnchorJS - v4.1.0 - 2017-09-20
63
+ * https://github.com/bryanbraun/anchorjs
64
+ * Copyright (c) 2017 Bryan Braun; Licensed MIT
65
+ */
66
+ !function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function e(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64}function t(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}function i(){if(null===document.head.querySelector("style.anchorjs")){var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A),e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}}this.options=A||{},this.elements=[],e(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var n,o,s,a,r,c,h,l,u,d,f,p=[];if(e(this.options),"touch"===(f=this.options.visible)&&(f=this.isTouchDevice()?"always":"hover"),A||(A="h2, h3, h4, h5, h6"),0===(n=t(A)).length)return this;for(i(),o=document.querySelectorAll("[id]"),s=[].map.call(o,function(A){return A.id}),r=0;r<n.length;r++)if(this.hasAnchorJSLink(n[r]))p.push(r);else{if(n[r].hasAttribute("id"))a=n[r].getAttribute("id");else if(n[r].hasAttribute("data-anchor-id"))a=n[r].getAttribute("data-anchor-id");else{u=l=this.urlify(n[r].textContent),h=0;do{void 0!==c&&(u=l+"-"+h),c=s.indexOf(u),h+=1}while(-1!==c);c=void 0,s.push(u),n[r].setAttribute("id",u),a=u}a.replace(/-/g," "),(d=document.createElement("a")).className="anchorjs-link "+this.options.class,d.href="#"+a,d.setAttribute("aria-label",this.options.ariaLabel),d.setAttribute("data-anchorjs-icon",this.options.icon),"always"===f&&(d.style.opacity="1"),""===this.options.icon&&(d.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(d.style.lineHeight="inherit")),"left"===this.options.placement?(d.style.position="absolute",d.style.marginLeft="-1em",d.style.paddingRight="0.5em",n[r].insertBefore(d,n[r].firstChild)):(d.style.paddingLeft="0.375em",n[r].appendChild(d))}for(r=0;r<p.length;r++)n.splice(p[r]-r,1);return this.elements=this.elements.concat(n),this},this.remove=function(A){for(var e,i,n=t(A),o=0;o<n.length;o++)(i=n[o].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(n[o]))&&this.elements.splice(e,1),n[o].removeChild(i));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){var t=/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\]/g;return this.options.truncate||e(this.options),A.trim().replace(/\'/gi,"").replace(t,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&(" "+A.firstChild.className+" ").indexOf(" anchorjs-link ")>-1,t=A.lastChild&&(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ")>-1;return e||t||!1}}}); </script>
67
+
68
+ <script>
61
69
  $(document).ready(function() {
62
- $('[id^=toc]').each(function ()
63
- {
64
- var currentToc = $(this);
70
+ $('[id^=toc]').each(function ()
71
+ {
72
+ var currentToc = $(this);
65
73
  var url = window.location.href;
66
- currentToc.wrap("<a href='" + url + "#" + currentToc.attr("id") + "' </a>");
67
- });
74
+ currentToc.wrap("<a href='" + url + "#" + currentToc.attr("id") + "' </a>");
75
+ });
68
76
  });
77
+ anchors.options = {
78
+ placement: 'left'
79
+ };
80
+ anchors.add('h1, h2, h3, h4');
69
81
  </script>
82
+
metadata CHANGED
@@ -1,183 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-csd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-05-22 00:00:00.000000000 Z
11
+ date: 2018-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: asciidoctor
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 1.5.6
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 1.5.6
27
- - !ruby/object:Gem::Dependency
28
- name: asciimath
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: htmlentities
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 4.3.4
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 4.3.4
55
- - !ruby/object:Gem::Dependency
56
- name: image_size
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: mime-types
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: nokogiri
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: ruby-jing
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: ruby-xslt
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: thread_safe
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: uuidtools
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
13
  - !ruby/object:Gem::Dependency
154
14
  name: asciidoctor-iso
155
15
  requirement: !ruby/object:Gem::Requirement
156
16
  requirements:
157
17
  - - ">="
158
18
  - !ruby/object:Gem::Version
159
- version: 0.7.5
160
- type: :runtime
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: 0.7.5
167
- - !ruby/object:Gem::Dependency
168
- name: isodoc
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
19
+ version: 0.7.9
174
20
  type: :runtime
175
21
  prerelease: false
176
22
  version_requirements: !ruby/object:Gem::Requirement
177
23
  requirements:
178
24
  - - ">="
179
25
  - !ruby/object:Gem::Version
180
- version: '0'
26
+ version: 0.7.9
181
27
  - !ruby/object:Gem::Dependency
182
28
  name: bundler
183
29
  requirement: !ruby/object:Gem::Requirement
@@ -331,6 +177,7 @@ files:
331
177
  - ".gitignore"
332
178
  - CODE_OF_CONDUCT.md
333
179
  - Gemfile
180
+ - Gemfile.lock
334
181
  - LICENSE
335
182
  - README.adoc
336
183
  - Rakefile
@@ -345,6 +192,7 @@ files:
345
192
  - lib/asciidoctor/csd/csd.rng
346
193
  - lib/asciidoctor/csd/isodoc.rng
347
194
  - lib/asciidoctor/csd/isostandard.rng
195
+ - lib/asciidoctor/csd/pdf.js
348
196
  - lib/asciidoctor/csd/version.rb
349
197
  - lib/isodoc/csd/csdconvert.rb
350
198
  - lib/isodoc/csd/html/csd.scss
@@ -375,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
375
223
  version: '0'
376
224
  requirements: []
377
225
  rubyforge_project:
378
- rubygems_version: 2.6.12
226
+ rubygems_version: 2.6.14
379
227
  signing_key:
380
228
  specification_version: 4
381
229
  summary: asciidoctor-csd lets you write CSD in AsciiDoc.