[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.90

version 1.11, 2009/10/04 09:02:40 version 1.90, 2018/05/25 20:23:51
Line 1 
Line 1 
 /*      $Id$ */  /*      $Id$ */
 /*  /*
  * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se>   * Copyright (c) 2008-2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
    * Copyright (c) 2017, 2018 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 26  enum htmltag {
Line 23  enum htmltag {
         TAG_META,          TAG_META,
         TAG_TITLE,          TAG_TITLE,
         TAG_DIV,          TAG_DIV,
           TAG_IDIV,
         TAG_H1,          TAG_H1,
         TAG_H2,          TAG_H2,
         TAG_P,  
         TAG_SPAN,          TAG_SPAN,
         TAG_LINK,          TAG_LINK,
         TAG_BR,          TAG_BR,
         TAG_A,          TAG_A,
         TAG_TABLE,          TAG_TABLE,
           TAG_COLGROUP,
         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_BASE,          TAG_DL,
           TAG_DT,
           TAG_DD,
           TAG_PRE,
           TAG_VAR,
           TAG_CITE,
           TAG_B,
           TAG_I,
           TAG_CODE,
           TAG_SMALL,
           TAG_STYLE,
           TAG_MATH,
           TAG_MROW,
           TAG_MI,
           TAG_MN,
           TAG_MO,
           TAG_MSUP,
           TAG_MSUB,
           TAG_MSUBSUP,
           TAG_MFRAC,
           TAG_MSQRT,
           TAG_MFENCED,
           TAG_MTABLE,
           TAG_MTR,
           TAG_MTD,
           TAG_MUNDEROVER,
           TAG_MUNDER,
           TAG_MOVER,
         TAG_MAX          TAG_MAX
 };  };
   
 enum    htmlattr {  enum    htmlfont {
         ATTR_HTTPEQUIV,          HTMLFONT_NONE = 0,
         ATTR_CONTENT,          HTMLFONT_BOLD,
         ATTR_NAME,          HTMLFONT_ITALIC,
         ATTR_REL,          HTMLFONT_BI,
         ATTR_HREF,          HTMLFONT_MAX
         ATTR_TYPE,  
         ATTR_MEDIA,  
         ATTR_CLASS,  
         ATTR_STYLE,  
         ATTR_WIDTH,  
         ATTR_VALIGN,  
         ATTR_TARGET,  
         ATTR_ID,  
         ATTR_MAX  
 };  };
   
 struct  tag {  struct  tag {
           struct tag       *next;
         enum htmltag      tag;          enum htmltag      tag;
         SLIST_ENTRY(tag)  entry;  
 };  };
   
 struct  ord {  struct  html {
         int               pos;          int               flags;
         const void       *cookie;  #define HTML_NOSPACE     (1 << 0) /* suppress next space */
         SLIST_ENTRY(ord)  entry;  #define HTML_IGNDELIM    (1 << 1)
   #define HTML_KEEP        (1 << 2)
   #define HTML_PREKEEP     (1 << 3)
   #define HTML_NONOSPACE   (1 << 4) /* never add spaces */
   #define HTML_LITERAL     (1 << 5) /* literal (e.g., <PRE>) context */
   #define HTML_SKIPCHAR    (1 << 6) /* skip the next character */
   #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. */
   #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 */
           char             *base_includes; /* base for include href */
           char             *style; /* style-sheet URI */
           struct tag       *metaf; /* current open font scope */
           enum htmlfont     metal; /* last used font */
           enum htmlfont     metac; /* current font mode */
           int               oflags; /* output options */
   #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */
 };  };
   
 SLIST_HEAD(tagq, tag);  
 SLIST_HEAD(ordq, ord);  
   
 struct  htmlpair {  struct  roff_node;
         enum htmlattr     key;  struct  tbl_span;
         char             *val;  struct  eqn_box;
 };  
   
 struct  html {  void              roff_html_pre(struct html *, const struct roff_node *);
         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;  
 };  
   
 void              print_gen_doctype(struct html *);  void              print_gen_comment(struct html *, struct roff_node *);
   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 *);
   void              print_tblclose(struct html *);
   void              print_tbl(struct html *, const struct tbl_span *);
   void              print_eqn(struct html *, const struct eqn_box *);
   void              print_paragraph(struct html *);
   void              print_endline(struct html *);
   
 void              buffmt_man(struct html *, const char *, const char *);  char             *html_make_id(const struct roff_node *, int);
 void              buffmt_includes(struct html *, const char *);  int               html_strlen(const char *);
 void              buffmt(struct html *, const char *, ...);  
 void              bufcat(struct html *, const char *);  
 void              bufncat(struct html *, const char *, size_t);  
 void              bufinit(struct html *);  
   
 __END_DECLS  
   
 #endif /*!HTML_H*/  

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

CVSweb