metanorma-mpfd 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/README.adoc +12 -5
- data/lib/asciidoctor/mpfd/converter.rb +5 -41
- data/lib/asciidoctor/mpfd/isodoc.rng +22 -0
- data/lib/asciidoctor/mpfd/isostandard.rng +8 -0
- data/lib/asciidoctor/mpfd/mpfd.rng +0 -32
- data/lib/isodoc/mpfd/html_convert.rb +0 -16
- data/lib/isodoc/mpfd/pdf_convert.rb +0 -16
- data/lib/isodoc/mpfd/word_convert.rb +0 -16
- data/lib/metanorma/mpfd/version.rb +1 -1
- data/metanorma-mpfd.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a556a866236e88b62757213d6a47c215860b53f9cba2012fa4f83039fd40067d
|
4
|
+
data.tar.gz: 9218d447fe46602f383d0a823d7682ffd1eec13c1d80087f3722d41d241ab848
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6b74475f1abb013d3da557bb1a09447b884a6062c0d52307776d83638495a857308ad3d3e13e54035ee62e50a27a589c09312cc99ccd617433475aad631799cf
|
7
|
+
data.tar.gz: a578e8235ee22901945bb43b4d6597437cb1078bc13334ed204baabbb00e556f7c161444a4dcf8f88972a3767d8b0db8e6afa2349b0cc8a4af5536e5872757ee
|
data/README.adoc
CHANGED
@@ -92,10 +92,17 @@ DocBook document authoring tool). Asciidoctor has built-in capability to output
|
|
92
92
|
Text, DocBook and HTML; so it can be used to preview the file as it is being
|
93
93
|
authored.
|
94
94
|
|
95
|
+
Generating documents via a document model substantially automated formatting
|
96
|
+
associated with the document, including automating numbering of headings, figures,
|
97
|
+
tables etc, and automatically generating references and citations.
|
98
|
+
|
99
|
+
|
95
100
|
[[model_additions]]
|
96
|
-
== Asciidoctor
|
101
|
+
== Asciidoctor features specific to CSAND
|
97
102
|
|
98
|
-
|
103
|
+
The https://github.com/riboseinc/metanorma-standoc[metanorma-standoc]
|
104
|
+
gem documents the customisations of Asciidoctor markup common to all metanorma gems.
|
105
|
+
The following markup is specific to this gem.
|
99
106
|
|
100
107
|
All the following modifications to the basic Metanorma model are provisional, as a full analysis of the
|
101
108
|
formatting requirements of MPFD has not yet been conducted.
|
@@ -260,11 +267,11 @@ This is rendered as
|
|
260
267
|
|
261
268
|
== Document Attributes
|
262
269
|
|
263
|
-
|
264
|
-
the https://github.com/riboseinc/metanorma-model-standoc/blob/master/README.adoc[metanorma-standoc README]).
|
270
|
+
=== Common attributes
|
265
271
|
|
266
272
|
The gem relies on Asciidoctor document attributes to provide necessary
|
267
|
-
metadata about the document.
|
273
|
+
metadata about the document. The https://github.com/riboseinc/metanorma-standoc[metanorma-standoc]
|
274
|
+
gem documents the Asciidoctor document attributes common to all metanorma gems. These include:
|
268
275
|
|
269
276
|
`:edition:`:: The document edition
|
270
277
|
|
@@ -99,13 +99,6 @@ module Asciidoctor
|
|
99
99
|
d
|
100
100
|
end
|
101
101
|
|
102
|
-
def pdf_convert(filename)
|
103
|
-
url = "#{Dir.pwd}/#{filename}.html"
|
104
|
-
pdfjs = File.join(File.dirname(__FILE__), 'pdf.js')
|
105
|
-
system "export NODE_PATH=$(npm root --quiet -g);
|
106
|
-
node #{pdfjs} file://#{url} #{filename}.pdf"
|
107
|
-
end
|
108
|
-
|
109
102
|
def document(node)
|
110
103
|
init(node)
|
111
104
|
ret1 = makexml(node)
|
@@ -116,7 +109,7 @@ module Asciidoctor
|
|
116
109
|
File.open(filename, "w") { |f| f.write(ret) }
|
117
110
|
html_converter(node).convert filename unless node.attr("nodoc")
|
118
111
|
word_converter(node).convert filename unless node.attr("nodoc")
|
119
|
-
|
112
|
+
pdf_converter(node).convert filename unless node.attr("nodoc")
|
120
113
|
end
|
121
114
|
@files_to_delete.each { |f| FileUtils.rm f }
|
122
115
|
ret
|
@@ -128,15 +121,6 @@ module Asciidoctor
|
|
128
121
|
File.join(File.dirname(__FILE__), "mpfd.rng"))
|
129
122
|
end
|
130
123
|
|
131
|
-
def literal(node)
|
132
|
-
noko do |xml|
|
133
|
-
xml.figure **id_attr(node) do |f|
|
134
|
-
figure_title(node, f)
|
135
|
-
f.pre node.lines.join("\n")
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
124
|
def style(n, t)
|
141
125
|
return
|
142
126
|
end
|
@@ -145,33 +129,13 @@ module Asciidoctor
|
|
145
129
|
IsoDoc::Mpfd::HtmlConvert.new(html_extract_attributes(node))
|
146
130
|
end
|
147
131
|
|
148
|
-
def
|
149
|
-
IsoDoc::Mpfd::
|
132
|
+
def pdf_converter(node)
|
133
|
+
IsoDoc::Mpfd::PdfConvert.new(html_extract_attributes(node))
|
150
134
|
end
|
151
135
|
|
152
|
-
def
|
153
|
-
|
154
|
-
case node.type
|
155
|
-
when :emphasis then xml.em node.text
|
156
|
-
when :strong then xml.strong node.text
|
157
|
-
when :monospaced then xml.tt node.text
|
158
|
-
when :double then xml << "\"#{node.text}\""
|
159
|
-
when :single then xml << "'#{node.text}'"
|
160
|
-
when :superscript then xml.sup node.text
|
161
|
-
when :subscript then xml.sub node.text
|
162
|
-
when :asciimath then stem_parse(node.text, xml)
|
163
|
-
else
|
164
|
-
case node.role
|
165
|
-
when "strike" then xml.strike node.text
|
166
|
-
when "smallcap" then xml.smallcap node.text
|
167
|
-
when "keyword" then xml.keyword node.text
|
168
|
-
else
|
169
|
-
xml << node.text
|
170
|
-
end
|
171
|
-
end
|
172
|
-
end.join
|
136
|
+
def word_converter(node)
|
137
|
+
IsoDoc::Mpfd::WordConvert.new(doc_extract_attributes(node))
|
173
138
|
end
|
174
|
-
|
175
139
|
end
|
176
140
|
end
|
177
141
|
end
|
@@ -384,6 +384,7 @@
|
|
384
384
|
<ref name="sourcecode"/>
|
385
385
|
<ref name="example"/>
|
386
386
|
<ref name="review"/>
|
387
|
+
<ref name="pre"/>
|
387
388
|
</choice>
|
388
389
|
</define>
|
389
390
|
<define name="paragraph">
|
@@ -540,6 +541,20 @@
|
|
540
541
|
</zeroOrMore>
|
541
542
|
</element>
|
542
543
|
</define>
|
544
|
+
<define name="pre">
|
545
|
+
<element name="pre">
|
546
|
+
<attribute name="id">
|
547
|
+
<data type="ID"/>
|
548
|
+
</attribute>
|
549
|
+
<optional>
|
550
|
+
<ref name="tname"/>
|
551
|
+
</optional>
|
552
|
+
<text/>
|
553
|
+
<zeroOrMore>
|
554
|
+
<ref name="note"/>
|
555
|
+
</zeroOrMore>
|
556
|
+
</element>
|
557
|
+
</define>
|
543
558
|
<define name="table">
|
544
559
|
<element name="table">
|
545
560
|
<attribute name="id">
|
@@ -710,6 +725,7 @@
|
|
710
725
|
</optional>
|
711
726
|
<choice>
|
712
727
|
<ref name="image"/>
|
728
|
+
<ref name="pre"/>
|
713
729
|
<zeroOrMore>
|
714
730
|
<ref name="figure"/>
|
715
731
|
</zeroOrMore>
|
@@ -735,6 +751,7 @@
|
|
735
751
|
<ref name="sub"/>
|
736
752
|
<ref name="sup"/>
|
737
753
|
<ref name="tt"/>
|
754
|
+
<ref name="keyword"/>
|
738
755
|
<ref name="strike"/>
|
739
756
|
<ref name="smallcap"/>
|
740
757
|
<ref name="xref"/>
|
@@ -765,6 +782,11 @@
|
|
765
782
|
<text/>
|
766
783
|
</element>
|
767
784
|
</define>
|
785
|
+
<define name="keyword">
|
786
|
+
<element name="keyword">
|
787
|
+
<text/>
|
788
|
+
</element>
|
789
|
+
</define>
|
768
790
|
<define name="sub">
|
769
791
|
<element name="sub">
|
770
792
|
<text/>
|
@@ -744,6 +744,9 @@
|
|
744
744
|
</define>
|
745
745
|
<define name="preface">
|
746
746
|
<element name="preface">
|
747
|
+
<optional>
|
748
|
+
<ref name="preface_abstract"/>
|
749
|
+
</optional>
|
747
750
|
<ref name="foreword"/>
|
748
751
|
<optional>
|
749
752
|
<ref name="introduction"/>
|
@@ -811,6 +814,11 @@
|
|
811
814
|
</optional>
|
812
815
|
</element>
|
813
816
|
</define>
|
817
|
+
<define name="preface_abstract">
|
818
|
+
<element name="abstract">
|
819
|
+
<ref name="Basic-Section"/>
|
820
|
+
</element>
|
821
|
+
</define>
|
814
822
|
<define name="foreword">
|
815
823
|
<element name="foreword">
|
816
824
|
<ref name="Basic-Section"/>
|
@@ -81,28 +81,6 @@
|
|
81
81
|
</choice>
|
82
82
|
</element>
|
83
83
|
</define>
|
84
|
-
<!-- TextElement |= keyword -->
|
85
|
-
<define name="TextElement">
|
86
|
-
<choice>
|
87
|
-
<text/>
|
88
|
-
<ref name="em"/>
|
89
|
-
<ref name="eref"/>
|
90
|
-
<ref name="strong"/>
|
91
|
-
<ref name="stem"/>
|
92
|
-
<ref name="sub"/>
|
93
|
-
<ref name="sup"/>
|
94
|
-
<ref name="tt"/>
|
95
|
-
<ref name="strike"/>
|
96
|
-
<ref name="smallcap"/>
|
97
|
-
<ref name="xref"/>
|
98
|
-
<ref name="br"/>
|
99
|
-
<ref name="hyperlink"/>
|
100
|
-
<ref name="hr"/>
|
101
|
-
<ref name="pagebreak"/>
|
102
|
-
<ref name="bookmark"/>
|
103
|
-
<ref name="keyword"/>
|
104
|
-
</choice>
|
105
|
-
</define>
|
106
84
|
<define name="BibItemType" combine="choice">
|
107
85
|
<choice>
|
108
86
|
<value>policy-and-procedures</value>
|
@@ -191,16 +169,6 @@
|
|
191
169
|
<text/>
|
192
170
|
</element>
|
193
171
|
</define>
|
194
|
-
<define name="pre">
|
195
|
-
<element name="pre">
|
196
|
-
<text/>
|
197
|
-
</element>
|
198
|
-
</define>
|
199
|
-
<define name="keyword">
|
200
|
-
<element name="keyword">
|
201
|
-
<text/>
|
202
|
-
</element>
|
203
|
-
</define>
|
204
172
|
<define name="security">
|
205
173
|
<element name="security">
|
206
174
|
<text/>
|
@@ -80,22 +80,6 @@ module IsoDoc
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
-
def pre_parse(node, out)
|
84
|
-
out.pre node.text # content.gsub(/</, "<").gsub(/>/, ">")
|
85
|
-
end
|
86
|
-
|
87
|
-
def error_parse(node, out)
|
88
|
-
# catch elements not defined in ISO
|
89
|
-
case node.name
|
90
|
-
when "pre"
|
91
|
-
pre_parse(node, out)
|
92
|
-
when "keyword"
|
93
|
-
out.span node.text, **{ class: "keyword" }
|
94
|
-
else
|
95
|
-
super
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
83
|
def fileloc(loc)
|
100
84
|
File.join(File.dirname(__FILE__), loc)
|
101
85
|
end
|
@@ -78,22 +78,6 @@ module IsoDoc
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
def pre_parse(node, out)
|
82
|
-
out.pre node.text # content.gsub(/</, "<").gsub(/>/, ">")
|
83
|
-
end
|
84
|
-
|
85
|
-
def error_parse(node, out)
|
86
|
-
# catch elements not defined in ISO
|
87
|
-
case node.name
|
88
|
-
when "pre"
|
89
|
-
pre_parse(node, out)
|
90
|
-
when "keyword"
|
91
|
-
out.span node.text, **{ class: "keyword" }
|
92
|
-
else
|
93
|
-
super
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
81
|
def fileloc(loc)
|
98
82
|
File.join(File.dirname(__FILE__), loc)
|
99
83
|
end
|
@@ -62,22 +62,6 @@ module IsoDoc
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
def pre_parse(node, out)
|
66
|
-
out.pre node.text # content.gsub(/</, "<").gsub(/>/, ">")
|
67
|
-
end
|
68
|
-
|
69
|
-
def error_parse(node, out)
|
70
|
-
# catch elements not defined in ISO
|
71
|
-
case node.name
|
72
|
-
when "pre"
|
73
|
-
pre_parse(node, out)
|
74
|
-
when "keyword"
|
75
|
-
out.span node.text, **{ class: "keyword" }
|
76
|
-
else
|
77
|
-
super
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
65
|
def fileloc(loc)
|
82
66
|
File.join(File.dirname(__FILE__), loc)
|
83
67
|
end
|
data/metanorma-mpfd.gemspec
CHANGED
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency "guard-rspec", "~> 4.7"
|
40
40
|
spec.add_development_dependency "rake", "~> 12.0"
|
41
41
|
spec.add_development_dependency "rspec", "~> 3.6"
|
42
|
-
spec.add_development_dependency "rubocop", "
|
42
|
+
spec.add_development_dependency "rubocop", "= 0.54.0"
|
43
43
|
spec.add_development_dependency "simplecov", "~> 0.15"
|
44
44
|
spec.add_development_dependency "timecop", "~> 0.9"
|
45
45
|
spec.add_development_dependency "metanorma", "~> 0.3.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-mpfd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
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-11
|
11
|
+
date: 2018-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -196,16 +196,16 @@ dependencies:
|
|
196
196
|
name: rubocop
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
|
-
- -
|
199
|
+
- - '='
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
201
|
+
version: 0.54.0
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- -
|
206
|
+
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 0.54.0
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: simplecov
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|