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

Diff for /mandoc/man_html.c between version 1.70 and 1.74

version 1.70, 2011/03/07 01:35:51 version 1.74, 2011/06/18 20:34:08
Line 53  struct htmlman {
Line 53  struct htmlman {
         int             (*post)(MAN_ARGS);          int             (*post)(MAN_ARGS);
 };  };
   
   static  void              print_bvspace(struct html *,
                                   const struct man_node *);
 static  void              print_man(MAN_ARGS);  static  void              print_man(MAN_ARGS);
 static  void              print_man_head(MAN_ARGS);  static  void              print_man_head(MAN_ARGS);
 static  void              print_man_nodelist(MAN_ARGS);  static  void              print_man_nodelist(MAN_ARGS);
Line 114  static const struct htmlman mans[MAN_MAX] = {
Line 116  static const struct htmlman mans[MAN_MAX] = {
         { man_ign_pre, NULL }, /* ft */          { man_ign_pre, NULL }, /* ft */
 };  };
   
   /*
    * Printing leading vertical space before a block.
    * This is used for the paragraph macros.
    * The rules are pretty simple, since there's very little nesting going
    * on here.  Basically, if we're the first within another block (SS/SH),
    * then don't emit vertical space.  If we are (RS), then do.  If not the
    * first, print it.
    */
   static void
   print_bvspace(struct html *h, const struct man_node *n)
   {
   
           if (n->body && n->body->child)
                   if (MAN_TBL == n->body->child->type)
                           return;
   
           if (MAN_ROOT == n->parent->type || MAN_RS != n->parent->tok)
                   if (NULL == n->prev)
                           return;
   
           print_otag(h, TAG_P, 0, NULL);
   }
   
 void  void
 html_man(void *arg, const struct man *m)  html_man(void *arg, const struct man *m)
 {  {
Line 135  html_man(void *arg, const struct man *m)
Line 159  html_man(void *arg, const struct man *m)
         printf("\n");          printf("\n");
 }  }
   
   
 static void  static void
 print_man(MAN_ARGS)  print_man(MAN_ARGS)
 {  {
Line 157  print_man_head(MAN_ARGS)
Line 180  print_man_head(MAN_ARGS)
 {  {
   
         print_gen_head(h);          print_gen_head(h);
         bufinit(h);          bufcat_fmt(h, "%s(%s)", m->title, m->msec);
         buffmt(h, "%s(%s)", m->title, m->msec);  
   
         print_otag(h, TAG_TITLE, 0, NULL);          print_otag(h, TAG_TITLE, 0, NULL);
         print_text(h, h->buf);          print_text(h, h->buf);
 }  }
Line 184  print_man_node(MAN_ARGS)
Line 205  print_man_node(MAN_ARGS)
   
         child = 1;          child = 1;
         t = h->tags.head;          t = h->tags.head;
         bufinit(h);  
   
         switch (n->type) {          switch (n->type) {
         case (MAN_ROOT):          case (MAN_ROOT):
Line 259  print_man_node(MAN_ARGS)
Line 279  print_man_node(MAN_ARGS)
         /* This will automatically close out any font scope. */          /* This will automatically close out any font scope. */
         print_stagq(h, t);          print_stagq(h, t);
   
         bufinit(h);  
   
         switch (n->type) {          switch (n->type) {
         case (MAN_ROOT):          case (MAN_ROOT):
                 man_root_post(m, n, mh, h);                  man_root_post(m, n, mh, h);
Line 401  man_br_pre(MAN_ARGS)
Line 419  man_br_pre(MAN_ARGS)
         } else          } else
                 su.scale = 0;                  su.scale = 0;
   
           bufinit(h);
         bufcat_su(h, "height", &su);          bufcat_su(h, "height", &su);
         PAIR_STYLE_INIT(&tag, h);          PAIR_STYLE_INIT(&tag, h);
         print_otag(h, TAG_DIV, 1, &tag);          print_otag(h, TAG_DIV, 1, &tag);
Line 518  man_PP_pre(MAN_ARGS)
Line 537  man_PP_pre(MAN_ARGS)
   
         if (MAN_HEAD == n->type)          if (MAN_HEAD == n->type)
                 return(0);                  return(0);
         else if (MAN_BODY == n->type && n->prev)          else if (MAN_BLOCK == n->type)
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
   
         return(1);          return(1);
 }  }
Line 567  man_IP_pre(MAN_ARGS)
Line 586  man_IP_pre(MAN_ARGS)
         }          }
   
         if (MAN_BLOCK == n->type) {          if (MAN_BLOCK == n->type) {
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
                 print_otag(h, TAG_TABLE, 0, NULL);                  print_otag(h, TAG_TABLE, 0, NULL);
                   bufinit(h);
                 bufcat_su(h, "width", &su);                  bufcat_su(h, "width", &su);
                 PAIR_STYLE_INIT(&tag, h);                  PAIR_STYLE_INIT(&tag, h);
                 print_otag(h, TAG_COL, 1, &tag);                  print_otag(h, TAG_COL, 1, &tag);
Line 604  man_HP_pre(MAN_ARGS)
Line 624  man_HP_pre(MAN_ARGS)
         struct roffsu    su;          struct roffsu    su;
         const struct man_node *np;          const struct man_node *np;
   
           bufinit(h);
   
         np = MAN_BLOCK == n->type ?          np = MAN_BLOCK == n->type ?
                 n->head->child :                  n->head->child :
                 n->parent->head->child;                  n->parent->head->child;
Line 615  man_HP_pre(MAN_ARGS)
Line 637  man_HP_pre(MAN_ARGS)
                 print_otag(h, TAG_TD, 0, NULL);                  print_otag(h, TAG_TD, 0, NULL);
                 return(0);                  return(0);
         } else if (MAN_BLOCK == n->type) {          } else if (MAN_BLOCK == n->type) {
                 print_otag(h, TAG_P, 0, NULL);                  print_bvspace(h, n);
                 print_otag(h, TAG_TABLE, 0, NULL);                  print_otag(h, TAG_TABLE, 0, NULL);
                 bufcat_su(h, "width", &su);                  bufcat_su(h, "width", &su);
                 PAIR_STYLE_INIT(&tag, h);                  PAIR_STYLE_INIT(&tag, h);
Line 704  man_RS_pre(MAN_ARGS)
Line 726  man_RS_pre(MAN_ARGS)
         if (n->head->child)          if (n->head->child)
                 a2width(n->head->child, &su);                  a2width(n->head->child, &su);
   
           bufinit(h);
         bufcat_su(h, "margin-left", &su);          bufcat_su(h, "margin-left", &su);
         PAIR_STYLE_INIT(&tag, h);          PAIR_STYLE_INIT(&tag, h);
         print_otag(h, TAG_DIV, 1, &tag);          print_otag(h, TAG_DIV, 1, &tag);

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.74

CVSweb