-/* $OpenBSD: man_html.c,v 1.134 2022/07/04 14:37:14 schwarze Exp $ */
+/* $OpenBSD: man_html.c,v 1.135 2022/07/05 21:25:23 schwarze Exp $ */
/*
- * Copyright (c) 2013-2015, 2017-2020 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2013-2015,2017-2020,2022 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
*
* Permission to use, copy, modify, and distribute this software for any
static void
man_root_pre(const struct roff_meta *man, struct html *h)
{
- struct tag *t, *tt;
+ struct tag *t;
char *title;
assert(man->title);
assert(man->msec);
mandoc_asprintf(&title, "%s(%s)", man->title, man->msec);
- t = print_otag(h, TAG_TABLE, "c", "head");
- tt = print_otag(h, TAG_TR, "");
+ t = print_otag(h, TAG_DIV, "cr?", "head", "doc-pageheader",
+ "aria-label", "manual header line");
- print_otag(h, TAG_TD, "c", "head-ltitle");
+ print_otag(h, TAG_SPAN, "c", "head-ltitle");
print_text(h, title);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "head-vol");
+ print_otag(h, TAG_SPAN, "c", "head-vol");
if (man->vol != NULL)
print_text(h, man->vol);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "head-rtitle");
+ print_otag(h, TAG_SPAN, "c", "head-rtitle");
print_text(h, title);
print_tagq(h, t);
free(title);
static void
man_root_post(const struct roff_meta *man, struct html *h)
{
- struct tag *t, *tt;
+ struct tag *t;
+
+ t = print_otag(h, TAG_DIV, "cr?", "foot", "doc-pagefooter",
+ "aria-label", "manual footer line");
- t = print_otag(h, TAG_TABLE, "c", "foot");
- tt = print_otag(h, TAG_TR, "");
+ print_otag(h, TAG_SPAN, "c", "foot-left");
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "foot-date");
+ print_otag(h, TAG_SPAN, "c", "foot-date");
print_text(h, man->date);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "foot-os");
+ print_otag(h, TAG_SPAN, "c", "foot-os");
if (man->os != NULL)
print_text(h, man->os);
print_tagq(h, t);
-/* $OpenBSD: mandoc.css,v 1.37 2022/07/03 14:28:27 schwarze Exp $ */
+/* $OpenBSD: mandoc.css,v 1.38 2022/07/05 21:25:24 schwarze Exp $ */
/*
* Standard style sheet for mandoc(1) -Thtml and man.cgi(8).
*
/* Header and footer lines. */
-table.head { width: 100%;
+div[role=doc-pageheader] {
+ display: flex;
border-bottom: 1px dotted #808080;
margin-bottom: 1em;
font-size: smaller; }
-td.head-vol { text-align: center; }
-td.head-rtitle {
+.head-ltitle { flex: 1; }
+.head-vol { flex: 0 1 auto;
+ text-align: center; }
+.head-rtitle { flex: 1;
text-align: right; }
-table.foot { width: 100%;
+div[role=doc-pagefooter] {
+ display: flex;
+ justify-content: space-between;
border-top: 1px dotted #808080;
margin-top: 1em;
font-size: smaller; }
-td.foot-os { text-align: right; }
+.foot-left { flex: 1; }
+.foot-date { flex: 0 1 auto;
+ text-align: center; }
+.foot-os { flex: 1;
+ text-align: right; }
/* Sections and paragraphs. */
-/* $OpenBSD: mdoc_html.c,v 1.221 2022/07/04 14:37:14 schwarze Exp $ */
+/* $OpenBSD: mdoc_html.c,v 1.222 2022/07/05 21:25:24 schwarze Exp $ */
/*
* Copyright (c) 2014-2022 Ingo Schwarze <schwarze@openbsd.org>
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
static void
mdoc_root_post(const struct roff_meta *meta, struct html *h)
{
- struct tag *t, *tt;
+ struct tag *t;
+
+ t = print_otag(h, TAG_DIV, "cr?", "foot", "doc-pagefooter",
+ "aria-label", "manual footer line");
- t = print_otag(h, TAG_TABLE, "c", "foot");
- tt = print_otag(h, TAG_TR, "");
+ print_otag(h, TAG_SPAN, "c", "foot-left");
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "foot-date");
+ print_otag(h, TAG_SPAN, "c", "foot-date");
print_text(h, meta->date);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "foot-os");
+ print_otag(h, TAG_SPAN, "c", "foot-os");
print_text(h, meta->os);
print_tagq(h, t);
}
static int
mdoc_root_pre(const struct roff_meta *meta, struct html *h)
{
- struct tag *t, *tt;
+ struct tag *t;
char *volume, *title;
if (NULL == meta->arch)
mandoc_asprintf(&title, "%s(%s)",
meta->title, meta->msec);
- t = print_otag(h, TAG_TABLE, "c", "head");
- tt = print_otag(h, TAG_TR, "");
+ t = print_otag(h, TAG_DIV, "cr?", "head", "doc-pageheader",
+ "aria-label", "manual header line");
- print_otag(h, TAG_TD, "c", "head-ltitle");
+ print_otag(h, TAG_SPAN, "c", "head-ltitle");
print_text(h, title);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "head-vol");
+ print_otag(h, TAG_SPAN, "c", "head-vol");
print_text(h, volume);
- print_stagq(h, tt);
+ print_stagq(h, t);
- print_otag(h, TAG_TD, "c", "head-rtitle");
+ print_otag(h, TAG_SPAN, "c", "head-rtitle");
print_text(h, title);
print_tagq(h, t);