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

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

version 1.24, 2010/06/19 20:46:27 version 1.54, 2014/09/17 19:55:59
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008, 2009, 2010, 2011 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 33  enum htmltag {
Line 33  enum htmltag {
         TAG_BR,          TAG_BR,
         TAG_A,          TAG_A,
         TAG_TABLE,          TAG_TABLE,
           TAG_TBODY,
         TAG_COL,          TAG_COL,
         TAG_TR,          TAG_TR,
         TAG_TD,          TAG_TD,
         TAG_LI,          TAG_LI,
         TAG_UL,          TAG_UL,
         TAG_OL,          TAG_OL,
           TAG_DL,
           TAG_DT,
           TAG_DD,
           TAG_BLOCKQUOTE,
           TAG_P,
           TAG_PRE,
           TAG_B,
           TAG_I,
           TAG_CODE,
           TAG_SMALL,
         TAG_MAX          TAG_MAX
 };  };
   
Line 53  enum htmlattr {
Line 64  enum htmlattr {
         ATTR_CLASS,          ATTR_CLASS,
         ATTR_STYLE,          ATTR_STYLE,
         ATTR_WIDTH,          ATTR_WIDTH,
         ATTR_VALIGN,  
         ATTR_TARGET,  
         ATTR_ID,          ATTR_ID,
         ATTR_SUMMARY,          ATTR_SUMMARY,
           ATTR_ALIGN,
           ATTR_COLSPAN,
         ATTR_MAX          ATTR_MAX
 };  };
   
Line 64  enum htmlfont {
Line 75  enum htmlfont {
         HTMLFONT_NONE = 0,          HTMLFONT_NONE = 0,
         HTMLFONT_BOLD,          HTMLFONT_BOLD,
         HTMLFONT_ITALIC,          HTMLFONT_ITALIC,
           HTMLFONT_BI,
         HTMLFONT_MAX          HTMLFONT_MAX
 };  };
   
Line 72  struct tag {
Line 84  struct tag {
         enum htmltag      tag;          enum htmltag      tag;
 };  };
   
 struct  ord {  
         struct ord       *next;  
         const void       *cookie;  
         int               pos;  
 };  
   
 struct tagq {  struct tagq {
         struct tag       *head;          struct tag       *head;
 };  };
 struct ordq {  
         struct ord       *head;  
 };  
   
 struct  htmlpair {  struct  htmlpair {
         enum htmlattr     key;          enum htmlattr     key;
Line 109  enum htmltype {
Line 112  enum htmltype {
   
 struct  html {  struct  html {
         int               flags;          int               flags;
 #define HTML_NOSPACE     (1 << 0)  #define HTML_NOSPACE     (1 << 0) /* suppress next space */
 #define HTML_IGNDELIM    (1 << 2)  #define HTML_IGNDELIM    (1 << 1)
         struct tagq       tags;  #define HTML_KEEP        (1 << 2)
         struct ordq       ords;  #define HTML_PREKEEP     (1 << 3)
         void             *symtab;  #define HTML_NONOSPACE   (1 << 4) /* never add spaces */
         char             *base;  #define HTML_LITERAL     (1 << 5) /* literal (e.g., <PRE>) context */
         char             *base_man;  #define HTML_SKIPCHAR    (1 << 6) /* skip the next character */
         char             *base_includes;  #define HTML_NOSPLIT     (1 << 7) /* do not break line before .An */
         char             *style;  #define HTML_SPLIT       (1 << 8) /* break line before .An */
         char              buf[BUFSIZ];          struct tagq       tags; /* stack of open tags */
           struct rofftbl    tbl; /* current table */
           struct tag       *tblt; /* current open table scope */
           struct mchars    *symtab; /* character-escapes */
           char             *base_man; /* base for manpage href */
           char             *base_includes; /* base for include href */
           char             *style; /* style-sheet URI */
           char              buf[BUFSIZ]; /* see bufcat and friends */
         size_t            buflen;          size_t            buflen;
         struct tag       *metaf;          struct tag       *metaf; /* current open font scope */
         enum htmlfont     metal;          enum htmlfont     metal; /* last used font */
         enum htmlfont     metac;          enum htmlfont     metac; /* current font mode */
         enum htmltype     type;          enum htmltype     type; /* output media type */
           int               oflags; /* output options */
   #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */
 };  };
   
 struct  roffsu;  
   
 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_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              print_tblclose(struct html *);
   void              print_tbl(struct html *, const struct tbl_span *);
   void              print_eqn(struct html *, const struct eqn *);
   
 void              bufcat_su(struct html *, const char *,  #if __GNUC__ - 0 >= 4
                         const struct roffsu *);  __attribute__((__format__ (__printf__, 2, 3)))
 void              buffmt_man(struct html *,  #endif
                         const char *, const char *);  void              bufcat_fmt(struct html *, const char *, ...);
 void              buffmt_includes(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 *,  void              bufcat_id(struct html *, const char *);
   void              bufcat_style(struct html *,
                         const char *, const char *);                          const char *, const char *);
 void              bufncat(struct html *, const char *, size_t);  void              bufcat_su(struct html *, const char *,
                           const struct roffsu *);
 void              bufinit(struct html *);  void              bufinit(struct html *);
   void              buffmt_man(struct html *,
                           const char *, const char *);
   void              buffmt_includes(struct html *, const char *);
   
 void              html_idcat(char *, const char *, int);  int               html_strlen(const char *);
   
 __END_DECLS  __END_DECLS
   

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

CVSweb