asciidoctor-fb2 0.2.3 → 0.2.4

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: bcbbc6c8b9fbfbb6eb2444a9054f8676aed178409809cc47977bccdd5011e94c
4
- data.tar.gz: 5fd22ce5a853988ce66c483637b1b2fe0ca42154d2ab4ee0b277bbb84a96fa7b
3
+ metadata.gz: 10a3aff0401e84e1ad7ef6e5beb2cd823dacb368ccd5171326597eb72fadb355
4
+ data.tar.gz: 0120b9bf29fbde68b6bdea2245bc903a27404da357f419116b07ba41c35e7742
5
5
  SHA512:
6
- metadata.gz: b18f69261c30b1c486c6ef2ec41df8ef23e45ccb818cdc1869d5e525dc67eb841bbb83e51b473e5c6d50a868535a49530b0ac260c790597254df01656b1bb859
7
- data.tar.gz: bbe16778d9bc390c7d492bea0a9588ac24bc9a67490d74950ccf68c65e699f42a0f4112b42d67c1a8aca472dae335ca038a529caaf087f6017f5bfad7e04c1e3
6
+ metadata.gz: 8e1d26f435621c97a0b0a62d2de350ad39fa6d4acac36bf6b5d15d330e881bd7dfd5bcf55cbeea8c4e76ac0cf996583ecf27931012427ee4e34b30f7a8f49d2b
7
+ data.tar.gz: fbd79588f67f4295829c4b0012d5178dd292167c14be8d5294fe9fe514fa20073b2afd2fea6d2db8db99a58964fc59c1e9b7a505ebe7871b153dbb97d4ec10c0
@@ -7,6 +7,12 @@
7
7
  This document provides a high-level view of the changes to the {project-name} by release.
8
8
  For a detailed view of what has changed, refer to the {uri-project}/commits/master[commit history] on GitHub.
9
9
 
10
+ == 0.2.4 (2020-11-24) - @slonopotamus
11
+
12
+ * add support for table captions
13
+ * fix images from subfolders not loaded in Calibre
14
+ * add initial CSS support
15
+
10
16
  == 0.2.3 (2020-11-24) - @slonopotamus
11
17
 
12
18
  * add support for literal blocks
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ['lib']
20
20
 
21
21
  s.add_runtime_dependency 'asciidoctor', '~> 2.0'
22
- s.add_runtime_dependency 'fb2rb', '~> 0.3.0'
22
+ s.add_runtime_dependency 'fb2rb', '~> 0.4.0'
23
23
 
24
24
  s.add_development_dependency 'asciidoctor-diagram', '~> 2.0'
25
25
  s.add_development_dependency 'rake', '~> 13.0'
@@ -0,0 +1,3 @@
1
+ body {
2
+ text-align: justify
3
+ }
@@ -6,6 +6,8 @@ require 'fb2rb'
6
6
 
7
7
  module Asciidoctor
8
8
  module FB2
9
+ DATA_DIR = File.expand_path(File.join(__dir__, '..', 'data'))
10
+
9
11
  # Converts AsciiDoc documents to FB2 e-book formats
10
12
  class Converter < Asciidoctor::Converter::Base # rubocop:disable Metrics/ClassLength
11
13
  include ::Asciidoctor::Writer
@@ -25,6 +27,8 @@ module Asciidoctor
25
27
  # @param node [Asciidoctor::Document]
26
28
  def convert_document(node) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
27
29
  @book = FB2rb::Book.new
30
+ @book.add_stylesheet('text/css', File.join(DATA_DIR, 'fb2.css'))
31
+
28
32
  document_info = @book.description.document_info
29
33
  title_info = @book.description.title_info
30
34
 
@@ -264,7 +268,7 @@ module Asciidoctor
264
268
 
265
269
  # @param node [Asciidoctor::AbstractNode]
266
270
  # @param target [String]
267
- def register_binary(node, target) # rubocop:disable Metrics/MethodLength
271
+ def register_binary(node, target) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
268
272
  unless Asciidoctor::Helpers.uriish?(target)
269
273
  out_dir = node.attr('outdir', nil, true) || doc_option(node.document, :to_dir)
270
274
  fs_path = File.join(out_dir, target)
@@ -274,6 +278,10 @@ module Asciidoctor
274
278
  end
275
279
 
276
280
  if File.readable?(fs_path)
281
+ # Calibre fails to load images if they contain path separators
282
+ target.sub!('/', '_')
283
+ target.sub!('\\', '_')
284
+
277
285
  @book.add_binary(target, fs_path)
278
286
  target = %(##{target})
279
287
  end
@@ -361,7 +369,9 @@ module Asciidoctor
361
369
 
362
370
  # @param node [Asciidoctor::Table]
363
371
  def convert_table(node) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
364
- lines = ['<table>']
372
+ lines = []
373
+ lines << %(<subtitle>#{node.captioned_title}</subtitle>) if node.title?
374
+ lines << '<table>'
365
375
  node.rows.to_h.each do |tsec, rows| # rubocop:disable Metrics/BlockLength
366
376
  next if rows.empty?
367
377
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Asciidoctor
4
4
  module FB2
5
- VERSION = '0.2.3'
5
+ VERSION = '0.2.4'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-fb2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marat Radchenko
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.3.0
33
+ version: 0.4.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.0
40
+ version: 0.4.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: asciidoctor-diagram
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -129,6 +129,7 @@ files:
129
129
  - Rakefile
130
130
  - asciidoctor-fb2.gemspec
131
131
  - bin/asciidoctor-fb2
132
+ - data/fb2.css
132
133
  - lib/asciidoctor_fb2.rb
133
134
  - lib/asciidoctor_fb2/version.rb
134
135
  - tasks/bundler.rake