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

Diff for /mandoc/html.h between version 1.11 and 1.24

version 1.11, 2009/10/04 09:02:40 version 1.24, 2010/06/19 20:46:27
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>   * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * 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 28  enum htmltag {
Line 28  enum htmltag {
         TAG_DIV,          TAG_DIV,
         TAG_H1,          TAG_H1,
         TAG_H2,          TAG_H2,
         TAG_P,  
         TAG_SPAN,          TAG_SPAN,
         TAG_LINK,          TAG_LINK,
         TAG_BR,          TAG_BR,
Line 40  enum htmltag {
Line 39  enum htmltag {
         TAG_LI,          TAG_LI,
         TAG_UL,          TAG_UL,
         TAG_OL,          TAG_OL,
         TAG_BASE,  
         TAG_MAX          TAG_MAX
 };  };
   
Line 58  enum htmlattr {
Line 56  enum htmlattr {
         ATTR_VALIGN,          ATTR_VALIGN,
         ATTR_TARGET,          ATTR_TARGET,
         ATTR_ID,          ATTR_ID,
           ATTR_SUMMARY,
         ATTR_MAX          ATTR_MAX
 };  };
   
   enum    htmlfont {
           HTMLFONT_NONE = 0,
           HTMLFONT_BOLD,
           HTMLFONT_ITALIC,
           HTMLFONT_MAX
   };
   
 struct  tag {  struct  tag {
           struct tag       *next;
         enum htmltag      tag;          enum htmltag      tag;
         SLIST_ENTRY(tag)  entry;  
 };  };
   
 struct  ord {  struct  ord {
         int               pos;          struct ord       *next;
         const void       *cookie;          const void       *cookie;
         SLIST_ENTRY(ord)  entry;          int               pos;
 };  };
   
 SLIST_HEAD(tagq, tag);  struct tagq {
 SLIST_HEAD(ordq, ord);          struct tag       *head;
   };
   struct ordq {
           struct ord       *head;
   };
   
 struct  htmlpair {  struct  htmlpair {
         enum htmlattr     key;          enum htmlattr     key;
         char             *val;          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)
   #define PAIR_SUMMARY_INIT(p, v) PAIR_INIT(p, ATTR_SUMMARY, v)
   
   enum    htmltype {
           HTML_HTML_4_01_STRICT,
           HTML_XHTML_1_0_STRICT
   };
   
 struct  html {  struct  html {
         int               flags;          int               flags;
 #define HTML_NOSPACE     (1 << 0)  #define HTML_NOSPACE     (1 << 0)
 #define HTML_NEWLINE     (1 << 1)  
 #define HTML_IGNDELIM    (1 << 2)  #define HTML_IGNDELIM    (1 << 2)
         struct tagq       tags;          struct tagq       tags;
         struct ordq       ords;          struct ordq       ords;
Line 94  struct html {
Line 120  struct html {
         char             *style;          char             *style;
         char              buf[BUFSIZ];          char              buf[BUFSIZ];
         size_t            buflen;          size_t            buflen;
           struct tag       *metaf;
           enum htmlfont     metal;
           enum htmlfont     metac;
           enum htmltype     type;
 };  };
   
 void              print_gen_doctype(struct html *);  struct  roffsu;
   
   void              print_gen_decls(struct html *);
 void              print_gen_head(struct html *);  void              print_gen_head(struct html *);
   struct tag       *print_ofont(struct html *, enum htmlfont);
 struct tag       *print_otag(struct html *, enum htmltag,  struct tag       *print_otag(struct html *, enum htmltag,
                                 int, const struct htmlpair *);                                  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 *);
   
 void              buffmt_man(struct html *, const char *, 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_includes(struct html *, const char *);
 void              buffmt(struct html *, const char *, ...);  void              buffmt(struct html *, const char *, ...);
 void              bufcat(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              bufncat(struct html *, const char *, size_t);
 void              bufinit(struct html *);  void              bufinit(struct html *);
   
   void              html_idcat(char *, const char *, int);
   
 __END_DECLS  __END_DECLS
   

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.24

CVSweb