asciidoctor-epub3 2.1.0 → 2.1.3

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
  SHA256:
3
- metadata.gz: ff785d4225d6fea9ffa77155a0c285b89991daf507429aec38b40ff6c65f7083
4
- data.tar.gz: b2824f59d264f41ba14ceb3d7b9ad196de08a1ba2faffba99bec15f0012b1b8c
3
+ metadata.gz: e540f1e38644f36b8bc24f3fa7c4a28cfc4dc25dc48e562d896f1b5fe77b983e
4
+ data.tar.gz: 314426f63b59424041be94e51e7b6831fcf74184818b2bce4617f558b9abc08f
5
5
  SHA512:
6
- metadata.gz: 9dded16c8740dfd72d35f8bc34fa88abbd66a45110793731783c375ff55f344095234637e43709196e5d0ba0240a98e74701f570d8e09847ad30b950ed4e812b
7
- data.tar.gz: dd63ed0c15a768e0c6224a7ca8345a05fef6512ca0a09a0e7f64da8fd998ab16b1b88160c2d893ac49bedbed07cd1983e4cda0f03272383f4b5241a99198cb9d
6
+ metadata.gz: '04955f47c01700eb04acc9360871c1833534867a7e3f8f0358c583ec8c667fd4f2cfc71681f9f8b00087c119ca874661c6e903302fc614393a9b0ee4124cef33'
7
+ data.tar.gz: 818fe3c95a351fd42dbbfa0e13d6ad94e1ab28ffc616a5c315f61e94e1596cd0d0845ff2fbc829bcba948bcbc687369f59897211609c50de60d7a19d9b2d1117
data/CHANGELOG.adoc CHANGED
@@ -5,10 +5,17 @@
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.1.3 (2024-05-12) - @slonopotamus
9
+
10
+ * fix crash when section title contains inline anchor (#472)
11
+ * fix crash on an SVG image inside table cell (#470)
12
+ * lock gepub to 1.0.15 to workaround file descriptor leak (#474)
13
+
8
14
  == 2.1.0 (2024-02-04) - @slonopotamus
9
15
 
10
16
  * drop MOBI support
11
17
  * add support for blocks in callouts (#463)
18
+ * stop packaging samples into gem (#462)
12
19
 
13
20
  == 2.0.1 (2024-01-13) - @slonopotamus
14
21
 
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.1.0, 2024-02-04
3
+ v2.1.3, 2024-05-12
4
4
  :project-name: Asciidoctor EPUB3
5
5
  :project-handle: asciidoctor-epub3
6
6
  :uri-project: https://github.com/asciidoctor/{project-handle}
@@ -33,15 +33,21 @@ Gem::Specification.new do |s|
33
33
  s.add_development_dependency 'asciimath', '~> 2.0'
34
34
  s.add_development_dependency 'coderay', '~> 1.1.0'
35
35
  s.add_development_dependency 'pygments.rb', '~> 2.4.0'
36
- s.add_development_dependency 'rake', '~> 13.1.0'
36
+ s.add_development_dependency 'rake', '~> 13.2.0'
37
37
  s.add_development_dependency 'rouge', '~> 3.0'
38
- s.add_development_dependency 'rspec', '~> 3.12.0'
38
+ s.add_development_dependency 'rspec', '~> 3.13.0'
39
39
  s.add_development_dependency 'rubocop', '~> 1.50.2'
40
40
  s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
41
41
  s.add_development_dependency 'rubocop-rspec', '~> 2.20.0'
42
42
 
43
43
  s.add_runtime_dependency 'asciidoctor', '~> 2.0'
44
- s.add_runtime_dependency 'gepub', '~> 1.0.0'
44
+
45
+ # Temporarily ban gepub 1.0.16
46
+ # Looks like it stopped properly closing files after writing
47
+ # See https://github.com/skoji/gepub/pull/140#issuecomment-2106238457
48
+ s.add_runtime_dependency 'gepub', '>= 1.0.0', '<= 1.0.15'
49
+ # s.add_runtime_dependency 'gepub', '~> 1.0.0'
50
+
45
51
  s.add_runtime_dependency 'mime-types', '~> 3.0'
46
52
 
47
53
  # TODO: switch to 'sass-embedded' when we drop Ruby 2.5 support
@@ -76,6 +76,10 @@ module Asciidoctor
76
76
 
77
77
  EPUB_EXTENSION_RX = /\.epub$/i.freeze
78
78
 
79
+ # This is a workaround for https://github.com/asciidoctor/asciidoctor/issues/4380
80
+ # Currently, there is no access to parent cell from inner document
81
+ PARENT_CELL_FIELD_NAME = :@epub3_parent_cell
82
+
79
83
  QUOTE_TAGS = begin
80
84
  tags = {
81
85
  monospaced: ['<code>', '</code>', true],
@@ -95,6 +99,11 @@ module Asciidoctor
95
99
 
96
100
  def initialize(backend, opts = {})
97
101
  super
102
+
103
+ @xrefs_seen = Set.new
104
+ @media_files = {}
105
+ @footnotes = []
106
+
98
107
  basebackend 'html'
99
108
  outfilesuffix '.epub'
100
109
  htmlsyntax 'xml'
@@ -149,9 +158,6 @@ module Asciidoctor
149
158
  @extract = node.attr? 'ebook-extract'
150
159
  @compress = node.attr 'ebook-compress'
151
160
  @epubcheck_path = node.attr 'ebook-epubcheck-path'
152
- @xrefs_seen = ::Set.new
153
- @media_files = {}
154
- @footnotes = []
155
161
 
156
162
  @book = GEPUB::Book.new 'EPUB/package.opf'
157
163
  @book.epub_backward_compat = true
@@ -794,6 +800,7 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
794
800
  else
795
801
  case cell.style
796
802
  when :asciidoc
803
+ cell.inner_document.instance_variable_set(PARENT_CELL_FIELD_NAME, cell)
797
804
  cell_content = %(<div class="embed">#{cell.content}</div>)
798
805
  when :verse
799
806
  cell_content = %(<div class="verse">#{cell.text}</div>)
@@ -952,7 +959,9 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
952
959
  lines << %(<h3 class="list-heading">#{node.title}</h3>) if node.title?
953
960
  lines << %(<ol#{ol_class_attr}#{ol_start_attr}#{node.option?('reversed') ? ' reversed="reversed"' : ''}>)
954
961
  node.items.each do |item|
955
- lines << %(<li>
962
+ li_classes = [item.role].compact
963
+ li_class_attr = li_classes.empty? ? '' : %( class="#{li_classes * ' '}")
964
+ lines << %(<li#{li_class_attr}>
956
965
  <span class="principal">#{item.text}</span>)
957
966
  if item.blocks?
958
967
  lines << item.content
@@ -979,7 +988,9 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
979
988
  lines << %(<h3 class="list-heading">#{node.title}</h3>) if node.title?
980
989
  lines << %(<ul#{ul_class_attr}>)
981
990
  node.items.each do |item|
982
- lines << %(<li>
991
+ li_classes = [item.role].compact
992
+ li_class_attr = li_classes.empty? ? '' : %( class="#{li_classes * ' '}")
993
+ lines << %(<li#{li_class_attr}>
983
994
  <span class="principal">#{item.text}</span>)
984
995
  if item.blocks?
985
996
  lines << item.content
@@ -1150,7 +1161,11 @@ document.addEventListener('DOMContentLoaded', function(event, reader) {
1150
1161
  return nil if node.nil?
1151
1162
  return node unless get_chapter_filename(node).nil?
1152
1163
 
1153
- node = node.parent
1164
+ node = if node.instance_variable_defined?(PARENT_CELL_FIELD_NAME)
1165
+ node.instance_variable_get(PARENT_CELL_FIELD_NAME)
1166
+ else
1167
+ node.parent
1168
+ end
1154
1169
  end
1155
1170
  end
1156
1171
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Asciidoctor
4
4
  module Epub3
5
- VERSION = '2.1.0'
5
+ VERSION = '2.1.3'
6
6
  end
7
7
  end
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.1.0
4
+ version: 2.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Allen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-02-04 00:00:00.000000000 Z
12
+ date: 2024-05-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: asciidoctor-diagram
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 13.1.0
76
+ version: 13.2.0
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 13.1.0
83
+ version: 13.2.0
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: rouge
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +101,14 @@ dependencies:
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 3.12.0
104
+ version: 3.13.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 3.12.0
111
+ version: 3.13.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rubocop
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -169,16 +169,22 @@ dependencies:
169
169
  name: gepub
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - "~>"
172
+ - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: 1.0.0
175
+ - - "<="
176
+ - !ruby/object:Gem::Version
177
+ version: 1.0.15
175
178
  type: :runtime
176
179
  prerelease: false
177
180
  version_requirements: !ruby/object:Gem::Requirement
178
181
  requirements:
179
- - - "~>"
182
+ - - ">="
180
183
  - !ruby/object:Gem::Version
181
184
  version: 1.0.0
185
+ - - "<="
186
+ - !ruby/object:Gem::Version
187
+ version: 1.0.15
182
188
  - !ruby/object:Gem::Dependency
183
189
  name: mime-types
184
190
  requirement: !ruby/object:Gem::Requirement
@@ -302,7 +308,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
308
  - !ruby/object:Gem::Version
303
309
  version: '0'
304
310
  requirements: []
305
- rubygems_version: 3.5.3
311
+ rubygems_version: 3.5.9
306
312
  signing_key:
307
313
  specification_version: 4
308
314
  summary: Converts AsciiDoc documents to EPUB3 e-book format