-/* $Id: html.h,v 1.6 2009/09/21 14:56:56 kristaps Exp $ */
+/* $Id: html.h,v 1.12 2009/10/07 12:35:23 kristaps Exp $ */
/*
* Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>
*
ATTR_STYLE,
ATTR_WIDTH,
ATTR_VALIGN,
+ ATTR_TARGET,
+ ATTR_ID,
ATTR_MAX
};
char *val;
};
+#define PAIR_CLASS_INIT(p, v) \
+ do { (p)->key = ATTR_CLASS; \
+ (p)->val = (v); } while (/* CONSTCOND */ 0)
+#define PAIR_HREF_INIT(p, v) \
+ do { (p)->key = ATTR_HREF; \
+ (p)->val = (v); } while (/* CONSTCOND */ 0)
+#define PAIR_STYLE_INIT(p, h) \
+ do { (p)->key = ATTR_STYLE; \
+ (p)->val = (h)->buf; } while (/* CONSTCOND */ 0)
+
struct html {
int flags;
#define HTML_NOSPACE (1 << 0)
#define HTML_NEWLINE (1 << 1)
+#define HTML_IGNDELIM (1 << 2)
struct tagq tags;
struct ordq ords;
void *symtab;
char *base;
+ char *base_man;
+ char *base_includes;
char *style;
+ char buf[BUFSIZ];
+ size_t buflen;
};
+struct roffsu;
+
void print_gen_doctype(struct html *);
void print_gen_head(struct html *);
struct tag *print_otag(struct html *, enum htmltag,
void print_stagq(struct html *, const struct tag *);
void print_text(struct html *, const char *);
+void bufcat_su(struct html *, const char *,
+ const struct roffsu *);
+void buffmt_man(struct html *,
+ const char *, const char *);
+void buffmt_includes(struct html *, const char *);
+void buffmt(struct html *, const char *, ...);
+void bufcat(struct html *, const char *);
+void bufcat_style(struct html *,
+ const char *, const char *);
+void bufncat(struct html *, const char *, size_t);
+void bufinit(struct html *);
+
__END_DECLS
#endif /*!HTML_H*/