summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.adoc1
-rw-r--r--data/themes/base-theme.yml4
-rw-r--r--spec/running_content_spec.rb42
3 files changed, 46 insertions, 1 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 5e143914..f6d899e3 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -17,6 +17,7 @@ Enhancements::
* add support for `smallcaps` text transform by replacing lowercase letters with small capital variants (#1192)
* use `base-border-color` as default border color; control appearance of border using `border-width` value alone (#2134)
* remove border colors in base theme so all border colors can be controlled using `base-border-color` when extending theme
+* enable running footer when using base theme
Bug Fixes::
diff --git a/data/themes/base-theme.yml b/data/themes/base-theme.yml
index fdadb11b..90d7c040 100644
--- a/data/themes/base-theme.yml
+++ b/data/themes/base-theme.yml
@@ -42,7 +42,6 @@ heading_margin_top: 4
heading_margin_bottom: 12
heading_min_height_after: 20
title_page_text_align: center
-title_page_line_height: 1.15
title_page_logo_top: 10%
title_page_title_top: 40%
title_page_title_font_size: 18
@@ -102,5 +101,8 @@ toc_indent: 15
toc_line_height: 1.4
footnotes_font_size: 9
footnotes_item_spacing: 3
+footer_border_width: 0.5
+footer_font_size: 10
+footer_height: 30
footer_recto_right_content: '{page-number}'
footer_verso_left_content: '{page-number}'
diff --git a/spec/running_content_spec.rb b/spec/running_content_spec.rb
index e0502e8e..2aca9628 100644
--- a/spec/running_content_spec.rb
+++ b/spec/running_content_spec.rb
@@ -90,6 +90,48 @@ describe 'Asciidoctor::PDF::Converter - Running Content' do
end
end
+ it 'should add running footer by default when using base theme' do
+ input = <<~'EOS'
+ = Document Title
+ :doctype: book
+
+ first page
+
+ <<<
+
+ second page
+
+ <<<
+
+ third page
+ EOS
+
+ pdf = to_pdf input, pdf_theme: { extends: 'base' }, enable_footer: true, analyze: true
+ expected_page_numbers = %w(1 2 3)
+ expected_x_positions = [553.72, 36.0]
+
+ (expect pdf.pages).to have_size 4
+ page_number_texts = pdf.find_text %r/^\d+$/
+ (expect page_number_texts).to have_size expected_page_numbers.size
+ page_number_texts.each_with_index do |page_number_text, idx|
+ (expect page_number_text[:page_number]).to eql idx + 2
+ (expect page_number_text[:x]).to eql expected_x_positions[idx.even? ? 0 : 1]
+ (expect page_number_text[:y]).to eql 14.606
+ (expect page_number_text[:font_size]).to be 10
+ end
+
+ pdf_raw = to_pdf input, pdf_theme: { extends: 'base' }, enable_footer: true
+ p2_resources = (pdf_raw.page 2).page_object[:Resources]
+ (expect p2_resources).to have_key :XObject
+ p2_xobject = p2_resources[:XObject]
+ (expect p2_xobject).to have_key :Stamp1
+ stamp_data = pdf_raw.objects[p2_xobject[:Stamp1]].data
+ stamp_gs = (pdf.extract_graphic_states stamp_data)[0]
+ ['0.0 0.0 0.0 SCN', '0.5 w', '36.0 30.0 m', '559.28 30.0 l'].each do |expected_line|
+ (expect stamp_gs).to include expected_line
+ end
+ end
+
it 'should use single column that spans width of page if columns value is empty' do
pdf_theme = {
footer_columns: '',