source@mandoc.bsd.lv
 help / color / mirror / Atom feed
* mandoc: Handle .Bl -compact via CSS rather than writing individual style
@ 2017-07-14 16:07 schwarze
  0 siblings, 0 replies; only message in thread
From: schwarze @ 2017-07-14 16:07 UTC (permalink / raw)
  To: source

Log Message:
-----------
Handle .Bl -compact via CSS rather than writing individual style 
attributes into .It blocks; suggested by Steffen Nurpmeso <steffen
at sdaoden dot eu> on <groff at GNU dot org> in April 2017.

Delete margin-bottom and margin-top style names and the 'v' argument
letter from print_otag() because they are no longer used.

Modified Files:
--------------
    mandoc:
        html.c
        mandoc.css
        mandoc_html.3
        mdoc_html.c

Revision Data
-------------
Index: mandoc.css
===================================================================
RCS file: /home/cvs/mandoc/mandoc/mandoc.css,v
retrieving revision 1.18
retrieving revision 1.19
diff -Lmandoc.css -Lmandoc.css -u -p -r1.18 -r1.19
--- mandoc.css
+++ mandoc.css
@@ -79,9 +79,13 @@ li.It-dash:before {
 ul.Bl-item {	list-style-type: none;
 		padding-left: 0em; }
 li.It-item { }
+ul.Bl-compact > li {
+		margin-top: 0ex; }
 
 ol.Bl-enum {	padding-left: 2em; }
 li.It-enum { }
+ol.Bl-compact > li {
+		margin-top: 0ex; }
 
 dl.Bl-diag { }
 dt.It-diag { }
@@ -108,10 +112,14 @@ dd.It-tag {	width: 100%;
 		margin-left: 0ex;
 		vertical-align: top;
 		overflow: auto; }
+dl.Bl-compact > dt {
+		margin-top: 0ex; }
 
 table.Bl-column { }
 tr.It-column { }
 td.It-column {	margin-top: 1em; }
+table.Bl-compact > tbody > tr > td {
+		margin-top: 0ex; }
 
 cite.Rs {	font-style: normal;
 		font-weight: normal; }
Index: mdoc_html.c
===================================================================
RCS file: /home/cvs/mandoc/mandoc/mdoc_html.c,v
retrieving revision 1.291
retrieving revision 1.292
diff -Lmdoc_html.c -Lmdoc_html.c -u -p -r1.291 -r1.292
--- mdoc_html.c
+++ mdoc_html.c
@@ -715,10 +715,7 @@ mdoc_it_pre(MDOC_ARGS)
 		case ROFFT_HEAD:
 			return 0;
 		case ROFFT_BODY:
-			if (bl->norm->Bl.comp)
-				print_otag(h, TAG_LI, "csvt", cattr, 0);
-			else
-				print_otag(h, TAG_LI, "c", cattr);
+			print_otag(h, TAG_LI, "c", cattr);
 			break;
 		default:
 			break;
@@ -730,10 +727,7 @@ mdoc_it_pre(MDOC_ARGS)
 	case LIST_ohang:
 		switch (n->type) {
 		case ROFFT_HEAD:
-			if (bl->norm->Bl.comp)
-				print_otag(h, TAG_DT, "csvt", cattr, 0);
-			else
-				print_otag(h, TAG_DT, "c", cattr);
+			print_otag(h, TAG_DT, "c", cattr);
 			if (type == LIST_diag)
 				print_otag(h, TAG_B, "c", cattr);
 			break;
@@ -780,10 +774,7 @@ mdoc_it_pre(MDOC_ARGS)
 		case ROFFT_HEAD:
 			break;
 		case ROFFT_BODY:
-			if (bl->norm->Bl.comp)
-				print_otag(h, TAG_TD, "csvt", cattr, 0);
-			else
-				print_otag(h, TAG_TD, "c", cattr);
+			print_otag(h, TAG_TD, "c", cattr);
 			break;
 		default:
 			print_otag(h, TAG_TR, "c", cattr);
@@ -798,9 +789,9 @@ mdoc_it_pre(MDOC_ARGS)
 static int
 mdoc_bl_pre(MDOC_ARGS)
 {
+	char		 cattr[21];
 	struct tag	*t;
 	struct mdoc_bl	*bl;
-	const char	*cattr;
 	size_t		 i;
 	enum htmltag	 elemtype;
 
@@ -835,50 +826,52 @@ mdoc_bl_pre(MDOC_ARGS)
 	switch (bl->type) {
 	case LIST_bullet:
 		elemtype = TAG_UL;
-		cattr = "Bl-bullet";
+		(void)strlcpy(cattr, "Bl-bullet", sizeof(cattr));
 		break;
 	case LIST_dash:
 	case LIST_hyphen:
 		elemtype = TAG_UL;
-		cattr = "Bl-dash";
+		(void)strlcpy(cattr, "Bl-dash", sizeof(cattr));
 		break;
 	case LIST_item:
 		elemtype = TAG_UL;
-		cattr = "Bl-item";
+		(void)strlcpy(cattr, "Bl-item", sizeof(cattr));
 		break;
 	case LIST_enum:
 		elemtype = TAG_OL;
-		cattr = "Bl-enum";
+		(void)strlcpy(cattr, "Bl-enum", sizeof(cattr));
 		break;
 	case LIST_diag:
 		elemtype = TAG_DL;
-		cattr = "Bl-diag";
+		(void)strlcpy(cattr, "Bl-diag", sizeof(cattr));
 		break;
 	case LIST_hang:
 		elemtype = TAG_DL;
-		cattr = "Bl-hang";
+		(void)strlcpy(cattr, "Bl-hang", sizeof(cattr));
 		break;
 	case LIST_inset:
 		elemtype = TAG_DL;
-		cattr = "Bl-inset";
+		(void)strlcpy(cattr, "Bl-inset", sizeof(cattr));
 		break;
 	case LIST_ohang:
 		elemtype = TAG_DL;
-		cattr = "Bl-ohang";
+		(void)strlcpy(cattr, "Bl-ohang", sizeof(cattr));
 		break;
 	case LIST_tag:
-		cattr = "Bl-tag";
 		if (bl->offs)
-			print_otag(h, TAG_DIV, "cswl", cattr, bl->offs);
-		print_otag(h, TAG_DL, "csw+l", cattr, bl->width);
+			print_otag(h, TAG_DIV, "cswl", "Bl-tag", bl->offs);
+		print_otag(h, TAG_DL, "csw+l", bl->comp ?
+		    "Bl-tag Bl-compact" : "Bl-tag", bl->width);
 		return 1;
 	case LIST_column:
 		elemtype = TAG_TABLE;
-		cattr = "Bl-column";
+		(void)strlcpy(cattr, "Bl-column", sizeof(cattr));
 		break;
 	default:
 		abort();
 	}
+	if (bl->comp)
+		(void)strlcat(cattr, " Bl-compact", sizeof(cattr));
 	print_otag(h, elemtype, "cswl", cattr, bl->offs);
 	return 1;
 }
Index: html.c
===================================================================
RCS file: /home/cvs/mandoc/mandoc/html.c,v
retrieving revision 1.216
retrieving revision 1.217
diff -Lhtml.c -Lhtml.c -u -p -r1.216 -r1.217
--- html.c
+++ html.c
@@ -623,11 +623,6 @@ print_otag(struct html *h, enum htmltag 
 		case 'u':
 			su = va_arg(ap, struct roffsu *);
 			break;
-		case 'v':
-			i = va_arg(ap, int);
-			su = &mysu;
-			SCALE_VS_INIT(su, i);
-			break;
 		case 'w':
 			if ((arg2 = va_arg(ap, char *)) == NULL)
 				break;
@@ -652,9 +647,6 @@ print_otag(struct html *h, enum htmltag 
 		/* Second letter: style name. */
 
 		switch (*fmt++) {
-		case 'b':
-			attr = "margin-bottom";
-			break;
 		case 'h':
 			attr = "height";
 			break;
@@ -663,9 +655,6 @@ print_otag(struct html *h, enum htmltag 
 			break;
 		case 'l':
 			attr = "margin-left";
-			break;
-		case 't':
-			attr = "margin-top";
 			break;
 		case 'w':
 			attr = "width";
Index: mandoc_html.3
===================================================================
RCS file: /home/cvs/mandoc/mandoc/mandoc_html.3,v
retrieving revision 1.8
retrieving revision 1.9
diff -Lmandoc_html.3 -Lmandoc_html.3 -u -p -r1.8 -r1.9
--- mandoc_html.3
+++ mandoc_html.3
@@ -219,11 +219,6 @@ argument, used as a style value.
 Requires one
 .Vt struct roffsu *
 argument, used as a length.
-.It Cm v
-Requires one
-.Vt int
-argument, interpreted as a vertical length in units of
-.Dv SCALE_VS .
 .It Cm w
 Requires one
 .Vt char *
@@ -249,10 +244,6 @@ makes the width negative by multiplying 
 .Pp
 Style name letters decide what to do with the preceding argument:
 .Bl -tag -width 1n -offset indent
-.It Cm b
-Set
-.Cm margin-bottom
-to the given length.
 .It Cm h
 Set
 .Cm height
@@ -264,10 +255,6 @@ to the given length.
 .It Cm l
 Set
 .Cm margin-left
-to the given length.
-.It Cm t
-Set
-.Cm margin-top
 to the given length.
 .It Cm w
 Set
--
 To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-07-14 16:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14 16:07 mandoc: Handle .Bl -compact via CSS rather than writing individual style schwarze

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).