summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Allen <dan.j.allen@gmail.com>2021-04-07 02:38:59 -0600
committerGitHub <noreply@github.com>2021-04-07 02:38:59 -0600
commit25b1916856093d8cf91fbb1da27905c8bcd86f3c (patch)
treed0fa4b066d745fbaedcd5e510908f5ad3d8d461d
parentf21db346ae800c0d2e54fb7adb135e2dab794a36 (diff)
resolves #3992 use .bp macro at location of page break in manpage output (PR #3993)
-rw-r--r--CHANGELOG.adoc1
-rw-r--r--lib/asciidoctor/converter/manpage.rb5
-rw-r--r--test/manpage_test.rb26
3 files changed, 30 insertions, 2 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 959d8b42..83775deb 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -22,6 +22,7 @@ Bug Fixes::
* Remove extra .sp before content of verse block in manpage output
* Fix layout of footnotes in manpage output (#3989)
* Fix formatting of footnote text with URL in manpage output (#3988)
+ * Use .bp macro at location of page break in manpage output (#3992)
Improvements::
diff --git a/lib/asciidoctor/converter/manpage.rb b/lib/asciidoctor/converter/manpage.rb
index 924424a1..6fb0bc88 100644
--- a/lib/asciidoctor/converter/manpage.rb
+++ b/lib/asciidoctor/converter/manpage.rb
@@ -314,8 +314,9 @@ r lw(\n(.lu*75u/100u).'
end
end
- # TODO use Page Control https://www.gnu.org/software/groff/manual/html_node/Page-Control.html#Page-Control
- alias convert_page_break skip
+ def convert_page_break node
+ '.bp'
+ end
def convert_paragraph node
if node.title?
diff --git a/test/manpage_test.rb b/test/manpage_test.rb
index 65ef700c..80481f4d 100644
--- a/test/manpage_test.rb
+++ b/test/manpage_test.rb
@@ -824,6 +824,32 @@ context 'Manpage' do
end
end
+ context 'Page breaks' do
+ test 'should insert page break at location of page break macro' do
+ input = <<~EOS.chop
+ #{SAMPLE_MANPAGE_HEADER}
+
+ == Section With Break
+
+ before break
+
+ <<<
+
+ after break
+ EOS
+ expected_coda = <<~'EOS'.chop
+ .SH "SECTION WITH BREAK"
+ .sp
+ before break
+ .bp
+ .sp
+ after break
+ EOS
+ output = Asciidoctor.convert input, backend: :manpage
+ assert output.end_with? expected_coda
+ end
+ end
+
context 'Footnotes' do
test 'should generate list of footnotes using numbered list with numbers enclosed in brackets' do
[true, false].each do |standalone|