asciidoctor-pdf 2.0.0.alpha.1 → 2.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +94 -1
- data/README.adoc +32 -14
- data/data/fonts/ABOUT-mplus1p-subset +1 -0
- data/data/fonts/ABOUT-notosans-subset +1 -0
- data/data/fonts/ABOUT-notoserif-subset +1 -0
- data/data/fonts/mplus1mn-bold-subset.ttf +0 -0
- data/data/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
- data/data/fonts/mplus1mn-italic-subset.ttf +0 -0
- data/data/fonts/mplus1mn-regular-subset.ttf +0 -0
- data/data/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/data/fonts/notosans-bold-subset.ttf +0 -0
- data/data/fonts/notosans-bold_italic-subset.ttf +0 -0
- data/data/fonts/notosans-italic-subset.ttf +0 -0
- data/data/fonts/notosans-regular-subset.ttf +0 -0
- data/data/fonts/notoserif-bold-subset.ttf +0 -0
- data/data/fonts/notoserif-bold_italic-subset.ttf +0 -0
- data/data/fonts/notoserif-italic-subset.ttf +0 -0
- data/data/fonts/notoserif-regular-subset.ttf +0 -0
- data/data/themes/base-theme.yml +11 -20
- data/data/themes/default-theme.yml +8 -7
- data/docs/theming-guide.adoc +11 -10
- data/lib/asciidoctor/pdf/converter.rb +445 -305
- data/lib/asciidoctor/pdf/ext/asciidoctor/document.rb +4 -0
- data/lib/asciidoctor/pdf/ext/pdf-core/page.rb +8 -0
- data/lib/asciidoctor/pdf/ext/prawn/extensions.rb +117 -38
- data/lib/asciidoctor/pdf/ext/prawn/formatted_text/box.rb +5 -0
- data/lib/asciidoctor/pdf/ext/prawn/formatted_text/protect_bottom_gutter.rb +13 -0
- data/lib/asciidoctor/pdf/ext/prawn/images.rb +6 -2
- data/lib/asciidoctor/pdf/ext/prawn-table/cell/asciidoc.rb +1 -1
- data/lib/asciidoctor/pdf/ext/prawn.rb +1 -0
- data/lib/asciidoctor/pdf/formatted_text/transform.rb +7 -2
- data/lib/asciidoctor/pdf/nogmagick.rb +6 -0
- data/lib/asciidoctor/pdf/nopngmagick.rb +3 -0
- data/lib/asciidoctor/pdf/optimizer.rb +12 -5
- data/lib/asciidoctor/pdf/text_transformer.rb +14 -0
- data/lib/asciidoctor/pdf/theme_loader.rb +19 -3
- data/lib/asciidoctor/pdf/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3c96a0b756ccd22c3aec10c571e5ef0280a0003398f48a86287037c52d13a85
|
4
|
+
data.tar.gz: c611aec1ecafd132c9415babfc193929bbe52879b6282cc752d6def346ce9d56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 517791afccee6a976f59244b08ffdd062f09d2153d04917a61b969ef525752eee70d8118586932757e3f6fd175880f899a60d768cfc4b8e8ef6cabdad5f5f239
|
7
|
+
data.tar.gz: 3ae8abd3251302def2b2305a4c9aebe940235735d0c0204891c909e383ac8622eb21b158d3d844a49b60dab5f1c5d82e8252961c1f2247b6158a7975d9d7c50b
|
data/CHANGELOG.adoc
CHANGED
@@ -5,6 +5,99 @@
|
|
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/main[commit history] on GitHub.
|
7
7
|
|
8
|
+
== 2.0.0.beta.1 (2022-05-04) - @mojavelinux
|
9
|
+
|
10
|
+
Enhancements::
|
11
|
+
|
12
|
+
* introduce `index-pagenum-sequence-style` document attribute to control style of sequential page numbers in index when media=screen (#1656)
|
13
|
+
* allow entry for document in outline to be controlled using `outline-title` attribute (#1789)
|
14
|
+
* allow extended converter to insert or filter toc entries by overriding `get_entries_for_toc` method (#2097)
|
15
|
+
* add `asciidoctor/pdf/nopngmagick` script to unregister Gmagick handler for PNG images only (#1687)
|
16
|
+
* allow theme to configure which end the caption is placed for a block image (#2115)
|
17
|
+
* add `Page#imported` method to mark page as imported (which suppresses running contennt)
|
18
|
+
* add support for `smallcaps` text transform by replacing lowercase letters with small capital variants (#1192)
|
19
|
+
* use `base-border-color` as default border color; control appearance of border using `border-width` value alone (#2134)
|
20
|
+
* remove border colors in base theme so all border colors can be controlled using `base-border-color` when extending theme
|
21
|
+
* enable running footer when using base theme
|
22
|
+
|
23
|
+
Bug Fixes::
|
24
|
+
|
25
|
+
* allow border width of block image to be specified as an array (1, 2, or 4 values) (#2119)
|
26
|
+
* rename `delete_page` extension method to `delete_current_page` to avoid conflict with incompatible method on `Prawn::Document`
|
27
|
+
* remap `table-caption-side` theme key to `table-caption-end` (#2125)
|
28
|
+
* add missing glyph for `ÿ` in built-in fonts
|
29
|
+
* remove use of deprecated keys in chronicles-dark-theme.yml
|
30
|
+
|
31
|
+
=== Details
|
32
|
+
|
33
|
+
{url-repo}/releases/tag/v2.0.0.beta.1[git tag] | {url-repo}/compare/v2.0.0.alpha.3\...v2.0.0.beta.1[full diff]
|
34
|
+
|
35
|
+
== 2.0.0.alpha.3 (2022-05-01) - @mojavelinux
|
36
|
+
|
37
|
+
Enhancements::
|
38
|
+
|
39
|
+
* allow border width of block to be specified per edge using 4-value array (#2102)
|
40
|
+
* allow padding on block to be specified using 2-value array for ends and sides or 3-value array with implied left side value (#2104)
|
41
|
+
* allow margins in running content to be specified using 2-value array for ends and sides or 3-value array with implied left side value (#2104)
|
42
|
+
* allow theme to set border and padding on headings per level (#434)
|
43
|
+
|
44
|
+
Improvements::
|
45
|
+
|
46
|
+
* reduce top and bottom padding on quote and verse blocks in base theme
|
47
|
+
* use uniform top and bottom padding on quote blocks in default theme
|
48
|
+
* change `inscribe_` method prefix in converter to `ink_`
|
49
|
+
|
50
|
+
Bug Fixes::
|
51
|
+
|
52
|
+
* allow `ink_toc` method in extended converter to insert page above TOC page
|
53
|
+
* remap `layout_` methods contributed to converter by prepended module
|
54
|
+
* neutralize padding hacks in themes designed before the converter had smart margins
|
55
|
+
* allow smallest ends or sides border width on block to be less than 1
|
56
|
+
* cap border corners on block when width is defined using array (uniform or otherwise) (#2103)
|
57
|
+
* fix crash in certain circumstances when theme does not define value for `base-border-width` key
|
58
|
+
* use sensible fallbacks for table border and grid color and width (retains backwards compatibility)
|
59
|
+
|
60
|
+
=== Details
|
61
|
+
|
62
|
+
{url-repo}/releases/tag/v2.0.0.alpha.3[git tag] | {url-repo}/compare/v2.0.0.alpha.2\...v2.0.0.alpha.3[full diff]
|
63
|
+
|
64
|
+
== 2.0.0.alpha.2 (2022-04-29) - @mojavelinux
|
65
|
+
|
66
|
+
Enhancements::
|
67
|
+
|
68
|
+
* separate `align` and `text-align` keys in theme schema; remap old keys for backwards compatibility (#2095)
|
69
|
+
* allow theme to control the border on all sides of tables independently (#902)
|
70
|
+
* keep section title with first block of content is `breakable` option is set on section (#2075, #38)
|
71
|
+
* pass the `part` and `chapterlike` options to the `arrange_section` method for convenience
|
72
|
+
* add support for `background-color` property on caption (#1995)
|
73
|
+
* add support for image-based icons, resolved from `iconsdir` and having the `icontype` file extension (#1770)
|
74
|
+
* add `asciidoctor/pdf/nogmagick` script to prevent loading prawn-gmagick gem (#1687)
|
75
|
+
* change name of `untitled` option on special section to `notitle`
|
76
|
+
* allow the title of any section to be hidden using the `notitle` option
|
77
|
+
* allow imported PDF page to be referenced in TOC by enclosing in parent section with `notitle` option (#1213)
|
78
|
+
* allow entry for preface to be added to TOC without adding title to body using the `notitle` option on the preface section (#1786)
|
79
|
+
* automatically promote the `notitle` option from the first block in the premable to preface section; restore lead role on opening paragraph (#1786)
|
80
|
+
|
81
|
+
Improvements::
|
82
|
+
|
83
|
+
* change "icon" to "icon image" in warning about missing admonition icon image
|
84
|
+
* report admonition type in warning about missing implicit admonition icon image
|
85
|
+
|
86
|
+
Bug Fixes::
|
87
|
+
|
88
|
+
* set the base font of the front cover image is a PDF and the title page is not active (#2092)
|
89
|
+
* pass through warnings in background SVG to logger (#1940)
|
90
|
+
* keep closing quote with trailing ellipsis in text enclosed in typographic quotes (#321)
|
91
|
+
* collapse space in front of hidden index term (#2061)
|
92
|
+
* delete dests on page before deleting it (keeps generated PDF clean of obsolete destinations)
|
93
|
+
* don't call `arrange_section` if section title is hidden
|
94
|
+
* remove `theme_font` enclosure around call to `start_new_chapter` and `start_new_part`
|
95
|
+
* change `layout_` method prefix in converter to `inscribe_` (#2099)
|
96
|
+
|
97
|
+
=== Details
|
98
|
+
|
99
|
+
{url-repo}/releases/tag/v2.0.0.alpha.2[git tag] | {url-repo}/compare/v2.0.0.alpha.1\...v2.0.0.alpha.2[full diff]
|
100
|
+
|
8
101
|
== 2.0.0.alpha.1 (2022-04-20) - @mojavelinux
|
9
102
|
|
10
103
|
Enhancements::
|
@@ -559,7 +652,7 @@ Bug Fixes::
|
|
559
652
|
* allow theme to disable font kerning
|
560
653
|
* add support for default theme alignment for tables (#1164)
|
561
654
|
* add theming support to (inline) roles on phrases (#368)
|
562
|
-
* allow theme to customize style of titles in running content (#1044)
|
655
|
+
* allow theme to customize style of titles in running content using `title-style` key (#1044)
|
563
656
|
* add support for the built-in big and small roles on phrases (#459)
|
564
657
|
* route AFM font warning through Asciidoctor logger
|
565
658
|
* upgrade code font (M+ 1mn) to TESTFLIGHT-63a
|
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.0.0.
|
3
|
+
v2.0.0.beta.1, 2022-05-04
|
4
4
|
// Settings:
|
5
5
|
:experimental:
|
6
6
|
:idprefix:
|
@@ -24,7 +24,7 @@ endif::[]
|
|
24
24
|
:project-handle: asciidoctor-pdf
|
25
25
|
// Variables:
|
26
26
|
:release-line: 2.0.x
|
27
|
-
:release-version: 2.0.0.
|
27
|
+
:release-version: 2.0.0.beta.1
|
28
28
|
// URIs:
|
29
29
|
:url-asciidoctor: http://asciidoctor.org
|
30
30
|
:url-gem: http://rubygems.org/gems/asciidoctor-pdf
|
@@ -170,7 +170,7 @@ ifndef::env-site[You can also <<development,run the code from source>> if you wa
|
|
170
170
|
To install {project-name}, first make sure you have satisfied the <<Prerequisites,prerequisites>>.
|
171
171
|
Then, install the gem from RubyGems.org using the following command:
|
172
172
|
|
173
|
-
$ gem install asciidoctor-pdf
|
173
|
+
$ gem install asciidoctor-pdf --pre
|
174
174
|
|
175
175
|
If you're using Ruby 3.1 or better, you must also install the matrix gem until Prawn 2.5.0 or better is released.
|
176
176
|
|
@@ -713,23 +713,41 @@ If you're using fonts in your SVG, and you want those fonts to be preserved, tho
|
|
713
713
|
|
714
714
|
== Supporting Additional Image File Formats
|
715
715
|
|
716
|
-
In order to embed an image into a PDF, Asciidoctor PDF must understand how to
|
716
|
+
In order to embed an image into a PDF, Asciidoctor PDF must understand how to decode it.
|
717
717
|
To perform this work, Asciidoctor delegates to the underlying libraries.
|
718
|
-
{url-prawn}[Prawn] provides support for
|
719
|
-
{url-prawn-svg}[prawn-svg] brings support for SVG images.
|
720
|
-
Without any additional libraries, those are the only
|
718
|
+
{url-prawn}[Prawn] provides support for decoding JPG and PNG images.
|
719
|
+
{url-prawn-svg}[prawn-svg] brings support for translating SVG images to PDF commands.
|
720
|
+
Without any additional libraries, those are the only image file formats supported by Asciidoctor PDF.
|
721
721
|
|
722
|
-
If you need support for additional image formats, such as GIF, TIFF, or interlaced PNG--and you don't want to convert those images to a supported format--you must install the {url-prawn-gmagick}[prawn-gmagick] (>= 0.0.9) Ruby gem.
|
723
|
-
prawn-gmagick is an extension for Prawn
|
724
|
-
|
722
|
+
If you need support for additional image formats, such as GIF, TIFF, WebP, or interlaced PNG--and you don't want to convert those images to a supported format like JPG--you must install the {url-prawn-gmagick}[prawn-gmagick] (>= 0.0.9) Ruby gem.
|
723
|
+
prawn-gmagick is an extension for Prawn that delegates image decoding to {url-graphicsmagick}[GraphicsMagick] to add support for all image formats recognized by that library.
|
724
|
+
|
725
|
+
prawn-gmagick has the additional benefit of *significantly* reducing the processing time, power, and memory necessary to generate a PDF that contains a lot of PNG images.
|
726
|
+
For large books (such as Pro Git), you might see the conversion time drop by as much as half.
|
727
|
+
Decoding PNG images requires a lot of mathematical computation, a task Ruby is not particularly efficient at performing.
|
728
|
+
That's why adding the prawn-gmagick gem to the converter makes such a substantial difference.
|
729
|
+
|
730
|
+
As an alternative to using prawn-gmagick, you could optimize the images you pass into Asciidoctor PDF, either by scaling them down or converting them to an uncompressed format like JPG.
|
725
731
|
|
726
732
|
The prawn-gmagick gem uses native extensions to compile against GraphicsMagick.
|
727
|
-
This system prerequisite limits installation to Linux and
|
733
|
+
This system prerequisite limits installation to C Ruby running on Linux and macOS.
|
728
734
|
Please refer to the {url-prawn-gmagick}[README for prawn-gmagick] to learn how to install it.
|
729
735
|
|
730
|
-
|
731
|
-
|
732
|
-
|
736
|
+
$ gem install prawn-gmagick
|
737
|
+
|
738
|
+
When this gem is installed, Asciidoctor automatically detects and loads it, then delegates all image decoding to GraphicsMagick by way of the bridge it provides.
|
739
|
+
We highly recommend using this gem with Asciidoctor PDF if you're able to install it.
|
740
|
+
|
741
|
+
The one downside of delegating to GraphicsMagick is that it can mangle certain PNG images.
|
742
|
+
If this happens, you can instruct Asciidoctor PDF to not delegate to GraphicsMagick to load PNG images by requiring `asciidoctor/pdf/nopngmagick` when calling Asciidoctor PDF, as follows:
|
743
|
+
|
744
|
+
$ asciidoctor-pdf -r asciidoctor/pdf/nopngmagick doc.adoc
|
745
|
+
|
746
|
+
You can also tell Asciidoctor PDF not to use prawn-gmagick at all by requiring `asciidoctor/pdf/nogmagick` when calling Asciidoctor PDF, as follows:
|
747
|
+
|
748
|
+
$ asciidoctor-pdf -r asciidoctor/pdf/nogmagick doc.adoc
|
749
|
+
|
750
|
+
Granted, bypassing prawn-gmagick means you no longer get support for additional image formats that Prawn cannot handle or the PNG acceleration.
|
733
751
|
|
734
752
|
== Importing PDF Pages
|
735
753
|
|
@@ -17,6 +17,7 @@ The following changes were made using fontforge to produce mplus1p-regular-fallb
|
|
17
17
|
** General Punctuation (U+2000–U203a)
|
18
18
|
** Geometric Shapes (U+25a0–U25ff)
|
19
19
|
** Assorted Symbols (U+20ac, U+2122, U+21d0–U+21d5, U+2190–U+2195, U+2610–U+2611, U+2713–U+2714)
|
20
|
+
** Latin Small Capital Letters (U+1D00, U+0299, U+1D04, U+1D05, U+1D07, U+A730, U+0262, U+029C, U+026A, U+1D0A, U+1D0B, U+029F, U+1D0D, U+0274, U+1D0F, U+1D18, U+A7AF (missing), U+0280, U+A731, U+1D1B, U+1D1C, U+1D20, U+1D21, U+028F, U+1D22)
|
20
21
|
** .notdef glyph
|
21
22
|
* Added BOM (U+feff), hair space (U+200a), zero-width space (U+200b) and line feed (U+000a) characters (from blank)
|
22
23
|
* Manually added non-breaking hyphen (U+2011) from hyphen (U+002d)
|
@@ -17,6 +17,7 @@ The following changes were made using fontforge to produce the notosans-*-subset
|
|
17
17
|
** General Punctuation (U+2000–U203a)
|
18
18
|
** Geometric Shapes (U+25a0–U25ff)
|
19
19
|
** Assorted Symbols (U+20ac, U+2122, U+21d0, U+21d2, U+2190, U+2192)
|
20
|
+
** Latin Small Capital Letters (U+1D00, U+0299, U+1D04, U+1D05, U+1D07, U+A730 (missing), U+0262, U+029C, U+026A, U+1D0A, U+1D0B, U+029F, U+1D0D, U+0274, U+1D0F, U+1D18, U+A7AF (missing), U+0280, U+A731 (missing), U+1D1B, U+1D1C, U+1D20, U+1D21, U+028F, U+1D22, U+01EB)
|
20
21
|
** .notdef glyph
|
21
22
|
* Imported ballot boxes from Font Awesome (U+2610, U+2611) (Noto Serif Regular only)
|
22
23
|
* Added line feed character (U+000a)
|
@@ -17,6 +17,7 @@ The following changes were made using fontforge to produce the notoserif-*-subse
|
|
17
17
|
** General Punctuation (U+2000–U203a)
|
18
18
|
** Geometric Shapes (U+25a0–U25ff)
|
19
19
|
** Assorted Symbols (U+20ac, U+2122, U+21d0, U+21d2, U+2190, U+2192)
|
20
|
+
** Latin Small Capital Letters (U+1D00, U+0299, U+1D04, U+1D05, U+1D07, U+A730 (missing), U+0262, U+029C, U+026A, U+1D0A, U+1D0B, U+029F, U+1D0D, U+0274, U+1D0F, U+1D18, U+A7AF (missing), U+0280, U+A731 (missing), U+1D1B, U+1D1C, U+1D20, U+1D21, U+028F, U+1D22, U+01EB)
|
20
21
|
** .notdef glyph
|
21
22
|
* Imported ballot boxes from Font Awesome (U+2610, U+2611) (Noto Serif Regular only)
|
22
23
|
* Added line feed character (U+000a)
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/data/themes/base-theme.yml
CHANGED
@@ -1,24 +1,19 @@
|
|
1
|
-
# NOTE file is read "as is"; variables are not parsed; key layout must be flat
|
1
|
+
# NOTE: file is read "as is"; variables are not parsed; key layout must be flat
|
2
2
|
page_background_color: 'FFFFFF'
|
3
3
|
page_layout: portrait
|
4
4
|
page_initial_zoom: FitH
|
5
|
-
# 36 is
|
6
|
-
page_margin: 36
|
5
|
+
page_margin: 36 # 36 is 0.5in
|
7
6
|
page_margin_inner: 48
|
8
7
|
page_margin_outer: 24
|
9
8
|
page_size: A4
|
10
|
-
|
11
|
-
#base_font_color: '333333'
|
9
|
+
base_text_align: left
|
12
10
|
base_font_color: '000000'
|
13
|
-
#base_font_family: Times-Roman
|
14
11
|
base_font_family: Helvetica
|
15
12
|
base_font_size: 12
|
16
|
-
# QUESTION should we rename to min_font_size?
|
17
13
|
base_font_size_min: 6
|
18
14
|
base_font_style: normal
|
19
15
|
base_line_height: 1.15
|
20
|
-
base_border_color: '
|
21
|
-
base_border_width: 0.5
|
16
|
+
base_border_color: '000000'
|
22
17
|
role_lead_font_size: 13.5
|
23
18
|
role_line-through_text_decoration: line-through
|
24
19
|
role_underline_text_decoration: underline
|
@@ -46,8 +41,7 @@ heading_line_height: 1.15
|
|
46
41
|
heading_margin_top: 4
|
47
42
|
heading_margin_bottom: 12
|
48
43
|
heading_min_height_after: 20
|
49
|
-
|
50
|
-
title_page_line_height: 1.15
|
44
|
+
title_page_text_align: center
|
51
45
|
title_page_logo_top: 10%
|
52
46
|
title_page_title_top: 40%
|
53
47
|
title_page_title_font_size: 18
|
@@ -69,43 +63,37 @@ abstract_line_height: 1.4
|
|
69
63
|
abstract_padding: 0
|
70
64
|
abstract_title_align: center
|
71
65
|
abstract_title_font_style: bold
|
72
|
-
admonition_column_rule_color: 'EEEEEE'
|
73
66
|
admonition_column_rule_width: 0.5
|
74
67
|
admonition_padding: [4, 12, 4, 12]
|
75
68
|
admonition_label_font_style: bold
|
76
69
|
admonition_label_text_transform: uppercase
|
77
|
-
quote_border_color: 'EEEEEE'
|
78
70
|
quote_border_left_width: 4
|
79
|
-
quote_padding: [
|
80
|
-
verse_border_color: 'EEEEEE'
|
71
|
+
quote_padding: [3, 12, 3, 14]
|
81
72
|
verse_border_left_width: 4
|
82
|
-
verse_padding: [
|
73
|
+
verse_padding: [3, 12, 3, 14]
|
83
74
|
code_font_family: Courier
|
84
75
|
code_font_size: 10.8
|
85
76
|
code_line_height: 1.2
|
86
77
|
code_padding: 9
|
87
|
-
code_border_color: 'EEEEEE'
|
88
78
|
code_border_width: 0.5
|
89
79
|
conum_line_height: 1.15
|
90
80
|
conum_glyphs: circled
|
91
81
|
example_background_color: 'FFFFFF'
|
92
|
-
example_border_color: 'EEEEEE'
|
93
82
|
example_border_width: 0.5
|
94
83
|
example_padding: 12
|
95
84
|
image_align: left
|
96
85
|
prose_margin_bottom: 12
|
97
86
|
sidebar_background_color: 'EEEEEE'
|
87
|
+
sidebar_border_width: 0.5
|
98
88
|
sidebar_padding: 12
|
99
89
|
sidebar_title_align: center
|
100
90
|
sidebar_title_font_style: bold
|
101
|
-
table_border_color: '000000'
|
102
91
|
table_border_style: solid
|
103
92
|
table_border_width: 0.5
|
104
93
|
table_cell_padding: 2
|
105
94
|
table_head_font_style: bold
|
106
95
|
table_head_border_bottom_width: 1.25
|
107
96
|
table_body_stripe_background_color: 'EEEEEE'
|
108
|
-
thematic_break_border_color: 'EEEEEE'
|
109
97
|
thematic_break_border_style: solid
|
110
98
|
thematic_break_border_width: 0.5
|
111
99
|
thematic_break_margin_bottom: 12
|
@@ -113,5 +101,8 @@ toc_indent: 15
|
|
113
101
|
toc_line_height: 1.4
|
114
102
|
footnotes_font_size: 9
|
115
103
|
footnotes_item_spacing: 3
|
104
|
+
footer_border_width: 0.5
|
105
|
+
footer_font_size: 10
|
106
|
+
footer_height: 30
|
116
107
|
footer_recto_right_content: '{page-number}'
|
117
108
|
footer_verso_left_content: '{page-number}'
|
@@ -22,7 +22,7 @@ page:
|
|
22
22
|
margin_outer: 0.59in
|
23
23
|
size: A4
|
24
24
|
base:
|
25
|
-
|
25
|
+
text_align: justify
|
26
26
|
# color as hex string (leading # is optional)
|
27
27
|
font_color: 333333
|
28
28
|
# color as RGB array
|
@@ -96,7 +96,7 @@ menu:
|
|
96
96
|
caret_content: " <font size=\"1.15em\" color=\"#B12146\">\u203a</font> "
|
97
97
|
font_style: bold
|
98
98
|
heading:
|
99
|
-
|
99
|
+
text_align: left
|
100
100
|
font_color: $base_font_color
|
101
101
|
font_style: bold
|
102
102
|
# h1 is used for part titles (book doctype) or the doctitle (article doctype)
|
@@ -114,7 +114,7 @@ heading:
|
|
114
114
|
margin_bottom: $vertical_rhythm * 0.9
|
115
115
|
min_height_after: $base_line_height_length * 1.5
|
116
116
|
title_page:
|
117
|
-
|
117
|
+
text_align: right
|
118
118
|
logo:
|
119
119
|
top: 10%
|
120
120
|
title:
|
@@ -148,7 +148,7 @@ abstract:
|
|
148
148
|
font_style: italic
|
149
149
|
first_line_font_style: bold
|
150
150
|
title:
|
151
|
-
|
151
|
+
text_align: center
|
152
152
|
font_color: $heading_font_color
|
153
153
|
font_size: $heading_h4_font_size
|
154
154
|
font_style: $heading_font_style
|
@@ -168,8 +168,8 @@ quote:
|
|
168
168
|
font_size: $base_font_size_large
|
169
169
|
border_color: $base_border_color
|
170
170
|
border_width: 0
|
171
|
-
border_left_width:
|
172
|
-
padding: [
|
171
|
+
border_left_width: $horizontal_rhythm / 3
|
172
|
+
padding: [$vertical_rhythm / 4, $horizontal_rhythm, $vertical_rhythm / 4, $horizontal_rhythm + $quote_border_left_width / 2]
|
173
173
|
cite:
|
174
174
|
font_size: $base_font_size_small
|
175
175
|
font_color: $role_subtitle_font_color
|
@@ -218,7 +218,7 @@ sidebar:
|
|
218
218
|
border_width: $base_border_width
|
219
219
|
padding: [$vertical_rhythm, $vertical_rhythm * 1.25, $vertical_rhythm, $vertical_rhythm * 1.25]
|
220
220
|
title:
|
221
|
-
|
221
|
+
text_align: center
|
222
222
|
font_color: $heading_font_color
|
223
223
|
font_size: $heading_h4_font_size
|
224
224
|
font_style: $heading_font_style
|
@@ -243,6 +243,7 @@ table:
|
|
243
243
|
background_color: $page_background_color
|
244
244
|
border_color: DDDDDD
|
245
245
|
border_width: $base_border_width
|
246
|
+
grid_width: $base_border_width
|
246
247
|
cell_padding: 3
|
247
248
|
head:
|
248
249
|
font_style: bold
|
data/docs/theming-guide.adoc
CHANGED
@@ -1147,7 +1147,7 @@ The name of the role is the first subkey level.
|
|
1147
1147
|
The role name may contain a hyphen, but *a role name cannot contain an underscore*.
|
1148
1148
|
The keys under the role are the theming properties.
|
1149
1149
|
|
1150
|
-
IMPORTANT: Custom roles only apply to inline phrases
|
1150
|
+
IMPORTANT: Custom roles only apply to paragraphs and inline phrases.
|
1151
1151
|
|
1152
1152
|
Here's an example of a role for making text red:
|
1153
1153
|
|
@@ -4223,11 +4223,12 @@ The keys in this category control the arrangement and style of tables and table
|
|
4223
4223
|
caption:
|
4224
4224
|
text-align: left
|
4225
4225
|
|
4226
|
-
|caption-
|
4226
|
+
|caption-end
|
4227
4227
|
|top {vbar} bottom +
|
4228
4228
|
(default: top)
|
4229
4229
|
|table:
|
4230
|
-
caption
|
4230
|
+
caption:
|
4231
|
+
end: bottom
|
4231
4232
|
|
4232
4233
|
|caption-max-width
|
4233
4234
|
|fit-content {vbar} fit-content(percentage) {vbar} none {vbar} <<measurement-units,Measurement>> +
|
@@ -5910,19 +5911,19 @@ Refer to the primary converter to discover the pseudo-HTML you can use for inlin
|
|
5910
5911
|
|
5911
5912
|
So far we've just been biting around the edges.
|
5912
5913
|
A more realistic use case is to customize the part title page in a multi-part book.
|
5913
|
-
Since this is a specialized section element, there's a dedicated method named `
|
5914
|
+
Since this is a specialized section element, there's a dedicated method named `ink_part_title` that you'll need to override.
|
5914
5915
|
|
5915
5916
|
Let's customize the part title page by making the background orange, making the font white, centering the title on the page, and disabling the running content.
|
5916
5917
|
(You don't need to start a new page before and after the part title since that's already done for you).
|
5917
5918
|
|
5918
5919
|
[source,ruby]
|
5919
5920
|
----
|
5920
|
-
|
5921
|
-
|
5922
|
-
|
5923
|
-
|
5924
|
-
|
5925
|
-
|
5921
|
+
def ink_part_title node, title, opts = {}
|
5922
|
+
fill_absolute_bounds 'E64C3D'
|
5923
|
+
move_down 20
|
5924
|
+
typeset_text title, (calc_line_metrics 1.5), color: 'FFFFFF', inline_format: true, align: :center, size: 42
|
5925
|
+
page.imported
|
5926
|
+
end
|
5926
5927
|
----
|
5927
5928
|
|
5928
5929
|
The method `typeset_text` and `calc_line_metrics` are provided by Asciidoctor PDF to make writing text easier.
|