[BACK]Return to html.h CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/html.h between version 1.67 and 1.78

version 1.67, 2014/10/28 17:36:19 version 1.78, 2017/01/19 16:59:30
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above   * purpose with or without fee is hereby granted, provided that the above
Line 14 
Line 15 
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */   */
 #ifndef HTML_H  
 #define HTML_H  
   
 __BEGIN_DECLS  
   
 enum    htmltag {  enum    htmltag {
         TAG_HTML,          TAG_HTML,
         TAG_HEAD,          TAG_HEAD,
Line 43  enum htmltag {
Line 40  enum htmltag {
         TAG_DL,          TAG_DL,
         TAG_DT,          TAG_DT,
         TAG_DD,          TAG_DD,
         TAG_BLOCKQUOTE,  
         TAG_PRE,          TAG_PRE,
         TAG_B,          TAG_B,
         TAG_I,          TAG_I,
Line 69  enum htmltag {
Line 65  enum htmltag {
         TAG_MAX          TAG_MAX
 };  };
   
 enum    htmlattr {  
         ATTR_NAME,  
         ATTR_REL,  
         ATTR_HREF,  
         ATTR_TYPE,  
         ATTR_MEDIA,  
         ATTR_CLASS,  
         ATTR_STYLE,  
         ATTR_ID,  
         ATTR_COLSPAN,  
         ATTR_CHARSET,  
         ATTR_OPEN,  
         ATTR_CLOSE,  
         ATTR_MATHVARIANT,  
         ATTR_MAX  
 };  
   
 enum    htmlfont {  enum    htmlfont {
         HTMLFONT_NONE = 0,          HTMLFONT_NONE = 0,
         HTMLFONT_BOLD,          HTMLFONT_BOLD,
Line 103  struct tagq {
Line 82  struct tagq {
         struct tag       *head;          struct tag       *head;
 };  };
   
 struct  htmlpair {  
         enum htmlattr     key;  
         const char       *val;  
 };  
   
 #define PAIR_INIT(p, t, v) \  
         do { \  
                 (p)->key = (t); \  
                 (p)->val = (v); \  
         } while (/* CONSTCOND */ 0)  
   
 #define PAIR_ID_INIT(p, v)      PAIR_INIT(p, ATTR_ID, v)  
 #define PAIR_CLASS_INIT(p, v)   PAIR_INIT(p, ATTR_CLASS, v)  
 #define PAIR_HREF_INIT(p, v)    PAIR_INIT(p, ATTR_HREF, v)  
 #define PAIR_STYLE_INIT(p, h)   PAIR_INIT(p, ATTR_STYLE, (h)->buf)  
   
 struct  html {  struct  html {
         int               flags;          int               flags;
 #define HTML_NOSPACE     (1 << 0) /* suppress next space */  #define HTML_NOSPACE     (1 << 0) /* suppress next space */
Line 130  struct html {
Line 93  struct html {
 #define HTML_SKIPCHAR    (1 << 6) /* skip the next character */  #define HTML_SKIPCHAR    (1 << 6) /* skip the next character */
 #define HTML_NOSPLIT     (1 << 7) /* do not break line before .An */  #define HTML_NOSPLIT     (1 << 7) /* do not break line before .An */
 #define HTML_SPLIT       (1 << 8) /* break line before .An */  #define HTML_SPLIT       (1 << 8) /* break line before .An */
   #define HTML_NONEWLINE   (1 << 9) /* No line break in nofill mode. */
   #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 tagq       tags; /* stack of open tags */          struct tagq       tags; /* stack of open tags */
         struct rofftbl    tbl; /* current table */          struct rofftbl    tbl; /* current table */
         struct tag       *tblt; /* current open table scope */          struct tag       *tblt; /* current open table scope */
         const struct mchars *symtab; /* character table */  
         char             *base_man; /* base for manpage href */          char             *base_man; /* base for manpage href */
         char             *base_includes; /* base for include href */          char             *base_includes; /* base for include href */
         char             *style; /* style-sheet URI */          char             *style; /* style-sheet URI */
         char              buf[BUFSIZ]; /* see bufcat and friends */  
         size_t            buflen;  
         struct tag       *metaf; /* current open font scope */          struct tag       *metaf; /* current open font scope */
         enum htmlfont     metal; /* last used font */          enum htmlfont     metal; /* last used font */
         enum htmlfont     metac; /* current font mode */          enum htmlfont     metac; /* current font mode */
Line 146  struct html {
Line 113  struct html {
 #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */  #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */
 };  };
   
   
   struct  tbl_span;
   struct  eqn;
   
 void              print_gen_decls(struct html *);  void              print_gen_decls(struct html *);
 void              print_gen_head(struct html *);  void              print_gen_head(struct html *);
 struct tag       *print_otag(struct html *, enum htmltag,  struct tag       *print_otag(struct html *, enum htmltag, const char *, ...);
                                 int, const struct htmlpair *);  
 void              print_tagq(struct html *, const struct tag *);  void              print_tagq(struct html *, const struct tag *);
 void              print_stagq(struct html *, const struct tag *);  void              print_stagq(struct html *, const struct tag *);
 void              print_text(struct html *, const char *);  void              print_text(struct html *, const char *);
Line 158  void    print_tbl(struct html *, const struct tbl_span
Line 128  void    print_tbl(struct html *, const struct tbl_span
 void              print_eqn(struct html *, const struct eqn *);  void              print_eqn(struct html *, const struct eqn *);
 void              print_paragraph(struct html *);  void              print_paragraph(struct html *);
   
 #if __GNUC__ - 0 >= 4  
 __attribute__((__format__ (__printf__, 2, 3)))  
 #endif  
 void              bufcat_fmt(struct html *, const char *, ...);  
 void              bufcat(struct html *, const char *);  
 void              bufcat_id(struct html *, const char *);  
 void              bufcat_style(struct html *,  
                         const char *, const char *);  
 void              bufcat_su(struct html *, const char *,  
                         const struct roffsu *);  
 void              bufinit(struct html *);  
 void              buffmt_man(struct html *,  
                         const char *, const char *);  
 void              buffmt_includes(struct html *, const char *);  
   
 int               html_strlen(const char *);  int               html_strlen(const char *);
   
 __END_DECLS  
   
 #endif /*!HTML_H*/  

Legend:
Removed from v.1.67  
changed lines
  Added in v.1.78

CVSweb