aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2021-09-09 14:47:24 +0000
committerIngo Schwarze <schwarze@openbsd.org>2021-09-09 14:47:24 +0000
commit8ba37ccebd83d3a950528dfe0cf3347453982ac2 (patch)
tree722dadf85bfb6d0cc8f24736200f0e2b2a3e04fe
parent4d57526007f1149e2246b6764cb5b6551d14b65b (diff)
downloadmandoc-8ba37ccebd83d3a950528dfe0cf3347453982ac2.tar.gz
mandoc-8ba37ccebd83d3a950528dfe0cf3347453982ac2.tar.zst
mandoc-8ba37ccebd83d3a950528dfe0cf3347453982ac2.zip
If the layout or data of an individual cell in a tbl(7) contains
only "_", "-", or "=", requesting a horizontal line to be drawn across the middle of the cell, print <hr/> in that cell in HTML output. That is arguably slightly ugly because HTML 5 regards <hr/> as semantic markup, meaning "thematic break". If somebody knowns a better way to render a horizontal line across the middle of a table cell with pure HTML and CSS, and without implying a specific meaning, please tell me. Missing feature reported by <Oliver dot Corff at email dot de>.
-rw-r--r--html.c3
-rw-r--r--html.h3
-rw-r--r--tbl_html.c9
3 files changed, 11 insertions, 4 deletions
diff --git a/html.c b/html.c
index 7cd694f1..71c9c711 100644
--- a/html.c
+++ b/html.c
@@ -1,4 +1,4 @@
-/* $Id: html.c,v 1.274 2021/08/10 12:55:03 schwarze Exp $ */
+/* $Id: html.c,v 1.275 2021/09/09 14:47:24 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2011-2015, 2017-2021 Ingo Schwarze <schwarze@openbsd.org>
@@ -91,6 +91,7 @@ static const struct htmldata htmltags[TAG_MAX] = {
{"span", HTML_INPHRASE | HTML_TOPHRASE},
{"var", HTML_INPHRASE | HTML_TOPHRASE},
{"br", HTML_INPHRASE | HTML_NOSTACK | HTML_NLALL},
+ {"hr", HTML_INPHRASE | HTML_NOSTACK},
{"mark", HTML_INPHRASE },
{"math", HTML_INPHRASE | HTML_NLALL | HTML_INDENT},
{"mrow", 0},
diff --git a/html.h b/html.h
index 07a42a0c..3d201403 100644
--- a/html.h
+++ b/html.h
@@ -1,4 +1,4 @@
-/* $Id: html.h,v 1.108 2020/04/18 20:40:10 schwarze Exp $ */
+/* $Id: html.h,v 1.109 2021/09/09 14:47:24 schwarze Exp $ */
/*
* Copyright (c) 2017, 2018, 2019, 2020 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
@@ -51,6 +51,7 @@ enum htmltag {
TAG_SPAN,
TAG_VAR,
TAG_BR,
+ TAG_HR,
TAG_MARK,
TAG_MATH,
TAG_MROW,
diff --git a/tbl_html.c b/tbl_html.c
index ce03c6ac..cc4922a8 100644
--- a/tbl_html.c
+++ b/tbl_html.c
@@ -1,4 +1,4 @@
-/* $Id: tbl_html.c,v 1.36 2021/08/10 12:55:04 schwarze Exp $ */
+/* $Id: tbl_html.c,v 1.37 2021/09/09 14:47:24 schwarze Exp $ */
/*
* Copyright (c) 2011 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2014,2015,2017,2018,2021 Ingo Schwarze <schwarze@openbsd.org>
@@ -241,7 +241,12 @@ print_tbl(struct html *h, const struct tbl_span *sp)
"vertical-align", valign,
"text-align", halign,
"border-right-style", rborder);
- if (dp->string != NULL) {
+ if (dp->layout->pos == TBL_CELL_HORIZ ||
+ dp->layout->pos == TBL_CELL_DHORIZ ||
+ dp->pos == TBL_DATA_HORIZ ||
+ dp->pos == TBL_DATA_DHORIZ)
+ print_otag(h, TAG_HR, "");
+ else if (dp->string != NULL) {
save_font = h->metac;
html_setfont(h, dp->layout->font);
if (dp->layout->pos == TBL_CELL_LONG)