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

Diff for /mandoc/html.h between version 1.81 and 1.103

version 1.81, 2017/02/05 18:15:39 version 1.103, 2019/04/30 15:53:00
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>   * Copyright (c) 2017, 2018, 2019 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 23  enum htmltag {
Line 23  enum htmltag {
         TAG_META,          TAG_META,
         TAG_TITLE,          TAG_TITLE,
         TAG_DIV,          TAG_DIV,
           TAG_IDIV,
           TAG_SECTION,
         TAG_H1,          TAG_H1,
         TAG_H2,          TAG_H2,
         TAG_SPAN,          TAG_SPAN,
Line 30  enum htmltag {
Line 32  enum htmltag {
         TAG_BR,          TAG_BR,
         TAG_A,          TAG_A,
         TAG_TABLE,          TAG_TABLE,
         TAG_COLGROUP,  
         TAG_COL,  
         TAG_TR,          TAG_TR,
         TAG_TD,          TAG_TD,
         TAG_LI,          TAG_LI,
Line 40  enum htmltag {
Line 40  enum htmltag {
         TAG_DL,          TAG_DL,
         TAG_DT,          TAG_DT,
         TAG_DD,          TAG_DD,
           TAG_P,
         TAG_PRE,          TAG_PRE,
           TAG_VAR,
           TAG_CITE,
         TAG_B,          TAG_B,
         TAG_I,          TAG_I,
         TAG_CODE,          TAG_CODE,
Line 49  enum htmltag {
Line 52  enum htmltag {
         TAG_MATH,          TAG_MATH,
         TAG_MROW,          TAG_MROW,
         TAG_MI,          TAG_MI,
           TAG_MN,
         TAG_MO,          TAG_MO,
         TAG_MSUP,          TAG_MSUP,
         TAG_MSUB,          TAG_MSUB,
Line 65  enum htmltag {
Line 69  enum htmltag {
         TAG_MAX          TAG_MAX
 };  };
   
 enum    htmlfont {  
         HTMLFONT_NONE = 0,  
         HTMLFONT_BOLD,  
         HTMLFONT_ITALIC,  
         HTMLFONT_BI,  
         HTMLFONT_MAX  
 };  
   
 struct  tag {  struct  tag {
         struct tag       *next;          struct tag       *next;
           int               refcnt;
           int               closed;
         enum htmltag      tag;          enum htmltag      tag;
 };  };
   
Line 85  struct html {
Line 83  struct html {
 #define HTML_KEEP        (1 << 2)  #define HTML_KEEP        (1 << 2)
 #define HTML_PREKEEP     (1 << 3)  #define HTML_PREKEEP     (1 << 3)
 #define HTML_NONOSPACE   (1 << 4) /* never add spaces */  #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_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_NONEWLINE   (1 << 9) /* No line break in nofill mode. */
 #define HTML_BUFFER      (1 << 10) /* Collect a word to see if it fits. */  #define HTML_BUFFER      (1 << 10) /* Collect a word to see if it fits. */
   #define HTML_TOCDONE     (1 << 11) /* The TOC was already written. */
         size_t            indent; /* current output indentation level */          size_t            indent; /* current output indentation level */
         int               noindent; /* indent disabled by <pre> */          int               noindent; /* indent disabled by <pre> */
         size_t            col; /* current output byte position */          size_t            col; /* current output byte position */
Line 99  struct html {
Line 97  struct html {
         struct tag       *tag; /* last open tag */          struct tag       *tag; /* last open tag */
         struct rofftbl    tbl; /* current table */          struct rofftbl    tbl; /* current table */
         struct tag       *tblt; /* current open table scope */          struct tag       *tblt; /* current open table scope */
         char             *base_man; /* base for manpage href */          char             *base_man1; /* bases for manpage href */
           char             *base_man2;
         char             *base_includes; /* base for include href */          char             *base_includes; /* base for include href */
         char             *style; /* style-sheet URI */          char             *style; /* style-sheet URI */
         struct tag       *metaf; /* current open font scope */          struct tag       *metaf; /* current open font scope */
         enum htmlfont     metal; /* last used font */          enum mandoc_esc   metal; /* last used font */
         enum htmlfont     metac; /* current font mode */          enum mandoc_esc   metac; /* current font mode */
         int               oflags; /* output options */          int               oflags; /* output options */
 #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */  #define HTML_FRAGMENT    (1 << 0) /* don't emit HTML/HEAD/BODY */
   #define HTML_TOC         (1 << 1) /* emit a table of contents */
 };  };
   
   
   struct  roff_node;
 struct  tbl_span;  struct  tbl_span;
 struct  eqn;  struct  eqn_box;
   
   void              roff_html_pre(struct html *, const struct roff_node *);
   
   void              print_gen_comment(struct html *, struct roff_node *);
 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, const char *, ...);  struct tag       *print_otag(struct html *, enum htmltag, const char *, ...);
Line 121  void    print_stagq(struct html *, const struct tag *)
Line 125  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_tblclose(struct html *);
 void              print_tbl(struct html *, const struct tbl_span *);  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_box *);
 void              print_paragraph(struct html *);  
 void              print_endline(struct html *);  void              print_endline(struct html *);
   
 int               html_strlen(const char *);  void              html_close_paragraph(struct html *);
   enum roff_tok     html_fillmode(struct html *, enum roff_tok);
   char             *html_make_id(const struct roff_node *, int);
   int               html_setfont(struct html *, enum mandoc_esc);

Legend:
Removed from v.1.81  
changed lines
  Added in v.1.103

CVSweb