diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2021-04-07 02:38:59 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-07 02:38:59 -0600 |
| commit | 25b1916856093d8cf91fbb1da27905c8bcd86f3c (patch) | |
| tree | d0fa4b066d745fbaedcd5e510908f5ad3d8d461d | |
| parent | f21db346ae800c0d2e54fb7adb135e2dab794a36 (diff) | |
resolves #3992 use .bp macro at location of page break in manpage output (PR #3993)
| -rw-r--r-- | CHANGELOG.adoc | 1 | ||||
| -rw-r--r-- | lib/asciidoctor/converter/manpage.rb | 5 | ||||
| -rw-r--r-- | test/manpage_test.rb | 26 |
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| |
