From 81110a42d3e8acf54bd059afb29098770437d398 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Mon, 7 Jan 2019 07:26:29 +0000 Subject: Represent mdoc(7) .Pp (and .sp, and some SYNOPSIS and .Rs features) by the

HTML element and use the html_fillmode() mechanism for .Bd -unfilled, just like it was done for man(7) earlier, finally getting rid both of the horrible

hack and of the worst HTML syntax violations caused by nested displays. Care is needed because in some situations, paragraphs have to remain open across several subsequent macros, whereas in other situations, they must get closed together with a block containing them. Some implementation details include: * Always close paragraphs before emitting HTML flow content. * Let html_close_paragraph() also close
 for extra safety.
* Drop the old, now unused function print_paragraph().
* Minor adjustments in the top-level man(7) node formatter for symmetry.
* Bugfix: .Ss heads suspend no-fill mode, even though .Ss doesn't end it.
* Bugfix: give up on .Op semantic markup for now, see the comment.
---
 regress/mdoc/Bd/Makefile               |  5 +++--
 regress/mdoc/Bd/nf.in                  |  9 ++++++--
 regress/mdoc/Bd/nf.out_ascii           |  6 ++++--
 regress/mdoc/Bd/nf.out_html            | 22 +++++++++++++++++++
 regress/mdoc/Bd/nf.out_markdown        |  7 ++++--
 regress/mdoc/Bd/paragraph.in           | 39 ++++++++++++++++++++++++++++++++++
 regress/mdoc/Bd/paragraph.out_ascii    | 27 +++++++++++++++++++++++
 regress/mdoc/Bd/paragraph.out_html     | 19 +++++++++++++++++
 regress/mdoc/Bd/paragraph.out_markdown | 39 ++++++++++++++++++++++++++++++++++
 9 files changed, 165 insertions(+), 8 deletions(-)
 create mode 100644 regress/mdoc/Bd/nf.out_html
 create mode 100644 regress/mdoc/Bd/paragraph.in
 create mode 100644 regress/mdoc/Bd/paragraph.out_ascii
 create mode 100644 regress/mdoc/Bd/paragraph.out_html
 create mode 100644 regress/mdoc/Bd/paragraph.out_markdown

(limited to 'regress/mdoc/Bd')

diff --git a/regress/mdoc/Bd/Makefile b/regress/mdoc/Bd/Makefile
index 0d0b2fb9..f05f54b0 100644
--- a/regress/mdoc/Bd/Makefile
+++ b/regress/mdoc/Bd/Makefile
@@ -1,10 +1,11 @@
-# $OpenBSD: Makefile,v 1.21 2019/01/04 03:54:50 schwarze Exp $
+# $OpenBSD: Makefile,v 1.22 2019/01/07 06:51:37 schwarze Exp $
 
-REGRESS_TARGETS	 = beforeNAME blank centered nested nf spacing
+REGRESS_TARGETS	 = beforeNAME blank centered nested nf paragraph spacing
 REGRESS_TARGETS	+= badargs empty offset-empty offset-neg
 REGRESS_TARGETS	+= break broken unclosed
 
 LINT_TARGETS	 = beforeNAME blank nested badargs break broken unclosed
+HTML_TARGETS	 = nf paragraph
 
 SKIP_TMAN	 = beforeNAME centered
 
diff --git a/regress/mdoc/Bd/nf.in b/regress/mdoc/Bd/nf.in
index 884825e2..2a2c44d8 100644
--- a/regress/mdoc/Bd/nf.in
+++ b/regress/mdoc/Bd/nf.in
@@ -1,11 +1,12 @@
-.\" $OpenBSD: nf.in,v 1.1 2019/01/04 03:54:50 schwarze Exp $
-.Dd $Mdocdate: January 4 2019 $
+.\" $OpenBSD: nf.in,v 1.2 2019/01/07 06:51:37 schwarze Exp $
+.Dd $Mdocdate: January 7 2019 $
 .Dt BD-NF 1
 .Os
 .Sh NAME
 .Nm Bd-nf
 .Nd interaction of no-fill blocks and requests
 .Sh DESCRIPTION
+BEGINTEST
 initial
 text
 .nf
@@ -32,3 +33,7 @@ in filled block
 .Ed
 after end
 of filled block
+.br
+ENDTEST
+.br
+end of file
diff --git a/regress/mdoc/Bd/nf.out_ascii b/regress/mdoc/Bd/nf.out_ascii
index 4a42fe82..d8ceb0c9 100644
--- a/regress/mdoc/Bd/nf.out_ascii
+++ b/regress/mdoc/Bd/nf.out_ascii
@@ -4,7 +4,7 @@ NNAAMMEE
      BBdd--nnff - interaction of no-fill blocks and requests
 
 DDEESSCCRRIIPPTTIIOONN
-     initial text
+     BEGINTEST initial text
      after .nf
      request
      after .fi request
@@ -18,5 +18,7 @@ DDEESSCCRRIIPPTTIIOONN
      after .nf request
      in filled block
      after end of filled block
+     ENDTEST
+     end of file
 
-OpenBSD                         January 4, 2019                        OpenBSD
+OpenBSD                         January 7, 2019                        OpenBSD
diff --git a/regress/mdoc/Bd/nf.out_html b/regress/mdoc/Bd/nf.out_html
new file mode 100644
index 00000000..31642e07
--- /dev/null
+++ b/regress/mdoc/Bd/nf.out_html
@@ -0,0 +1,22 @@
+BEGINTEST initial text
+
+after .nf
+request
+
+after .fi request +
+
+in unfilled
+block
+
+after .fi request in unfilled block
+after end of unfilled block +
in filled block +
+after .nf request
+in filled block
+
+
+after end of filled block +
+ENDTEST diff --git a/regress/mdoc/Bd/nf.out_markdown b/regress/mdoc/Bd/nf.out_markdown index 382bb786..46ece0a2 100644 --- a/regress/mdoc/Bd/nf.out_markdown +++ b/regress/mdoc/Bd/nf.out_markdown @@ -6,6 +6,7 @@ BD-NF(1) - General Commands Manual # DESCRIPTION +BEGINTEST initial text after .nf @@ -27,6 +28,8 @@ of unfilled block > in filled block after end -of filled block +of filled block +ENDTEST +end of file -OpenBSD - January 4, 2019 +OpenBSD - January 7, 2019 diff --git a/regress/mdoc/Bd/paragraph.in b/regress/mdoc/Bd/paragraph.in new file mode 100644 index 00000000..e1ebfd01 --- /dev/null +++ b/regress/mdoc/Bd/paragraph.in @@ -0,0 +1,39 @@ +.\" $OpenBSD: paragraph.in,v 1.1 2019/01/07 06:51:37 schwarze Exp $ +.Dd $Mdocdate: January 7 2019 $ +.Dt BD-PARAGRAPH 1 +.Os +.Sh NAME +.Nm Bd-paragraph +.Nd interaction of paragraphs and displays +.Sh DESCRIPTION +BEGINTEST +initial +text +.Pp +normal +paragraph +.Bd -filled +filled +display +.Pp +paragraph +in display +.Ed +back +to normal +.Pp +another +paragraph +.Bd -unfilled +unfilled +display +.Pp +unfilled +paragraph +.Ed +again back +to normal +.br +ENDTEST +.br +end of file diff --git a/regress/mdoc/Bd/paragraph.out_ascii b/regress/mdoc/Bd/paragraph.out_ascii new file mode 100644 index 00000000..216f4530 --- /dev/null +++ b/regress/mdoc/Bd/paragraph.out_ascii @@ -0,0 +1,27 @@ +BD-PARAGRAPH(1) General Commands Manual BD-PARAGRAPH(1) + +NNAAMMEE + BBdd--ppaarraaggrraapphh - interaction of paragraphs and displays + +DDEESSCCRRIIPPTTIIOONN + BEGINTEST initial text + + normal paragraph + + filled display + + paragraph in display + back to normal + + another paragraph + + unfilled + display + + unfilled + paragraph + again back to normal + ENDTEST + end of file + +OpenBSD January 7, 2019 OpenBSD diff --git a/regress/mdoc/Bd/paragraph.out_html b/regress/mdoc/Bd/paragraph.out_html new file mode 100644 index 00000000..c2c6993e --- /dev/null +++ b/regress/mdoc/Bd/paragraph.out_html @@ -0,0 +1,19 @@ +BEGINTEST initial text +

normal paragraph

+
filled display +

paragraph in display

+
+back to normal +

another paragraph

+
+
+unfilled
+display
+
+unfilled
+paragraph
+
+
+again back to normal +
+ENDTEST diff --git a/regress/mdoc/Bd/paragraph.out_markdown b/regress/mdoc/Bd/paragraph.out_markdown new file mode 100644 index 00000000..13e43f11 --- /dev/null +++ b/regress/mdoc/Bd/paragraph.out_markdown @@ -0,0 +1,39 @@ +BD-PARAGRAPH(1) - General Commands Manual + +# NAME + +**Bd-paragraph** - interaction of paragraphs and displays + +# DESCRIPTION + +BEGINTEST +initial +text + +normal +paragraph + +> filled +> display + +> paragraph +> in display + +back +to normal + +another +paragraph + + unfilled + display + + unfilled + paragraph + +again back +to normal +ENDTEST +end of file + +OpenBSD - January 7, 2019 -- cgit v1.2.3-56-ge451