asciidoctor-pdf 2.3.4 → 2.3.5
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 +18 -0
- data/README.adoc +1 -1
- data/lib/asciidoctor/pdf/converter.rb +20 -10
- data/lib/asciidoctor/pdf/ext/prawn-table/cell/asciidoc.rb +3 -2
- data/lib/asciidoctor/pdf/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 184bc10cddae48122341892c25f9d8cecdb3beeb85497e29a5171eae78185837
|
4
|
+
data.tar.gz: 3928a499726157b753b6d7a8241ccd7f5bfcd271c3bd671d691d608b58c04b54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3fa4c82f148cbe554b117fad1b86330658948ad2f1ec18de0b6e7d82304bdcf7999c57a45a6d0d4e3f71d1a6a0cb4e95931788abd9d8aba95652100c20e888e
|
7
|
+
data.tar.gz: 394395230c7c484ae2c3b214cf50f9d2e635897c25dbad3032a1d1c7f270a449ba3b096c901891cc109835273ac7f705940a6a8deedbcff00bbb2cdc2bb5bf17
|
data/CHANGELOG.adoc
CHANGED
@@ -5,6 +5,24 @@
|
|
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 {url-repo}/commits/main[commit history] on GitHub.
|
7
7
|
|
8
|
+
== 2.3.5 (2023-03-31) - @mojavelinux
|
9
|
+
|
10
|
+
Enhancements::
|
11
|
+
|
12
|
+
* add `callout-list-marker-font-color` theme key to control color of conum marker in callout list (#2402)
|
13
|
+
|
14
|
+
Bug Fixes::
|
15
|
+
|
16
|
+
* catalog all footnotes found inside AsciiDoc table cells and render them in the footnotes list (#2410)
|
17
|
+
* do not drop section that follows empty index (#2368)
|
18
|
+
* restore bottom margin on table with `breakable` or `unbreakable` option (#2379)
|
19
|
+
* honor theme settings for caption on table with `breakable` or `unbreakable` option (#2379)
|
20
|
+
* use first recto page after toc when media is prepress and page numbering or running content start-at value is `after-toc` (#2398)
|
21
|
+
|
22
|
+
=== Details
|
23
|
+
|
24
|
+
{url-repo}/releases/tag/v2.3.5[git tag] | {url-repo}/compare/v2.3.4\...v2.3.5[full diff]
|
25
|
+
|
8
26
|
== 2.3.4 (2022-10-29) - @mojavelinux
|
9
27
|
|
10
28
|
Bug Fixes::
|
data/README.adoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
= Asciidoctor PDF: A native PDF converter for AsciiDoc
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
|
3
|
-
v2.3.
|
3
|
+
v2.3.5, 2023-03-31
|
4
4
|
// Settings:
|
5
5
|
:experimental:
|
6
6
|
:idprefix:
|
@@ -303,8 +303,12 @@ module Asciidoctor
|
|
303
303
|
|
304
304
|
if (toc_extent = @toc_extent)
|
305
305
|
if title_page_on && !insert_toc
|
306
|
-
|
307
|
-
|
306
|
+
if @theme.running_content_start_at == 'after-toc' || @theme.page_numbering_start_at == 'after-toc' # rubocop:disable Style/SoleNestedConditional
|
307
|
+
last_toc_page = toc_extent.to.page
|
308
|
+
last_toc_page += 1 if @ppbook && (recto_page? last_toc_page)
|
309
|
+
num_front_matter_pages[0] = last_toc_page if @theme.running_content_start_at == 'after-toc'
|
310
|
+
num_front_matter_pages[1] = last_toc_page if @theme.page_numbering_start_at == 'after-toc'
|
311
|
+
end
|
308
312
|
end
|
309
313
|
toc_page_nums = ink_toc doc, toc_num_levels, toc_extent.from.page, toc_extent.from.cursor, num_front_matter_pages[1]
|
310
314
|
else
|
@@ -627,7 +631,8 @@ module Asciidoctor
|
|
627
631
|
sect.context = :open
|
628
632
|
return convert_abstract sect
|
629
633
|
elsif (index_section = sectname == 'index') && @index.empty?
|
630
|
-
|
634
|
+
# override numbered_title to hide entry from TOC
|
635
|
+
sect.define_singleton_method :numbered_title, &->(*) { '' }
|
631
636
|
return
|
632
637
|
end
|
633
638
|
title = sect.numbered_title formal: true
|
@@ -1244,7 +1249,7 @@ module Asciidoctor
|
|
1244
1249
|
if !at_page_top? && (has_title || id || (node.option? 'unbreakable'))
|
1245
1250
|
arrange_block node do
|
1246
1251
|
add_dest_for_block node if id
|
1247
|
-
tare_first_page_content_stream { ink_caption node, labeled: false } if has_title
|
1252
|
+
tare_first_page_content_stream { ink_caption node, category: (node.style === 'table-container' ? :table : nil), labeled: false } if has_title
|
1248
1253
|
traverse node
|
1249
1254
|
end
|
1250
1255
|
else
|
@@ -1364,9 +1369,10 @@ module Asciidoctor
|
|
1364
1369
|
@list_numerals << (index = @list_numerals.pop).next
|
1365
1370
|
theme_font :conum do
|
1366
1371
|
marker_width = rendered_width_of_string %(#{marker = conum_glyph index}x)
|
1372
|
+
marker_font_color = @theme.callout_list_marker_font_color || @font_color
|
1367
1373
|
float do
|
1368
1374
|
bounding_box [bounds.left, cursor], width: marker_width do
|
1369
|
-
ink_prose marker, align: :center, inline_format: false, margin: 0
|
1375
|
+
ink_prose marker, align: :center, inline_format: false, margin: 0, color: marker_font_color
|
1370
1376
|
end
|
1371
1377
|
end
|
1372
1378
|
end
|
@@ -1968,13 +1974,15 @@ module Asciidoctor
|
|
1968
1974
|
|
1969
1975
|
def convert_table node
|
1970
1976
|
if !at_page_top? && ((unbreakable = node.option? 'unbreakable') || ((node.option? 'breakable') && (node.id || node.title?)))
|
1971
|
-
|
1977
|
+
# NOTE: we use the current node as the parent so we can navigate back into the document model
|
1978
|
+
(table_container = Block.new node, :open) << (table_dup = node.dup)
|
1972
1979
|
if unbreakable
|
1973
1980
|
table_dup.remove_attr 'unbreakable-option'
|
1974
1981
|
table_container.set_attr 'unbreakable-option'
|
1975
1982
|
else
|
1976
1983
|
table_dup.remove_attr 'breakable-option'
|
1977
1984
|
end
|
1985
|
+
table_container.style = 'table-container'
|
1978
1986
|
table_container.id, table_dup.id = table_dup.id, nil
|
1979
1987
|
if table_dup.title?
|
1980
1988
|
table_container.title = ''
|
@@ -3433,7 +3441,7 @@ module Asciidoctor
|
|
3433
3441
|
val = val.to_s unless ::String === val
|
3434
3442
|
if (val.include? ':') && val =~ ImageAttributeValueRx
|
3435
3443
|
attrlist = $2
|
3436
|
-
image_attrs = (AttributeList.new attrlist).parse %w(alt width)
|
3444
|
+
image_attrs = (::Asciidoctor::AttributeList.new attrlist).parse %w(alt width)
|
3437
3445
|
image_path, image_format = ::Asciidoctor::Image.target_and_format $1, image_attrs
|
3438
3446
|
image_path = apply_subs_discretely doc, image_path, subs: [:attributes], imagesdir: @themesdir
|
3439
3447
|
if (image_path = resolve_image_path doc, image_path, image_format, @themesdir) && (::File.readable? image_path)
|
@@ -3697,7 +3705,7 @@ module Asciidoctor
|
|
3697
3705
|
|
3698
3706
|
if @theme.title_page_logo_display != 'none' && (logo_image_path = (doc.attr 'title-logo-image') || (logo_image_from_theme = @theme.title_page_logo_image))
|
3699
3707
|
if (logo_image_path.include? ':') && logo_image_path =~ ImageAttributeValueRx
|
3700
|
-
logo_image_attrs = (AttributeList.new $2).parse %w(alt width height)
|
3708
|
+
logo_image_attrs = (::Asciidoctor::AttributeList.new $2).parse %w(alt width height)
|
3701
3709
|
if logo_image_from_theme
|
3702
3710
|
relative_to_imagesdir = false
|
3703
3711
|
logo_image_path = apply_subs_discretely doc, $1, subs: [:attributes], imagesdir: @themesdir
|
@@ -4018,7 +4026,9 @@ module Asciidoctor
|
|
4018
4026
|
end
|
4019
4027
|
siblings = siblings.flatten if parent_context == :dlist
|
4020
4028
|
if block != siblings[-1]
|
4021
|
-
|
4029
|
+
context == :open && block.style == 'table-container' ?
|
4030
|
+
(next_enclosed_block parent) :
|
4031
|
+
(self_idx = siblings.index block) && siblings[self_idx + 1]
|
4022
4032
|
elsif parent_context == :list_item || (parent_context == :open && parent.style != 'abstract') || parent_context == :section
|
4023
4033
|
next_enclosed_block parent
|
4024
4034
|
elsif list_item && (grandparent = parent.parent).context == :list_item
|
@@ -4086,7 +4096,7 @@ module Asciidoctor
|
|
4086
4096
|
elsif image_path == 'none'
|
4087
4097
|
return []
|
4088
4098
|
elsif (image_path.include? ':') && image_path =~ ImageAttributeValueRx
|
4089
|
-
image_attrs = (AttributeList.new $2).parse %w(alt width)
|
4099
|
+
image_attrs = (::Asciidoctor::AttributeList.new $2).parse %w(alt width)
|
4090
4100
|
image_path = $1
|
4091
4101
|
image_relative_to = true
|
4092
4102
|
end
|
@@ -12,6 +12,7 @@ module Prawn
|
|
12
12
|
|
13
13
|
def initialize pdf, opts = {}
|
14
14
|
@font_options = {}
|
15
|
+
@align = @valign = @root_font_size = nil
|
15
16
|
super pdf, [], opts
|
16
17
|
end
|
17
18
|
|
@@ -41,14 +42,12 @@ module Prawn
|
|
41
42
|
apply_font_properties do
|
42
43
|
extent = @pdf.dry_run keep_together: true, single_page: true do
|
43
44
|
push_scratch parent_doc
|
44
|
-
doc.catalog[:footnotes] = parent_doc.catalog[:footnotes]
|
45
45
|
# NOTE: we should be able to use cell.max_width, but returns 0 in some conditions (like when colspan > 1)
|
46
46
|
indent cell.padding_left, bounds.width - cell.width + cell.padding_right do
|
47
47
|
move_down padding_y if padding_y > 0
|
48
48
|
conceal_page_top { traverse cell.content }
|
49
49
|
end
|
50
50
|
pop_scratch parent_doc
|
51
|
-
doc.catalog[:footnotes] = parent_doc.catalog[:footnotes]
|
52
51
|
end
|
53
52
|
end
|
54
53
|
# NOTE: prawn-table doesn't support cells that exceed the height of a single page
|
@@ -89,6 +88,8 @@ module Prawn
|
|
89
88
|
# end
|
90
89
|
# end
|
91
90
|
start_page = pdf.page_number
|
91
|
+
parent_doc = (doc = content.document).nested? ? doc.parent_document : doc
|
92
|
+
doc.catalog[:footnotes] = parent_doc.catalog[:footnotes]
|
92
93
|
# TODO: apply horizontal alignment; currently it is necessary to specify alignment on content blocks
|
93
94
|
apply_font_properties { pdf.traverse content }
|
94
95
|
if (extra_pages = pdf.page_number - start_page) > 0
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asciidoctor-pdf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.5
|
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:
|
12
|
+
date: 2023-03-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: asciidoctor
|
@@ -335,7 +335,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
335
|
- !ruby/object:Gem::Version
|
336
336
|
version: '0'
|
337
337
|
requirements: []
|
338
|
-
rubygems_version: 3.3.
|
338
|
+
rubygems_version: 3.3.26
|
339
339
|
signing_key:
|
340
340
|
specification_version: 4
|
341
341
|
summary: Converts AsciiDoc documents to PDF using Asciidoctor and Prawn
|