asciidoctor-epub3 2.2.0 → 2.3.0
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/CHANGELOG.adoc +9 -1
- data/README.adoc +1 -1
- data/asciidoctor-epub3.gemspec +9 -7
- data/data/styles/epub3.scss +45 -4
- data/lib/asciidoctor-epub3/converter.rb +55 -38
- data/lib/asciidoctor-epub3/version.rb +1 -1
- metadata +44 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dddf8fe89e08a5735ec8834f22bd922b8385c41d7115e8af62b16ebac212419
|
4
|
+
data.tar.gz: 8db49a9934ce142ffa4bd371abef329d939f4eb8bec928fbc54baa48a267c06d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e21b62e05193e4b1c208ee8cce4e434f528d543909b0c71e04c7b3fecf43c2724c91d47a01a2f291b2bbbe5718857721412553bdde0db6d09110a59d83169c31
|
7
|
+
data.tar.gz: e9db7e08b20c644db5ad7a06367a668fc77997933bdc0f219121076bbfae902cf8c2ab31d0e7c870b3579d1f8dc6bbd9fc4fa5cb87f1753b40ed0d206c522ced
|
data/CHANGELOG.adoc
CHANGED
@@ -5,6 +5,14 @@
|
|
5
5
|
This document provides a high-level view of the changes to the {project-name} by release.
|
6
6
|
For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
|
7
7
|
|
8
|
+
== 2.3.0 (2025-08-31) - @slonopotamus
|
9
|
+
|
10
|
+
* add docinfo support (#502)
|
11
|
+
* fix footnote HTML markup (#506)
|
12
|
+
* add list styles support #(508)
|
13
|
+
* improve CSS styles for example blocks (#516)
|
14
|
+
* fix off-by-one `:toclevels:` handling in multi-part books (#492)
|
15
|
+
|
8
16
|
== 2.2.0 (2025-05-11) - @slonopotamus
|
9
17
|
|
10
18
|
* fix crash when running in environments with non-Unicode locale (#475)
|
@@ -14,7 +22,7 @@ For a detailed view of what has changed, refer to the {uri-repo}/commits/master[
|
|
14
22
|
* bump the oldest supported Ruby to 2.7
|
15
23
|
* fix Ruby 3.4 compatibility
|
16
24
|
* fix captions in example blocks (#497)
|
17
|
-
* fix
|
25
|
+
* fix off-by-one `:toclevels:` handling (#492)
|
18
26
|
* stop using H3 for list headings (#491)
|
19
27
|
|
20
28
|
== 2.1.3 (2024-05-12) - @slonopotamus
|
data/README.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= {project-name}: A _native_ EPUB3 converter for AsciiDoc
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
|
3
|
-
v2.2.0, 2025-
|
3
|
+
v2.2.0, 2025-08-31
|
4
4
|
:project-name: Asciidoctor EPUB3
|
5
5
|
:project-handle: asciidoctor-epub3
|
6
6
|
:uri-project: https://github.com/asciidoctor/{project-handle}
|
data/asciidoctor-epub3.gemspec
CHANGED
@@ -36,17 +36,19 @@ Gem::Specification.new do |s|
|
|
36
36
|
# TODO: switch to 'sass-embedded' when we drop Ruby 2.5 support
|
37
37
|
s.add_dependency 'sass'
|
38
38
|
|
39
|
-
s.add_development_dependency 'asciidoctor-diagram', '~>
|
39
|
+
s.add_development_dependency 'asciidoctor-diagram', '~> 3.0'
|
40
|
+
s.add_development_dependency 'asciidoctor-diagram-ditaamini', '~> 1.0'
|
41
|
+
s.add_development_dependency 'asciidoctor-diagram-plantuml', '~> 1.2025'
|
40
42
|
s.add_development_dependency 'asciimath', '~> 2.0'
|
41
43
|
s.add_development_dependency 'coderay', '~> 1.1.0'
|
42
44
|
s.add_development_dependency 'concurrent-ruby', '~> 1.0'
|
43
|
-
s.add_development_dependency 'epubcheck-ruby', '~> 5.2.
|
44
|
-
s.add_development_dependency 'pygments.rb', '~>
|
45
|
-
s.add_development_dependency 'rake', '~> 13.
|
46
|
-
s.add_development_dependency 'rouge', '~>
|
45
|
+
s.add_development_dependency 'epubcheck-ruby', '~> 5.2.1.0'
|
46
|
+
s.add_development_dependency 'pygments.rb', '~> 4.0.0'
|
47
|
+
s.add_development_dependency 'rake', '~> 13.3.0'
|
48
|
+
s.add_development_dependency 'rouge', '~> 4.6'
|
47
49
|
s.add_development_dependency 'rspec', '~> 3.13.0'
|
48
|
-
s.add_development_dependency 'rubocop', '~> 1.
|
49
|
-
s.add_development_dependency 'rubocop-rake', '~> 0.
|
50
|
+
s.add_development_dependency 'rubocop', '~> 1.80.0'
|
51
|
+
s.add_development_dependency 'rubocop-rake', '~> 0.7.1'
|
50
52
|
s.add_development_dependency 'rubocop-rspec', '~> 3.3'
|
51
53
|
s.add_development_dependency 'slim', '~> 5.0'
|
52
54
|
s.add_development_dependency 'tilt', '~> 2.0'
|
data/data/styles/epub3.scss
CHANGED
@@ -207,7 +207,7 @@ th, td {
|
|
207
207
|
body p,
|
208
208
|
ul, ol, li, dl, dt, dd, footer,
|
209
209
|
div.verse .attribution, table.table th, table.table td,
|
210
|
-
figcaption, caption {
|
210
|
+
figcaption, caption, div.example-title {
|
211
211
|
/* NOTE iBooks will forcefully override font-family of text inside div, p and span elements when font other than Original is selected */
|
212
212
|
/* NOTE iBooks honors Original font for prose text if declared in display-options.xml */
|
213
213
|
font-family: "Noto Serif", serif;
|
@@ -363,6 +363,16 @@ div.callout-list li > i.conum {
|
|
363
363
|
width: 1.25em;
|
364
364
|
}
|
365
365
|
|
366
|
+
div.example-title {
|
367
|
+
margin-top: 1em;
|
368
|
+
}
|
369
|
+
|
370
|
+
.example-content > * {
|
371
|
+
margin-top: 0.25em;
|
372
|
+
border: 1px solid $aside-border;
|
373
|
+
padding: 0.25em;
|
374
|
+
}
|
375
|
+
|
366
376
|
div.itemized-list, div.ordered-list, div.description-list {
|
367
377
|
margin-top: 1em;
|
368
378
|
padding-bottom: 0.25em; /* REVIEW maybe, maybe not */
|
@@ -414,11 +424,39 @@ li > span.principal, dd > span.principal {
|
|
414
424
|
text-align: justify;
|
415
425
|
}
|
416
426
|
|
427
|
+
ol.arabic {
|
428
|
+
list-style-type: decimal
|
429
|
+
}
|
430
|
+
|
417
431
|
ol.brief > li > span.principal,
|
418
432
|
ul.brief > li > span.principal {
|
419
433
|
text-align: left;
|
420
434
|
}
|
421
435
|
|
436
|
+
ol.decimal {
|
437
|
+
list-style-type: decimal-leading-zero
|
438
|
+
}
|
439
|
+
|
440
|
+
ol.loweralpha {
|
441
|
+
list-style-type: lower-alpha
|
442
|
+
}
|
443
|
+
|
444
|
+
ol.lowergreek {
|
445
|
+
list-style-type: lower-greek
|
446
|
+
}
|
447
|
+
|
448
|
+
ol.lowerroman {
|
449
|
+
list-style-type: lower-roman
|
450
|
+
}
|
451
|
+
|
452
|
+
ol.upperalpha {
|
453
|
+
list-style-type: upper-alpha
|
454
|
+
}
|
455
|
+
|
456
|
+
ol.upperroman {
|
457
|
+
list-style-type: upper-roman
|
458
|
+
}
|
459
|
+
|
422
460
|
/* REVIEW still considering keeping this one */
|
423
461
|
/* disable justify within a link */
|
424
462
|
/*
|
@@ -469,8 +507,10 @@ h4 {
|
|
469
507
|
|
470
508
|
/* Removed due to multiple definitions, assuming only the last one will be considered by interpreters */
|
471
509
|
/* font-size: 1.1em; */
|
472
|
-
/* margin-top: 1em; */
|
473
|
-
/*
|
510
|
+
/* margin-top: 1em; */
|
511
|
+
/* 1.1rem */
|
512
|
+
/* margin-bottom: -0.818em; */
|
513
|
+
/* -0.9rem, 0.1rem to content */
|
474
514
|
|
475
515
|
font-size: 1.2em;
|
476
516
|
margin-top: 0.917em; /* 1.1rem */
|
@@ -783,7 +823,8 @@ figure.coalesce {
|
|
783
823
|
}
|
784
824
|
|
785
825
|
figcaption,
|
786
|
-
caption
|
826
|
+
caption,
|
827
|
+
div.example-title {
|
787
828
|
font-size: 0.9em;
|
788
829
|
font-style: italic;
|
789
830
|
color: $caption-text;
|
@@ -245,6 +245,7 @@ module Asciidoctor
|
|
245
245
|
|
246
246
|
nav_item = @book.add_item('nav.xhtml', id: 'nav').nav
|
247
247
|
|
248
|
+
# TODO: Why we default to toclevels=1?
|
248
249
|
toclevels = [(node.attr 'toclevels', 1).to_i, 0].max
|
249
250
|
outlinelevels = [(node.attr 'outlinelevels', toclevels).to_i, 0].max
|
250
251
|
|
@@ -388,9 +389,9 @@ module Asciidoctor
|
|
388
389
|
if icon_names.empty?
|
389
390
|
icon_css_head = ''
|
390
391
|
else
|
391
|
-
icon_defs = icon_names.map
|
392
|
+
icon_defs = icon_names.map do |name|
|
392
393
|
%(.i-#{name}::before { content: "#{FontIconMap.unicode name}"; })
|
393
|
-
|
394
|
+
end * LF
|
394
395
|
icon_css_head = %(<style>
|
395
396
|
#{icon_defs}
|
396
397
|
</style>
|
@@ -435,8 +436,19 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
|
|
435
436
|
self_closing_tag_slash: '/')
|
436
437
|
end
|
437
438
|
|
438
|
-
|
439
|
+
unless (docinfo_content = node.document.docinfo :head, '-epub.html').empty?
|
440
|
+
lines << docinfo_content
|
441
|
+
end
|
442
|
+
|
443
|
+
lines << '</head>
|
439
444
|
<body>
|
445
|
+
'
|
446
|
+
|
447
|
+
unless (docinfo_content = node.document.docinfo :header, '-epub.html').empty?
|
448
|
+
lines << docinfo_content
|
449
|
+
end
|
450
|
+
|
451
|
+
lines << %(
|
440
452
|
<section class="chapter" title=#{chapter_title.encode xml: :attr}#{epub_type_attr} id="#{filename}">
|
441
453
|
#{header}
|
442
454
|
#{content})
|
@@ -462,6 +474,10 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
|
|
462
474
|
self_closing_tag_slash: '/')
|
463
475
|
end
|
464
476
|
|
477
|
+
unless (docinfo_content = node.document.docinfo :footer, '-epub.html').empty?
|
478
|
+
lines << docinfo_content
|
479
|
+
end
|
480
|
+
|
465
481
|
lines << '</body>
|
466
482
|
</html>'
|
467
483
|
|
@@ -1257,7 +1273,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
|
|
1257
1273
|
attrs = []
|
1258
1274
|
attrs << %(id="#{node.id}") if node.id
|
1259
1275
|
|
1260
|
-
%(<sup class="noteref">[<a#{prepend_space attrs * ' '}href="#note-#{index}" epub:type="noteref">#{index}</a>]</sup>)
|
1276
|
+
%(<sup class="noteref">[<a#{prepend_space attrs * ' '} href="#note-#{index}" epub:type="noteref">#{index}</a>]</sup>)
|
1261
1277
|
elsif node.type == :xref
|
1262
1278
|
%(<mark class="noteref" title="Unresolved note reference">#{node.text}</mark>)
|
1263
1279
|
end
|
@@ -1377,7 +1393,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
|
|
1377
1393
|
|
1378
1394
|
# Prepend a space to the value if it's non-nil, otherwise return empty string.
|
1379
1395
|
def prepend_space(value)
|
1380
|
-
value ? %( #{value})
|
1396
|
+
value.nil_or_empty? ? '' : %( #{value})
|
1381
1397
|
end
|
1382
1398
|
|
1383
1399
|
def add_theme_assets(doc)
|
@@ -1587,7 +1603,7 @@ body > svg {
|
|
1587
1603
|
nil
|
1588
1604
|
end
|
1589
1605
|
|
1590
|
-
def nav_doc(doc, items, landmarks,
|
1606
|
+
def nav_doc(doc, items, landmarks, levels)
|
1591
1607
|
lines = [%(<?xml version='1.0' encoding='utf-8'?>
|
1592
1608
|
<!DOCTYPE html>
|
1593
1609
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="#{lang = doc.attr 'lang',
|
@@ -1603,7 +1619,7 @@ body > svg {
|
|
1603
1619
|
<h1 class="chapter-title"><small class="subtitle">#{doc.attr 'toc-title'}</small></h1>
|
1604
1620
|
</header>
|
1605
1621
|
<nav epub:type="toc" id="toc">)]
|
1606
|
-
lines << (nav_level items,
|
1622
|
+
lines << (nav_level items, levels)
|
1607
1623
|
lines << '</nav>'
|
1608
1624
|
|
1609
1625
|
unless landmarks.empty?
|
@@ -1624,41 +1640,40 @@ body > svg {
|
|
1624
1640
|
lines * LF
|
1625
1641
|
end
|
1626
1642
|
|
1627
|
-
def nav_level(items,
|
1643
|
+
def nav_level(items, levels, state = {})
|
1628
1644
|
lines = []
|
1629
1645
|
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
|
1649
|
-
|
1650
|
-
|
1651
|
-
|
1652
|
-
end
|
1653
|
-
state.delete :content_doc_href unless chapter_filename.nil?
|
1646
|
+
items.each do |item|
|
1647
|
+
next if item.level > levels
|
1648
|
+
|
1649
|
+
# index = (state[:index] = (state.fetch :index, 0) + 1)
|
1650
|
+
if (chapter_filename = get_chapter_filename item).nil?
|
1651
|
+
item_label = sanitize_xml get_numbered_title(item), :pcdata
|
1652
|
+
item_href = %(#{state[:content_doc_href]}##{item.id})
|
1653
|
+
else
|
1654
|
+
# NOTE: we sanitize the chapter titles because we use formatting to control layout
|
1655
|
+
item_label = if item.context == :document
|
1656
|
+
sanitize_doctitle_xml item, :cdata
|
1657
|
+
else
|
1658
|
+
sanitize_xml get_numbered_title(item), :cdata
|
1659
|
+
end
|
1660
|
+
item_href = (state[:content_doc_href] = %(#{chapter_filename}.xhtml))
|
1661
|
+
end
|
1662
|
+
lines << %(<li><a href="#{item_href}">#{item_label}</a>)
|
1663
|
+
if (child_sections = item.sections).empty?
|
1664
|
+
lines[-1] = %(#{lines[-1]}</li>)
|
1665
|
+
else
|
1666
|
+
lines << (nav_level child_sections, levels, state)
|
1667
|
+
lines << '</li>'
|
1654
1668
|
end
|
1655
|
-
|
1669
|
+
state.delete :content_doc_href unless chapter_filename.nil?
|
1656
1670
|
end
|
1657
1671
|
|
1672
|
+
lines = ['<ol>', *lines, %(</ol>)] unless lines.empty?
|
1658
1673
|
lines * LF
|
1659
1674
|
end
|
1660
1675
|
|
1661
|
-
def ncx_doc(doc, items,
|
1676
|
+
def ncx_doc(doc, items, levels)
|
1662
1677
|
# TODO: populate docAuthor element based on unique authors in work
|
1663
1678
|
lines = [%(<?xml version="1.0" encoding="utf-8"?>
|
1664
1679
|
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1" xml:lang="#{doc.attr 'lang', 'en'}">
|
@@ -1670,17 +1685,19 @@ body > svg {
|
|
1670
1685
|
</head>
|
1671
1686
|
<docTitle><text>#{sanitize_doctitle_xml doc, :cdata}</text></docTitle>
|
1672
1687
|
<navMap>)]
|
1673
|
-
lines << (ncx_level items,
|
1688
|
+
lines << (ncx_level items, levels, state = {})
|
1674
1689
|
lines[0] = lines[0].sub '%<depth>s', %(<meta name="dtb:depth" content="#{state[:max_depth]}"/>)
|
1675
1690
|
lines << %(</navMap>
|
1676
1691
|
</ncx>)
|
1677
1692
|
lines * LF
|
1678
1693
|
end
|
1679
1694
|
|
1680
|
-
def ncx_level(items,
|
1695
|
+
def ncx_level(items, levels, state = {})
|
1681
1696
|
lines = []
|
1682
1697
|
state[:max_depth] = (state.fetch :max_depth, 0) + 1
|
1683
1698
|
items.each do |item|
|
1699
|
+
next if item.level > levels
|
1700
|
+
|
1684
1701
|
index = (state[:index] = (state.fetch :index, 0) + 1)
|
1685
1702
|
item_id = %(nav_#{index})
|
1686
1703
|
if (chapter_filename = get_chapter_filename item).nil?
|
@@ -1697,8 +1714,8 @@ body > svg {
|
|
1697
1714
|
lines << %(<navPoint id="#{item_id}" playOrder="#{index}">)
|
1698
1715
|
lines << %(<navLabel><text>#{item_label}</text></navLabel>)
|
1699
1716
|
lines << %(<content src="#{item_href}"/>)
|
1700
|
-
unless
|
1701
|
-
lines << (ncx_level child_sections,
|
1717
|
+
unless (child_sections = item.sections).empty?
|
1718
|
+
lines << (ncx_level child_sections, levels, state)
|
1702
1719
|
end
|
1703
1720
|
lines << %(</navPoint>)
|
1704
1721
|
state.delete :content_doc_href unless chapter_filename.nil?
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-epub3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Allen
|
@@ -72,14 +72,42 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '3.0'
|
76
76
|
type: :development
|
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: '
|
82
|
+
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: asciidoctor-diagram-ditaamini
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: asciidoctor-diagram-plantuml
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.2025'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.2025'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: asciimath
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,56 +156,56 @@ dependencies:
|
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: 5.2.
|
159
|
+
version: 5.2.1.0
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version: 5.2.
|
166
|
+
version: 5.2.1.0
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: pygments.rb
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
171
|
- - "~>"
|
144
172
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
173
|
+
version: 4.0.0
|
146
174
|
type: :development
|
147
175
|
prerelease: false
|
148
176
|
version_requirements: !ruby/object:Gem::Requirement
|
149
177
|
requirements:
|
150
178
|
- - "~>"
|
151
179
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
180
|
+
version: 4.0.0
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
182
|
name: rake
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
185
|
- - "~>"
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version: 13.
|
187
|
+
version: 13.3.0
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
192
|
- - "~>"
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version: 13.
|
194
|
+
version: 13.3.0
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: rouge
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
170
198
|
requirements:
|
171
199
|
- - "~>"
|
172
200
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
201
|
+
version: '4.6'
|
174
202
|
type: :development
|
175
203
|
prerelease: false
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
178
206
|
- - "~>"
|
179
207
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
208
|
+
version: '4.6'
|
181
209
|
- !ruby/object:Gem::Dependency
|
182
210
|
name: rspec
|
183
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,28 +226,28 @@ dependencies:
|
|
198
226
|
requirements:
|
199
227
|
- - "~>"
|
200
228
|
- !ruby/object:Gem::Version
|
201
|
-
version: 1.
|
229
|
+
version: 1.80.0
|
202
230
|
type: :development
|
203
231
|
prerelease: false
|
204
232
|
version_requirements: !ruby/object:Gem::Requirement
|
205
233
|
requirements:
|
206
234
|
- - "~>"
|
207
235
|
- !ruby/object:Gem::Version
|
208
|
-
version: 1.
|
236
|
+
version: 1.80.0
|
209
237
|
- !ruby/object:Gem::Dependency
|
210
238
|
name: rubocop-rake
|
211
239
|
requirement: !ruby/object:Gem::Requirement
|
212
240
|
requirements:
|
213
241
|
- - "~>"
|
214
242
|
- !ruby/object:Gem::Version
|
215
|
-
version: 0.
|
243
|
+
version: 0.7.1
|
216
244
|
type: :development
|
217
245
|
prerelease: false
|
218
246
|
version_requirements: !ruby/object:Gem::Requirement
|
219
247
|
requirements:
|
220
248
|
- - "~>"
|
221
249
|
- !ruby/object:Gem::Version
|
222
|
-
version: 0.
|
250
|
+
version: 0.7.1
|
223
251
|
- !ruby/object:Gem::Dependency
|
224
252
|
name: rubocop-rspec
|
225
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -356,7 +384,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
384
|
- !ruby/object:Gem::Version
|
357
385
|
version: '0'
|
358
386
|
requirements: []
|
359
|
-
rubygems_version: 3.6.
|
387
|
+
rubygems_version: 3.6.9
|
360
388
|
specification_version: 4
|
361
389
|
summary: Converts AsciiDoc documents to EPUB3 e-book format
|
362
390
|
test_files: []
|