-/* $Id: html.h,v 1.94 2018/10/02 14:56:47 schwarze Exp $ */
+/* $Id: html.h,v 1.103 2019/04/30 15:53:00 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
- * Copyright (c) 2017, 2018 Ingo Schwarze <schwarze@openbsd.org>
+ * Copyright (c) 2017, 2018, 2019 Ingo Schwarze <schwarze@openbsd.org>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
TAG_TITLE,
TAG_DIV,
TAG_IDIV,
+ TAG_SECTION,
TAG_H1,
TAG_H2,
TAG_SPAN,
TAG_DL,
TAG_DT,
TAG_DD,
+ TAG_P,
TAG_PRE,
TAG_VAR,
TAG_CITE,
TAG_MAX
};
-enum htmlfont {
- HTMLFONT_NONE = 0,
- HTMLFONT_BOLD,
- HTMLFONT_ITALIC,
- HTMLFONT_BI,
- HTMLFONT_MAX
-};
-
struct tag {
struct tag *next;
+ int refcnt;
+ int closed;
enum htmltag tag;
};
#define HTML_KEEP (1 << 2)
#define HTML_PREKEEP (1 << 3)
#define HTML_NONOSPACE (1 << 4) /* never add spaces */
-#define HTML_LITERAL (1 << 5) /* literal (e.g., <PRE>) context */
#define HTML_SKIPCHAR (1 << 6) /* skip the next character */
#define HTML_NOSPLIT (1 << 7) /* do not break line before .An */
#define HTML_SPLIT (1 << 8) /* break line before .An */
char *base_includes; /* base for include href */
char *style; /* style-sheet URI */
struct tag *metaf; /* current open font scope */
- enum htmlfont metal; /* last used font */
- enum htmlfont metac; /* current font mode */
+ enum mandoc_esc metal; /* last used font */
+ enum mandoc_esc metac; /* current font mode */
int oflags; /* output options */
#define HTML_FRAGMENT (1 << 0) /* don't emit HTML/HEAD/BODY */
#define HTML_TOC (1 << 1) /* emit a table of contents */
void print_tblclose(struct html *);
void print_tbl(struct html *, const struct tbl_span *);
void print_eqn(struct html *, const struct eqn_box *);
-void print_paragraph(struct html *);
void print_endline(struct html *);
+void html_close_paragraph(struct html *);
+enum roff_tok html_fillmode(struct html *, enum roff_tok);
char *html_make_id(const struct roff_node *, int);
+int html_setfont(struct html *, enum mandoc_esc);