summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2014-09-27 09:02:19 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2014-09-27 09:02:19 +0000
commitcbb36f69d85e6b491d5b45327719e0cf321ebec2 (patch)
tree0edb7c41c4d9088e2414889dc7936240b44f77f6
parent7f631c926eaa8069d1c48df8e5c6d375f83e1188 (diff)
downloadmandoc-cbb36f69d85e6b491d5b45327719e0cf321ebec2.tar.gz
First, add space for default styling for HTML5 (non-fragment) output.
This uses a <style /> block right before the <link /> for the stylesheet. Use this to kick out hardcoded header and footer table widths.
-rw-r--r--html.c6
-rw-r--r--html.h1
-rw-r--r--man_html.c10
-rw-r--r--mdoc_html.c10
4 files changed, 15 insertions, 12 deletions
diff --git a/html.c b/html.c
index 26d0f37e..68802b74 100644
--- a/html.c
+++ b/html.c
@@ -74,6 +74,7 @@ static const struct htmldata htmltags[TAG_MAX] = {
{"i", 0 }, /* TAG_I */
{"code", 0 }, /* TAG_CODE */
{"small", 0 }, /* TAG_SMALL */
+ {"style", HTML_CLRLINE}, /* TAG_STYLE */
};
static const char *const htmlattrs[ATTR_MAX] = {
@@ -193,11 +194,16 @@ void
print_gen_head(struct html *h)
{
struct htmlpair tag[4];
+ struct tag *t;
tag[0].key = ATTR_CHARSET;
tag[0].val = "utf-8";
print_otag(h, TAG_META, 1, tag);
+ t = print_otag(h, TAG_STYLE, 0, NULL);
+ print_text(h, "table.head, table.foot { width: 100%; }\n");
+ print_tagq(h, t);
+
if (h->style) {
tag[0].key = ATTR_REL;
tag[0].val = "stylesheet";
diff --git a/html.h b/html.h
index 9800be76..c98bc8c0 100644
--- a/html.h
+++ b/html.h
@@ -50,6 +50,7 @@ enum htmltag {
TAG_I,
TAG_CODE,
TAG_SMALL,
+ TAG_STYLE,
TAG_MAX
};
diff --git a/man_html.c b/man_html.c
index b127953f..2adcc962 100644
--- a/man_html.c
+++ b/man_html.c
@@ -299,7 +299,7 @@ a2width(const struct man_node *n, struct roffsu *su)
static void
man_root_pre(MAN_ARGS)
{
- struct htmlpair tag[3];
+ struct htmlpair tag[2];
struct tag *t, *tt;
char *title;
@@ -309,8 +309,7 @@ man_root_pre(MAN_ARGS)
PAIR_SUMMARY_INIT(&tag[0], "Document Header");
PAIR_CLASS_INIT(&tag[1], "head");
- PAIR_INIT(&tag[2], ATTR_WIDTH, "100%");
- t = print_otag(h, TAG_TABLE, 3, tag);
+ t = print_otag(h, TAG_TABLE, 2, tag);
PAIR_INIT(&tag[0], ATTR_WIDTH, "30%");
print_otag(h, TAG_COL, 1, tag);
print_otag(h, TAG_COL, 1, tag);
@@ -343,13 +342,12 @@ man_root_pre(MAN_ARGS)
static void
man_root_post(MAN_ARGS)
{
- struct htmlpair tag[3];
+ struct htmlpair tag[2];
struct tag *t, *tt;
PAIR_SUMMARY_INIT(&tag[0], "Document Footer");
PAIR_CLASS_INIT(&tag[1], "foot");
- PAIR_INIT(&tag[2], ATTR_WIDTH, "100%");
- t = print_otag(h, TAG_TABLE, 3, tag);
+ t = print_otag(h, TAG_TABLE, 2, tag);
PAIR_INIT(&tag[0], ATTR_WIDTH, "50%");
print_otag(h, TAG_COL, 1, tag);
print_otag(h, TAG_COL, 1, tag);
diff --git a/mdoc_html.c b/mdoc_html.c
index 504c33fc..ff2b140e 100644
--- a/mdoc_html.c
+++ b/mdoc_html.c
@@ -484,13 +484,12 @@ print_mdoc_node(MDOC_ARGS)
static void
mdoc_root_post(MDOC_ARGS)
{
- struct htmlpair tag[3];
+ struct htmlpair tag[2];
struct tag *t, *tt;
PAIR_SUMMARY_INIT(&tag[0], "Document Footer");
PAIR_CLASS_INIT(&tag[1], "foot");
- PAIR_INIT(&tag[2], ATTR_WIDTH, "100%");
- t = print_otag(h, TAG_TABLE, 3, tag);
+ t = print_otag(h, TAG_TABLE, 2, tag);
PAIR_INIT(&tag[0], ATTR_WIDTH, "50%");
print_otag(h, TAG_COL, 1, tag);
print_otag(h, TAG_COL, 1, tag);
@@ -514,7 +513,7 @@ mdoc_root_post(MDOC_ARGS)
static int
mdoc_root_pre(MDOC_ARGS)
{
- struct htmlpair tag[3];
+ struct htmlpair tag[2];
struct tag *t, *tt;
char *volume, *title;
@@ -532,8 +531,7 @@ mdoc_root_pre(MDOC_ARGS)
PAIR_SUMMARY_INIT(&tag[0], "Document Header");
PAIR_CLASS_INIT(&tag[1], "head");
- PAIR_INIT(&tag[2], ATTR_WIDTH, "100%");
- t = print_otag(h, TAG_TABLE, 3, tag);
+ t = print_otag(h, TAG_TABLE, 2, tag);
PAIR_INIT(&tag[0], ATTR_WIDTH, "30%");
print_otag(h, TAG_COL, 1, tag);
print_otag(h, TAG_COL, 1, tag);