From c1a69d65c1cf6779799200789c31a31599dba18a Mon Sep 17 00:00:00 2001 From: Gavin King Date: Wed, 20 Sep 2023 20:32:23 +0200 Subject: [PATCH] new improved PDF theme --- spec/src/theme/jakartaee-theme.yml | 377 ++++++++--------------------- 1 file changed, 106 insertions(+), 271 deletions(-) diff --git a/spec/src/theme/jakartaee-theme.yml b/spec/src/theme/jakartaee-theme.yml index 6092a2f5..f15f8652 100644 --- a/spec/src/theme/jakartaee-theme.yml +++ b/spec/src/theme/jakartaee-theme.yml @@ -1,299 +1,134 @@ -# -# Following is the asciidoctor-pdf default theme [1], with small -# customizations, mostly for header and footer, marked "EE". -# -# [1] https://github.com/asciidoctor/asciidoctor-pdf/blob/master/data/themes/default-theme.yml -# +extends: base +page: + margin: [30,50,30,50] + size: Letter font: catalog: # Noto Serif supports Latin, Latin-1 Supplement, Latin Extended-A, Greek, Cyrillic, Vietnamese & an assortment of symbols Noto Serif: - normal: notoserif-regular-subset.ttf - bold: notoserif-bold-subset.ttf - italic: notoserif-italic-subset.ttf - bold_italic: notoserif-bold_italic-subset.ttf + normal: GEM_FONTS_DIR/notoserif-regular-subset.ttf + bold: GEM_FONTS_DIR/notoserif-bold-subset.ttf + italic: GEM_FONTS_DIR/notoserif-italic-subset.ttf + bold_italic: GEM_FONTS_DIR/notoserif-bold_italic-subset.ttf # M+ 1mn supports ASCII and the circled numbers used for conums M+ 1mn: - normal: mplus1mn-regular-ascii-conums.ttf - bold: mplus1mn-bold-ascii.ttf - italic: mplus1mn-italic-ascii.ttf - bold_italic: mplus1mn-bold_italic-ascii.ttf + normal: GEM_FONTS_DIR/mplus1mn-regular-subset.ttf + bold: GEM_FONTS_DIR/mplus1mn-bold-subset.ttf + italic: GEM_FONTS_DIR/mplus1mn-italic-subset.ttf + bold_italic: GEM_FONTS_DIR/mplus1mn-bold_italic-subset.ttf # M+ 1p supports Latin, Latin-1 Supplement, Latin Extended, Greek, Cyrillic, Vietnamese, Japanese & an assortment of symbols # It also provides arrows for ->, <-, => and <= replacements in case these glyphs are missing from font M+ 1p Fallback: - normal: mplus1p-regular-fallback.ttf - bold: mplus1p-regular-fallback.ttf - italic: mplus1p-regular-fallback.ttf - bold_italic: mplus1p-regular-fallback.ttf + normal: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf + bold: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf + italic: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf + bold_italic: GEM_FONTS_DIR/mplus1p-regular-fallback.ttf fallbacks: - M+ 1p Fallback -page: - background_color: ffffff - layout: portrait - margin: [0.5in, 0.67in, 0.67in, 0.67in] - # margin_inner and margin_outer keys are used for recto/verso print margins when media=prepress - margin_inner: 0.75in - margin_outer: 0.59in - #size: A4 # EE - size: Letter # EE base: - align: justify - # color as hex string (leading # is optional) - font_color: 333333 - # color as RGB array - #font_color: [51, 51, 51] - # color as CMYK array (approximated) - #font_color: [0, 0, 0, 0.92] - #font_color: [0, 0, 0, 92%] - font_family: Noto Serif - # choose one of these font_size/line_height_length combinations - #font_size: 14 - #line_height_length: 20 - #font_size: 11.25 - #line_height_length: 18 - #font_size: 11.2 - #line_height_length: 16 - font_size: 10.5 - #line_height_length: 15 - # correct line height for Noto Serif metrics - line_height_length: 12 - #font_size: 11.25 - #line_height_length: 18 - line_height: $base_line_height_length / $base_font_size - font_size_large: round($base_font_size * 1.25) - font_size_small: round($base_font_size * 0.85) - font_size_min: $base_font_size * 0.75 - font_style: normal - border_color: eeeeee - border_radius: 4 - border_width: 0.5 -# FIXME vertical_rhythm is weird; we should think in terms of ems -#vertical_rhythm: $base_line_height_length * 2 / 3 -# correct line height for Noto Serif metrics (comes with built-in line height) -vertical_rhythm: $base_line_height_length -horizontal_rhythm: $base_line_height_length -# QUESTION should vertical_spacing be block_spacing instead? -vertical_spacing: $vertical_rhythm -link: - font_color: 428bca -# literal is currently used for inline monospaced in prose and table cells -literal: - font_color: b12146 - font_family: M+ 1mn -menu_caret_content: " \u203a " + font: + color: #151e3d + family: Noto Serif + size: 9 + line-height-length: 11.5 + line-height: $base-line-height-length / $base-font-size +prose: + margin-bottom: 8 +image: + width: 70% + align: center +codespan: + font: + size: 0.94em + family: M+ 1mn + color: #281e5d +code: + font: + size: 0.94em + color: #281e5d + family: M+ 1mn + border-width: 0 + padding: [4,4,4,20] +# background-color: #f7f7f7 +sidebar: + border-width: 0 + title: + align: center +admonition: + label: + vertical-align: top + padding: [4, 8, 4, 8] + column-rule: + style: solid + width: 1 + color: #f0f0f0 + icon: + tip: + stroke-color: #FFC300 + warning: + stroke-color: #FF5733 + caution: + stroke-color: #FF5733 heading: - align: left - #font_color: 181818 - font_color: $base_font_color - font_family: $base_font_family - font_style: bold - # h1 is used for part titles (book doctype) or the doctitle (article doctype) - #h1_font_size: floor($base_font_size * 2.6) # EE - h1_font_size: floor($base_font_size * 2.5) # EE, squeeze title onto one line - # h2 is used for chapter titles (book doctype only) - h2_font_size: floor($base_font_size * 2.15) - h3_font_size: round($base_font_size * 1.7) - h4_font_size: $base_font_size_large - h5_font_size: $base_font_size - h6_font_size: $base_font_size_small - #line_height: 1.4 - # correct line height for Noto Serif metrics (comes with built-in line height) - line_height: 1 - margin_top: $vertical_rhythm * 0.4 - margin_bottom: $vertical_rhythm * 0.9 + font: + color: #001861 + size: 11 + style: bold + line-height: 1.2 + h2-font-size: $base-font-size * 1.3 + h3-font-size: $base-font-size * 1.2 + h4-font-size: $base-font-size * 1.1 + h5-font-size: $base-font-size * 1.0 + margin-bottom: $base-line-height-length +link: + font-color: #002FA7 +list: + indent: $base-font-size * 1.5 + item-spacing: 2 +table: + font-size: 0.94em + caption: + text-align: center + side: top + font-size: 0.94em + grid: + color: #f0f0f0 + style: solid + width: 1 + border: + width: 1 + color: #f0f0f0 + head: + background-color: #f0f0f0 + cell: + padding: 6 +footer: + border-width: 0 +quote: + font-style: italic + font-color: #001861 + font-size: 1.1em + # background-color: #f1f1f1 + border-color: #000000 + border-radius: 2 + border-style: dotted + padding: [10,20,10,25] title_page: align: right logo: top: 10% title: top: 55% - font_size: $heading_h1_font_size + font_size: $heading-h1-font-size font_color: 999999 line_height: 0.9 subtitle: - font_size: $heading_h3_font_size + font_size: $heading-h3-font-size font_style: bold_italic line_height: 1 authors: - margin_top: $base_font_size * 1.25 - font_size: $base_font_size_large + margin_top: $base-font-size * 1.25 + font_size: $base-font-size * 1.25 font_color: 181818 revision: margin_top: $base_font_size * 1.25 -block: - margin_top: 0 - margin_bottom: $vertical_rhythm -caption: - align: left - font_size: $base_font_size * 0.95 - font_style: italic - # FIXME perhaps set line_height instead of / in addition to margins? - margin_inside: $vertical_rhythm / 3 - #margin_inside: $vertical_rhythm / 4 - margin_outside: 0 -lead: - font_size: $base_font_size_large - line_height: 1.4 -abstract: - font_color: 5c6266 - font_size: $lead_font_size - line_height: $lead_line_height - font_style: italic - first_line_font_style: bold - title: - align: center - font_color: $heading_font_color - font_family: $heading_font_family - font_size: $heading_h4_font_size - font_style: $heading_font_style -admonition: - column_rule_color: $base_border_color - column_rule_width: $base_border_width - padding: [0, $horizontal_rhythm, 0, $horizontal_rhythm] - #icon: - # tip: - # name: fa-lightbulb-o - # stroke_color: 111111 - # size: 24 - label: - text_transform: uppercase - font_style: bold -blockquote: - font_color: $base_font_color - font_size: $base_font_size_large - border_color: $base_border_color - border_width: 5 - # FIXME disable negative padding bottom once margin collapsing is implemented - padding: [0, $horizontal_rhythm, $block_margin_bottom * -0.75, $horizontal_rhythm + $blockquote_border_width / 2] - cite_font_size: $base_font_size_small - cite_font_color: 999999 -# code is used for source blocks (perhaps change to source or listing?) -code: - font_color: $base_font_color - font_family: $literal_font_family - font_size: ceil($base_font_size) - padding: $code_font_size - line_height: 1.25 - # line_gap is an experimental property to control how a background color is applied to an inline block element - line_gap: 3.8 - background_color: f5f5f5 - border_color: cccccc - border_radius: $base_border_radius - border_width: 0.75 -conum: - font_family: M+ 1mn - font_color: $literal_font_color - font_size: $base_font_size - line_height: 4 / 3 -example: - border_color: $base_border_color - border_radius: $base_border_radius - border_width: 0.75 - background_color: ffffff - # FIXME reenable padding bottom once margin collapsing is implemented - padding: [$vertical_rhythm, $horizontal_rhythm, 0, $horizontal_rhythm] -image: - align: left -prose: - margin_top: $block_margin_top - margin_bottom: $block_margin_bottom -sidebar: - background_color: eeeeee - border_color: e1e1e1 - border_radius: $base_border_radius - border_width: $base_border_width - # FIXME reenable padding bottom once margin collapsing is implemented - padding: [$vertical_rhythm, $vertical_rhythm * 1.25, 0, $vertical_rhythm * 1.25] - title: - align: center - font_color: $heading_font_color - font_family: $heading_font_family - font_size: $heading_h4_font_size - font_style: $heading_font_style -thematic_break: - border_color: $base_border_color - border_style: solid - border_width: $base_border_width - margin_top: $vertical_rhythm * 0.5 - margin_bottom: $vertical_rhythm * 1.5 -description_list: - term_font_style: bold - term_spacing: $vertical_rhythm / 4 - description_indent: $horizontal_rhythm * 1.25 -outline_list: - indent: $horizontal_rhythm * 1.5 - #marker_font_color: 404040 - # NOTE outline_list_item_spacing applies to list items that do not have complex content - item_spacing: $vertical_rhythm / 2 -table: - background_color: $page_background_color - #head_background_color: - #head_font_color: $base_font_color - head_font_style: bold - #body_background_color: - body_stripe_background_color: f9f9f9 - foot_background_color: f0f0f0 - border_color: dddddd - border_width: $base_border_width - cell_padding: 3 -toc: - indent: $horizontal_rhythm - line_height: 1.4 - dot_leader: - #content: ". " - font_color: a9a9a9 - #levels: 2 3 -# NOTE in addition to footer, header is also supported -footer: - font_size: $base_font_size_small - # NOTE if background_color is set, background and border will span width of page - #border_color: dddddd # EE - #border_width: 0.25 # EE - height: $base_line_height_length * 2.5 - line_height: 1 - padding: [$base_line_height_length / 2, 1, 0, 1] - vertical_align: top - #image_vertical_align: or - # additional attributes for content: - # * {page-count} - # * {page-number} - # * {document-title} - # * {document-subtitle} - # * {chapter-title} - # * {section-title} - # * {section-or-chapter-title} - recto: - #columns: "<50% =0% >50%" - right: - #content: '{page-number}' # EE - #content: '{section-or-chapter-title} | {page-number}' - #content: '{document-title} | {page-number}' - content: '{document-title}{nbsp}{nbsp}{nbsp} *{page-number}*' # EE - #center: - # content: '{page-number}' - left: # EE - content: '{status}' # EE - verso: - #columns: $footer_recto_columns - left: - #content: $footer_recto_right_content # EE - #content: '{page-number} | {chapter-title}' - content: '*{page-number}* {nbsp}{nbsp}{nbsp}{document-title}' # EE - #center: - # content: '{page-number}' - right: # EE - content: '{status}' # EE -header: # EE - font_size: $base_font_size_small # EE - border_color: dddddd # EE - border_width: 0.25 # EE - height: $base_line_height_length * 2.5 # EE - line_height: 1 # EE - padding: [$base_line_height_length / 2, 1, 0, 1] # EE - vertical_align: top # EE - recto: # EE - right: # EE - content: '{section-or-chapter-title}' # EE - verso: # EE - left: # EE - content: '{section-or-chapter-title}' # EE