-/* $Id: html.h,v 1.75 2017/01/17 15:32:43 schwarze Exp $ */
+/* $Id: html.h,v 1.80 2017/01/29 14:02:42 schwarze Exp $ */
/*
* Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
* Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
TAG_DL,
TAG_DT,
TAG_DD,
- TAG_BLOCKQUOTE,
TAG_PRE,
TAG_B,
TAG_I,
enum htmltag tag;
};
-struct tagq {
- struct tag *head;
-};
-
struct html {
int flags;
#define HTML_NOSPACE (1 << 0) /* suppress next space */
#define HTML_NOSPLIT (1 << 7) /* do not break line before .An */
#define HTML_SPLIT (1 << 8) /* break line before .An */
#define HTML_NONEWLINE (1 << 9) /* No line break in nofill mode. */
- struct tagq tags; /* stack of open tags */
+#define HTML_BUFFER (1 << 10) /* Collect a word to see if it fits. */
+ size_t indent; /* current output indentation level */
+ int noindent; /* indent disabled by <pre> */
+ size_t col; /* current output byte position */
+ size_t bufcol; /* current buf byte position */
+ char buf[80]; /* output buffer */
+ struct tag *tag; /* last open tag */
struct rofftbl tbl; /* current table */
struct tag *tblt; /* current open table scope */
char *base_man; /* base for manpage href */
void print_tbl(struct html *, const struct tbl_span *);
void print_eqn(struct html *, const struct eqn *);
void print_paragraph(struct html *);
+void print_endline(struct html *);
int html_strlen(const char *);