discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
From: Ingo Schwarze <schwarze@usta.de>
To: Mark Harris <mark.hsj@gmail.com>
Cc: discuss@mandoc.bsd.lv
Subject: Re: .br vertical spacing in html output
Date: Mon, 3 Dec 2018 17:30:10 +0100	[thread overview]
Message-ID: <20181203163010.GA92067@athene.usta.de> (raw)
In-Reply-To: <fd14efed-283d-3921-1ae9-f0725481725b@gmail.com>

Hi Mark,

Mark Harris wrote on Sat, Dec 01, 2018 at 01:31:05PM -0800:

> With -Thtml, with or without -Ostyle=mandoc.css, a roff .br (line break)
> directive is producing a large vertical space between lines.  This is
> unexpected and does not occur with -Tascii/utf8.  Here is an example:
[...]
> .br
>   Beta

The first commit in the context of the HTML syntax audit already
reduced the spacing a bit, see below.  There is still a spurious
blank line, though, and more is also needed to prevent bad nesting
in other situations.

Yours,
  Ingo


Log Message:
-----------
Render .br as <br/>, not as an empty <div>.
The element <br/> was already employed for many other purposes,
so there is nothing wrong with using it.
Also, it is safer because <br/> is permitted in phrasing content,
whereas <div> is only allowed in flow content.

This is the first part of the HTML syntax audit which i wanted 
to do for a long time.  Reminded by a loosely related bug report 
from Mark Harris <mark dot hsj at gmail dot com>.

Examples of where this caused HTML nesting syntax errors:
* in man(7) code between .nf and .fi
* in mdoc(7) code between .Bd -unfilled and .Ed
* in mdoc(7) code between .Ql Xo and .Xc
* in mdoc(7) code between .Rs and .Re

Modified Files:
--------------
    mandoc:
        roff_html.c

Revision Data
-------------
Index: roff_html.c
===================================================================
RCS file: /home/cvs/mandoc/mandoc/roff_html.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -Lroff_html.c -Lroff_html.c -u -p -r1.12 -r1.13
--- roff_html.c
+++ roff_html.c
@@ -58,11 +58,7 @@ roff_html_pre(struct html *h, const stru
 static void
 roff_html_pre_br(ROFF_HTML_ARGS)
 {
-	struct tag	*t;
-
-	t = print_otag(h, TAG_DIV, "");
-	print_text(h, "\\~");  /* So the div isn't empty. */
-	print_tagq(h, t);
+	print_otag(h, TAG_BR, "");
 }
 
 static void
--
 To unsubscribe send an email to discuss+unsubscribe@mandoc.bsd.lv

  parent reply	other threads:[~2018-12-03 16:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-01 21:31 Mark Harris
2018-12-02 17:21 ` Ingo Schwarze
2018-12-03 16:30 ` Ingo Schwarze [this message]
2018-12-04  3:38 ` Ingo Schwarze

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181203163010.GA92067@athene.usta.de \
    --to=schwarze@usta.de \
    --cc=discuss@mandoc.bsd.lv \
    --cc=mark.hsj@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).