asciidoctor-pdf 2.0.0.beta.1 → 2.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
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.beta.1, 2022-05-04
3
+ v2.0.0.beta.2, 2022-05-14
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.beta.1
27
+ :release-version: 2.0.0.beta.2
28
28
  // URIs:
29
29
  :url-asciidoctor: http://asciidoctor.org
30
30
  :url-gem: http://rubygems.org/gems/asciidoctor-pdf
@@ -49,7 +49,7 @@ It bypasses the requirement to generate an intermediary format such as DocBook,
49
49
  Instead, you can use this extension to convert your documents directly from AsciiDoc to PDF.
50
50
  Its aim is to take the pain out of creating PDF documents from AsciiDoc.
51
51
 
52
- NOTE: You're viewing the documentation for the (unreleased) {release-line} release line.
52
+ NOTE: The documentation for Asciidoctor PDF {release-line} is now available at https://docs.asciidoctor.org/pdf-converter/latest/.
53
53
  If you're looking for the documentation for another release line, please refer to one of the following branches: +
54
54
  {url-project-repo}/tree/v1.5.x#readme[1.5.x]
55
55
  -
@@ -75,7 +75,7 @@ But don't miss the <<Highlights>> to get a preview of what's possible.
75
75
  == Highlights
76
76
 
77
77
  * Direct AsciiDoc to PDF conversion
78
- * <<docs/theming-guide.adoc#,Configuration-driven theme (style and layout)>>
78
+ * Configuration-driven theme (style and layout)
79
79
  * Custom fonts (TTF or OTF)
80
80
  * Full SVG support (thanks to https://github.com/mogest/prawn-svg[prawn-svg])
81
81
  * PDF document outline (i.e., bookmarks)
@@ -319,7 +319,7 @@ The pain of the DocBook toolchain should be melting away about now.
319
319
  == Themes
320
320
 
321
321
  The layout and styling of the PDF is driven by a YAML configuration file.
322
- To learn how the theming system works and how to create and apply custom themes, refer to the <<docs/theming-guide.adoc#,Asciidoctor PDF Theming Guide>>.
322
+ To learn how the theming system works and how to create and apply custom themes, refer to the https://docs.asciidoctor.org/pdf-converter/latest/theme/[Asciidoctor PDF theming documentation].
323
323
  You can use the built-in theme files, which you can find in the [.path]_data/themes_ directory, as examples.
324
324
 
325
325
  If you've enabled a source highlighter, you can control the style (aka theme) it applies to source blocks using the `coderay-style`, `pygments-style`, and `rouge-style` attributes, respectively.
@@ -328,7 +328,7 @@ For example, to configure Rouge to use the built-in monokai theme, run Asciidoct
328
328
  $ asciidoctor-pdf -a rouge-style=monokai basic-example.adoc
329
329
 
330
330
  It's possible to develop your own theme for Rouge.
331
- Refer to the <<docs/theming-guide.adoc#,Asciidoctor PDF Theming Guide>> for details.
331
+ Refer to the https://docs.asciidoctor.org/pdf-converter/latest/theme/[Asciidoctor PDF theming documentation] for details.
332
332
 
333
333
  == Support for Non-Latin Languages
334
334
 
@@ -343,80 +343,6 @@ There's no one font that supports all the world's languages (though some, like N
343
343
  Even if there were such a font, bundling that font with the main gem would make it enormous.
344
344
  It would also severely limit the style choices in the default theme, which targets Latin-based languages.
345
345
  Therefore, we're taking the strategy of creating separate dedicated theme gems that target each language family, such as CJK.
346
- Read on to find out how to use these themes.
347
-
348
- Asciidoctor PDF provides a built-in theme that provides a broad range of characters in the CJK charsets, so you can start with that theme:
349
-
350
- $ asciidoctor-pdf -a scripts=cjk -a pdf-theme=default-with-fallback-font document.adoc
351
-
352
- Notice the `-a scripts=cjk` option.
353
- That's important.
354
- It tells the converter to insert break opportunities between CJK characters so that the line wraps properly when mixing English and a CJK language like Japanese.
355
-
356
- If the built-in theme with the fallback font doesn't go far enough, you'll need to use a theme that is optimized for CJK text.
357
- You can get such a theme by installing the `asciidoctor-pdf-cjk-kai_gen_gothic` gem.
358
- The https://github.com/chloerei/asciidoctor-pdf-cjk-kai_gen_gothic[asciidoctor-pdf-cjk-kai_gen_gothic] project provides themes optimized for CJK languages based on the kai_gen_gothic font.
359
- See the https://github.com/chloerei/asciidoctor-pdf-cjk-kai_gen_gothic[asciidoctor-pdf-cjk-kai_gen_gothic] project README for detailed setup instructions.
360
-
361
- WARNING: The theme provided by the `asciidoctor-pdf-cjk-kai_gen_gothic` gem is no longer compatiable with the stable release of Asciidoctor PDF.
362
- However, you can still use it to create a <<Create a Custom CJK Theme,custom CJK theme>>.
363
-
364
- Once you have that gem installed (and the fonts), you need to tell Asciidoctor PDF to use one of the themes.
365
- If you're converting a document that is primarily written in Japanese, you'd run Asciidoctor PDF as follows:
366
-
367
- asciidoctor-pdf -r asciidoctor-pdf-cjk-kai_gen_gothic -a pdf-theme=KaiGenGothicJP document.adoc
368
-
369
- If that command fails, you may have better luck creating your own CJK theme.
370
-
371
- === Create a Custom CJK Theme
372
-
373
- You also have to option of creating your own theme gem that uses fonts of your choice.
374
- For example, if you want to use the `asciidoctor-pdf-cjk-kai_gen_gothic` gem to fetch fonts, but then use them in your own theme, here's how you'd do it.
375
-
376
- . Install the `asciidoctor-pdf-cjk-kai_gen_gothic` gem:
377
-
378
- $ gem install asciidoctor-pdf-cjk-kai_gen_gothic
379
-
380
- . Download / install the fonts:
381
-
382
- $ asciidoctor-pdf-cjk-kai_gen_gothic-install
383
-
384
- . Create a theme file named [.path]_cjk-theme.yml_ that extends the default theme to override the fonts:
385
- +
386
- [source,yml]
387
- ----
388
- extends: default
389
- font:
390
- catalog:
391
- merge: true
392
- KaiGen Gothic CN:
393
- normal: KaiGenGothicCN-Regular.ttf
394
- bold: KaiGenGothicCN-Bold.ttf
395
- italic: KaiGenGothicCN-Regular-Italic.ttf
396
- bold_italic: KaiGenGothicCN-Bold-Italic.ttf
397
- fallbacks:
398
- - KaiGen Gothic CN
399
- base:
400
- font-family: KaiGen Gothic CN
401
- heading:
402
- font-family: $base-font-family
403
- abstract:
404
- title:
405
- font-family: $heading-font-family
406
- sidebar:
407
- title:
408
- font-family: $heading-font-family
409
- ----
410
-
411
- . Load your theme when running Asciidoctor PDF:
412
-
413
- $ asciidoctor-pdf -a scripts=cjk -a pdf-theme=./cjk-theme.yml -a pdf-fontsdir=GEM_FONTS_DIR,`ruby -r asciidoctor-pdf-cjk-kai_gen_gothic -e "print File.expand_path '../fonts', (Gem.datadir 'asciidoctor-pdf-cjk-kai_gen_gothic')"` document.adoc
414
-
415
- The `-a pdf-fontsdir` option is important to tell Asciidoctor PDF where to find your custom fonts.
416
- (Note that the inclusion of GEM_FONTS_DIR in the value is only required when using Asciidoctor PDF 1.5).
417
-
418
- Rather than using the installer from the `asciidoctor-pdf-cjk-kai_gen_gothic` gem, you can download fonts whatever way you choose.
419
- When using your own fonts, be sure to consult the <<docs/theming-guide.adoc#preparing-a-custom-font,Preparing a Custom Font>> section of the theming guide to find recommended modifications.
420
346
 
421
347
  == Font-Based Icons
422
348
 
@@ -672,45 +598,6 @@ Here's how to move it to the bottom right:
672
598
 
673
599
  If an image dimension matches the height or width of the page, the positioning keyword for that axis has no effect.
674
600
 
675
- == Fonts in SVG Images
676
-
677
- Asciidoctor PDF uses {url-prawn-svg}[prawn-svg] to embed SVGs in the PDF document, including SVGs generated by Asciidoctor Diagram.
678
-
679
- Actually, it's not accurate to say that prawn-svg embeds the SVG.
680
- Rather, prawn-svg is an SVG _renderer_.
681
- prawn-svg translates an SVG into native PDF text and graphic objects.
682
- You can think of the SVG as a sequence of drawing commands.
683
- The result becomes indistinguishable from other PDF objects.
684
-
685
- What that means for text is that any font family used for text in the SVG _must_ be registered in the Asciidoctor PDF theme file (and thus with Prawn).
686
- Otherwise, Prawn will fallback to using the closest matching built-in (afm) font from PDF (e.g., sans-serif becomes Helvetica).
687
- Recall that afm fonts only support basic Latin.
688
- As we like to say, PDF is <<docs/theming-guide.adoc#built-in-afm-fonts,bring your own font>>.
689
-
690
- If you're using Asciidoctor Diagram to generate SVGs to embed in the PDF, you likely need to specify the default font the diagramming tool uses.
691
- Let's assume you are making a plantuml diagram.
692
-
693
- To set the font used in the diagram, first create a file named [.path]_plantuml.cfg_ and populate it with the following content:
694
-
695
- ----
696
- skinparam defaultFontName Noto Serif
697
- ----
698
-
699
- TIP: You can choose any font name that is registered in your Asciidoctor PDF theme file.
700
- When using the default theme, your options are "Noto Serif", "M+ 1mn", and "M+ 1p Fallback".
701
-
702
- Next, pass that path to the `plantumlconfig` attribute in your AsciiDoc document (or set the attribute via the CLI or API):
703
-
704
- ----
705
- :plantumlconfig: plantuml.cfg
706
- ----
707
-
708
- Clear the cache of your diagrams and run Asciidoctor PDF with Asciidoctor Diagram enabled.
709
- The diagrams will be generated using Noto Serif as the default font, and Asciidoctor PDF will know what to do.
710
-
711
- The bottom line is this:
712
- If you're using fonts in your SVG, and you want those fonts to be preserved, those fonts must be defined in the Asciidoctor PDF theme file.
713
-
714
601
  == Supporting Additional Image File Formats
715
602
 
716
603
  In order to embed an image into a PDF, Asciidoctor PDF must understand how to decode it.
@@ -96,7 +96,7 @@ table_head_border_bottom_width: 1.25
96
96
  table_body_stripe_background_color: 'EEEEEE'
97
97
  thematic_break_border_style: solid
98
98
  thematic_break_border_width: 0.5
99
- thematic_break_margin_bottom: 12
99
+ thematic_break_padding: 0
100
100
  toc_indent: 15
101
101
  toc_line_height: 1.4
102
102
  footnotes_font_size: 9
@@ -3,7 +3,7 @@ base_border_color: BBBBBB
3
3
  base_font_color: 000000
4
4
  role_subtitle_font_color: 666666
5
5
  link_font_color: ~
6
- literal_font_color: ~
6
+ codespan_font_color: ~
7
7
  mark_background_color: CCCCCC
8
8
  menu_caret_content: " <font size=\"1.15em\">\u203a</font> "
9
9
  heading_font_color: $base_font_color
@@ -11,10 +11,10 @@ title_page_title_font_color: $role_subtitle_font_color
11
11
  abstract_font_color: 2C2C2C
12
12
  abstract_title_font_color: $heading_font_color
13
13
  admonition_column_rule_color: $base_border_color
14
- blockquote_border_color: $base_border_color
15
- blockquote_cite_font_color: $role_subtitle_font_color
14
+ quote_border_color: $base_border_color
15
+ quote_cite_font_color: $role_subtitle_font_color
16
16
  verse_border_color: $base_border_color
17
- verse_cite_font_color: $blockquote_cite_font_color
17
+ verse_cite_font_color: $quote_cite_font_color
18
18
  code_font_color: $base_font_color
19
19
  conum_font_color: $base_font_color
20
20
  example_border_color: $base_border_color
@@ -1,3 +1,2 @@
1
- extends:
2
- - default-for-print
3
- - default-with-fallback-font
1
+ # DEPRECATED
2
+ extends: default-for-print-with-font-fallbacks
@@ -0,0 +1,3 @@
1
+ extends:
2
+ - default-with-font-fallbacks
3
+ - default-for-print
@@ -1,4 +1,4 @@
1
- extends: default-with-fallback-font
1
+ extends: default
2
2
  font:
3
3
  catalog:
4
4
  merge: true
@@ -0,0 +1,3 @@
1
+ extends:
2
+ - default-with-font-fallbacks
3
+ - default-sans
@@ -226,8 +226,7 @@ thematic_break:
226
226
  border_color: $base_border_color
227
227
  border_style: solid
228
228
  border_width: $base_border_width
229
- margin_top: $vertical_rhythm * 0.5
230
- margin_bottom: $vertical_rhythm * 1.5
229
+ padding: [$vertical_rhythm * 0.5, 0]
231
230
  list:
232
231
  indent: $horizontal_rhythm * 1.5
233
232
  #marker_font_color: 404040
@@ -262,6 +261,8 @@ toc:
262
261
  footnotes:
263
262
  font_size: round($base_font_size * 0.75)
264
263
  item_spacing: $list_item_spacing / 2
264
+ index:
265
+ column_gap: $vertical_rhythm
265
266
  header:
266
267
  font_size: $base_font_size_small
267
268
  line_height: 1
@@ -1,9 +1,2 @@
1
- extends: default
2
- font:
3
- catalog:
4
- merge: true
5
- # M+ 1p supports Latin, Latin-1 Supplement, Latin Extended, Greek, Cyrillic, Vietnamese, Japanese & an assortment of symbols
6
- # It also provides arrows for ->, <-, => and <= replacements in case these glyphs are missing from font
7
- M+ 1p Fallback: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf
8
- Noto Emoji: GEM_FONTS_DIR/notoemoji-subset.ttf
9
- fallbacks: [M+ 1p Fallback, Noto Emoji]
1
+ # DEPRECATED
2
+ extends: default-with-font-fallbacks
@@ -0,0 +1,9 @@
1
+ extends: default
2
+ font:
3
+ catalog:
4
+ merge: true
5
+ # M+ 1p supports Latin, Latin-1 Supplement, Latin Extended, Greek, Cyrillic, Vietnamese, Japanese & an assortment of symbols
6
+ # It also provides arrows for ->, <-, => and <= replacements in case these glyphs are missing from font
7
+ M+ 1p Fallback: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf
8
+ Noto Emoji: GEM_FONTS_DIR/notoemoji-subset.ttf
9
+ fallbacks: [M+ 1p Fallback, Noto Emoji]