metanorma-standoc 1.0.12 → 1.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/lib/asciidoctor/standoc/base.rb +3 -0
- data/lib/asciidoctor/standoc/blocks.rb +15 -3
- data/lib/asciidoctor/standoc/cleanup.rb +1 -1
- data/lib/asciidoctor/standoc/utils.rb +1 -1
- data/lib/metanorma/standoc/version.rb +1 -1
- data/spec/asciidoctor-standoc/blocks_spec.rb +17 -1
- data/spec/asciidoctor-standoc/cleanup_spec.rb +17 -1
- data/spec/asciidoctor-standoc/refs_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 021021d1bd53dd9011a83d465073805d52c54931bcb4084317a121147b556a6a
|
4
|
+
data.tar.gz: 3e4ea599f6df9d42a41ee7e6e1886f82553ab04cde4c38411dc48044de9277b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df869dbccb358ca2de8bd49f4350fc0f45154cbf18f78f39ab8369de01302d32bccc1d8c5527bcc593bbd8ea75990be92ec592182abbb68bcc4db38652051ebe
|
7
|
+
data.tar.gz: 352d4574be35edc5496eac9dd3227f91fc026d0bc273d7c0e63909218366139966815765256bbbc0b5a1e8c59b2c43aa4267b72257ebd667a58520d1ba0c63cf
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
metanorma-standoc (1.0.
|
4
|
+
metanorma-standoc (1.0.13)
|
5
5
|
asciidoctor (~> 1.5.7)
|
6
6
|
concurrent-ruby
|
7
7
|
iev (~> 0.2.0)
|
@@ -24,7 +24,7 @@ GEM
|
|
24
24
|
byebug (10.0.2)
|
25
25
|
cnccs (0.1.3)
|
26
26
|
coderay (1.1.2)
|
27
|
-
concurrent-ruby (1.1.
|
27
|
+
concurrent-ruby (1.1.4)
|
28
28
|
crack (0.4.3)
|
29
29
|
safe_yaml (~> 1.0.0)
|
30
30
|
diff-lcs (1.3)
|
@@ -80,7 +80,7 @@ GEM
|
|
80
80
|
algoliasearch
|
81
81
|
iecbib (~> 0.2.1)
|
82
82
|
iso-bib-item (~> 0.4.2)
|
83
|
-
isodoc (0.9.
|
83
|
+
isodoc (0.9.13)
|
84
84
|
asciimath
|
85
85
|
html2doc (~> 0.8.6)
|
86
86
|
htmlentities (~> 4.3.4)
|
@@ -126,8 +126,8 @@ GEM
|
|
126
126
|
rainbow (3.0.0)
|
127
127
|
rake (12.3.2)
|
128
128
|
rb-fsevent (0.10.3)
|
129
|
-
rb-inotify (0.
|
130
|
-
ffi (
|
129
|
+
rb-inotify (0.10.0)
|
130
|
+
ffi (~> 1.0)
|
131
131
|
relaton (0.3.1)
|
132
132
|
algoliasearch
|
133
133
|
gbbib (~> 0.4.0)
|
@@ -210,4 +210,4 @@ DEPENDENCIES
|
|
210
210
|
webmock
|
211
211
|
|
212
212
|
BUNDLED WITH
|
213
|
-
1.17.
|
213
|
+
1.17.2
|
@@ -86,10 +86,13 @@ module Asciidoctor
|
|
86
86
|
@files_to_delete = []
|
87
87
|
@filename = node.attr("docfile") ?
|
88
88
|
node.attr("docfile").gsub(/\.adoc$/, "").gsub(%r{^.*/}, "") : ""
|
89
|
+
@localdir = %r{/}.match(node.attr("docfile")) ?
|
90
|
+
node.attr("docfile").sub(%r{/[^/]+$}, "/") : "./"
|
89
91
|
@no_isobib_cache = node.attr("no-isobib-cache")
|
90
92
|
@no_isobib = node.attr("no-isobib")
|
91
93
|
@bibdb = nil
|
92
94
|
@seen_headers = []
|
95
|
+
@datauriimage = node.attr("data-uri-image")
|
93
96
|
init_bib_caches(node)
|
94
97
|
init_iev_caches(node)
|
95
98
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
require "htmlentities"
|
2
2
|
require "uri"
|
3
|
+
require "mime/types"
|
4
|
+
require "base64"
|
3
5
|
|
4
6
|
module Asciidoctor
|
5
7
|
module Standoc
|
@@ -122,10 +124,18 @@ module Asciidoctor
|
|
122
124
|
end.join("\n")
|
123
125
|
end
|
124
126
|
|
127
|
+
def datauri(uri)
|
128
|
+
types = MIME::Types.type_for(@localdir + uri)
|
129
|
+
type = types ? types.first.to_s : 'text/plain; charset="utf-8"'
|
130
|
+
bin = File.read(@localdir + uri, encoding: "utf-8")
|
131
|
+
data = Base64.strict_encode64(bin)
|
132
|
+
"data:#{type};base64,#{data}"
|
133
|
+
end
|
134
|
+
|
125
135
|
def image_attributes(node)
|
126
136
|
uri = node.image_uri node.attr("target")
|
127
137
|
types = MIME::Types.type_for(uri)
|
128
|
-
{ src: uri,
|
138
|
+
{ src: @datauriimage ? datauri(uri) : uri,
|
129
139
|
id: Utils::anchor_or_uuid,
|
130
140
|
imagetype: types.first.sub_type.upcase,
|
131
141
|
height: node.attr("height") || "auto",
|
@@ -185,8 +195,10 @@ module Asciidoctor
|
|
185
195
|
def listing(node)
|
186
196
|
# NOTE: html escaping is performed by Nokogiri
|
187
197
|
noko do |xml|
|
188
|
-
xml.sourcecode(**id_attr(node))
|
189
|
-
|
198
|
+
xml.sourcecode(**id_attr(node)) do |s|
|
199
|
+
figure_title(node, s)
|
200
|
+
s << node.content
|
201
|
+
end
|
190
202
|
end
|
191
203
|
end
|
192
204
|
end
|
@@ -48,7 +48,7 @@ module Asciidoctor
|
|
48
48
|
return unless @smartquotes
|
49
49
|
xmldoc.traverse do |n|
|
50
50
|
next unless n.text?
|
51
|
-
next unless n.ancestors("pre, tt, sourcecode, bibdata").empty?
|
51
|
+
next unless n.ancestors("pre, tt, sourcecode, bibdata, on").empty?
|
52
52
|
n.replace(Utils::smartformat(n.text))
|
53
53
|
end
|
54
54
|
xmldoc
|
@@ -356,6 +356,21 @@ RSpec.describe Asciidoctor::Standoc do
|
|
356
356
|
OUTPUT
|
357
357
|
end
|
358
358
|
|
359
|
+
it "processes images as datauri" do
|
360
|
+
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to include '<image src="data:image/png;base64'
|
361
|
+
= Document title
|
362
|
+
Author
|
363
|
+
:docfile: test.adoc
|
364
|
+
:nodoc:
|
365
|
+
:novalid:
|
366
|
+
:no-isobib:
|
367
|
+
:data-uri-image:
|
368
|
+
|
369
|
+
.Split-it-right sample divider
|
370
|
+
image::spec/examples/rice_images/rice_image1.png[]
|
371
|
+
INPUT
|
372
|
+
end
|
373
|
+
|
359
374
|
it "accepts alignment attribute on paragraphs" do
|
360
375
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
361
376
|
#{ASCIIDOC_BLANK_HDR}
|
@@ -393,6 +408,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
393
408
|
it "processes source code" do
|
394
409
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
395
410
|
#{ASCIIDOC_BLANK_HDR}
|
411
|
+
.Caption
|
396
412
|
[source,ruby]
|
397
413
|
--
|
398
414
|
puts "Hello, world."
|
@@ -403,7 +419,7 @@ RSpec.describe Asciidoctor::Standoc do
|
|
403
419
|
INPUT
|
404
420
|
#{BLANK_HDR}
|
405
421
|
<sections>
|
406
|
-
<sourcecode id="_">puts "Hello, world."
|
422
|
+
<sourcecode id="_"><name>Caption</name>puts "Hello, world."
|
407
423
|
%w{a b c}.each do |x|
|
408
424
|
puts x
|
409
425
|
end</sourcecode>
|
@@ -96,6 +96,22 @@ RSpec.describe Asciidoctor::Standoc do
|
|
96
96
|
OUTPUT
|
97
97
|
end
|
98
98
|
|
99
|
+
it "handles < > & in Asciidoctor correctly" do
|
100
|
+
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
101
|
+
#{ASCIIDOC_BLANK_HDR}
|
102
|
+
== {blank}
|
103
|
+
|
104
|
+
<&>
|
105
|
+
INPUT
|
106
|
+
#{BLANK_HDR}
|
107
|
+
<sections>
|
108
|
+
<clause id="_" inline-header="false" obligation="normative">
|
109
|
+
<p id="_"><&></p>
|
110
|
+
</clause>
|
111
|
+
</sections>
|
112
|
+
</standard-document>
|
113
|
+
OUTPUT
|
114
|
+
end
|
99
115
|
|
100
116
|
it "removes empty text elements" do
|
101
117
|
expect(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :standoc, header_footer: true))).to be_equivalent_to <<~"OUTPUT"
|
@@ -750,7 +766,7 @@ r = 1 %</stem>
|
|
750
766
|
<title format="text/plain">Standard</title>
|
751
767
|
<docidentifier>ISO 123:—</docidentifier>
|
752
768
|
<date type="published">
|
753
|
-
<on
|
769
|
+
<on>--</on>
|
754
770
|
</date>
|
755
771
|
<contributor>
|
756
772
|
<role type="publisher"/>
|
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: 1.0.
|
4
|
+
version: 1.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|