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

Diff for /mandoc/mdoc_html.c between version 1.258 and 1.264

version 1.258, 2017/01/20 23:51:00 version 1.264, 2017/01/29 14:02:42
Line 349  print_mdoc_node(MDOC_ARGS)
Line 349  print_mdoc_node(MDOC_ARGS)
                 return;                  return;
   
         child = 1;          child = 1;
         t = h->tags.head;          t = h->tag;
         n->flags &= ~NODE_ENDED;          n->flags &= ~NODE_ENDED;
   
         switch (n->type) {          switch (n->type) {
Line 389  print_mdoc_node(MDOC_ARGS)
Line 389  print_mdoc_node(MDOC_ARGS)
                  */                   */
                 if (h->tblt != NULL) {                  if (h->tblt != NULL) {
                         print_tblclose(h);                          print_tblclose(h);
                         t = h->tags.head;                          t = h->tag;
                 }                  }
                 assert(h->tblt == NULL);                  assert(h->tblt == NULL);
                 if (mdocs[n->tok].pre && (n->end == ENDBODY_NOT || n->child))                  if (mdocs[n->tok].pre && (n->end == ENDBODY_NOT || n->child))
Line 507  mdoc_sh_pre(MDOC_ARGS)
Line 507  mdoc_sh_pre(MDOC_ARGS)
         char    *id;          char    *id;
   
         switch (n->type) {          switch (n->type) {
         case ROFFT_BLOCK:          case ROFFT_HEAD:
                 return 1;                  id = make_id(n);
                   print_otag(h, TAG_H1, "ci", "Sh", id);
                   free(id);
                   break;
         case ROFFT_BODY:          case ROFFT_BODY:
                 if (n->sec == SEC_AUTHORS)                  if (n->sec == SEC_AUTHORS)
                         h->flags &= ~(HTML_SPLIT|HTML_NOSPLIT);                          h->flags &= ~(HTML_SPLIT|HTML_NOSPLIT);
                 return 1;                  break;
         default:          default:
                 break;                  break;
         }          }
   
         if ((id = make_id(n)) != NULL) {  
                 print_otag(h, TAG_H1, "ci", "Sh", id);  
                 free(id);  
         } else  
                 print_otag(h, TAG_H1, "c", "Sh");  
   
         return 1;          return 1;
 }  }
   
Line 534  mdoc_ss_pre(MDOC_ARGS)
Line 530  mdoc_ss_pre(MDOC_ARGS)
         if (n->type != ROFFT_HEAD)          if (n->type != ROFFT_HEAD)
                 return 1;                  return 1;
   
         if ((id = make_id(n)) != NULL) {          id = make_id(n);
                 print_otag(h, TAG_H2, "ci", "Ss", id);          print_otag(h, TAG_H2, "ci", "Ss", id);
                 free(id);          free(id);
         } else  
                 print_otag(h, TAG_H2, "c", "Ss");  
   
         return 1;          return 1;
 }  }
   
Line 574  mdoc_nd_pre(MDOC_ARGS)
Line 567  mdoc_nd_pre(MDOC_ARGS)
         /* XXX: this tag in theory can contain block elements. */          /* XXX: this tag in theory can contain block elements. */
   
         print_text(h, "\\(em");          print_text(h, "\\(em");
         print_otag(h, TAG_SPAN, "c", "desc");          print_otag(h, TAG_SPAN, "c", "Nd");
         return 1;          return 1;
 }  }
   
Line 663  mdoc_ar_pre(MDOC_ARGS)
Line 656  mdoc_ar_pre(MDOC_ARGS)
 static int  static int
 mdoc_xx_pre(MDOC_ARGS)  mdoc_xx_pre(MDOC_ARGS)
 {  {
         print_otag(h, TAG_SPAN, "c", "unix");          print_otag(h, TAG_SPAN, "c", "Ux");
         return 1;          return 1;
 }  }
   
Line 671  static int
Line 664  static int
 mdoc_it_pre(MDOC_ARGS)  mdoc_it_pre(MDOC_ARGS)
 {  {
         const struct roff_node  *bl;          const struct roff_node  *bl;
           struct tag              *t;
         const char              *cattr;          const char              *cattr;
         enum mdoc_list           type;          enum mdoc_list           type;
   
Line 725  mdoc_it_pre(MDOC_ARGS)
Line 719  mdoc_it_pre(MDOC_ARGS)
                 case ROFFT_HEAD:                  case ROFFT_HEAD:
                         return 0;                          return 0;
                 case ROFFT_BODY:                  case ROFFT_BODY:
                         print_otag(h, TAG_LI, "csvt", cattr,                          if (bl->norm->Bl.comp)
                             !bl->norm->Bl.comp);                                  print_otag(h, TAG_LI, "csvt", cattr, 0);
                           else
                                   print_otag(h, TAG_LI, "c", cattr);
                         break;                          break;
                 default:                  default:
                         break;                          break;
Line 736  mdoc_it_pre(MDOC_ARGS)
Line 732  mdoc_it_pre(MDOC_ARGS)
         case LIST_hang:          case LIST_hang:
         case LIST_inset:          case LIST_inset:
         case LIST_ohang:          case LIST_ohang:
         case LIST_tag:  
                 switch (n->type) {                  switch (n->type) {
                 case ROFFT_HEAD:                  case ROFFT_HEAD:
                         print_otag(h, TAG_DT, "csvt", cattr,                          if (bl->norm->Bl.comp)
                             !bl->norm->Bl.comp);                                  print_otag(h, TAG_DT, "csvt", cattr, 0);
                           else
                                   print_otag(h, TAG_DT, "c", cattr);
                         if (type == LIST_diag)                          if (type == LIST_diag)
                                 print_otag(h, TAG_B, "c", cattr);                                  print_otag(h, TAG_B, "c", cattr);
                         break;                          break;
                 case ROFFT_BODY:                  case ROFFT_BODY:
                         if (bl->norm->Bl.width == NULL)                          print_otag(h, TAG_DD, "cswl", cattr,
                               bl->norm->Bl.width);
                           break;
                   default:
                           break;
                   }
                   break;
           case LIST_tag:
                   switch (n->type) {
                   case ROFFT_HEAD:
                           if (h->style != NULL && !bl->norm->Bl.comp &&
                               (n->parent->prev == NULL ||
                                n->parent->prev->body->child != NULL)) {
                                   t = print_otag(h, TAG_DT, "csWl",
                                       cattr, bl->norm->Bl.width);
                                   print_text(h, "\\ ");
                                   print_tagq(h, t);
                                   t = print_otag(h, TAG_DD, "c", cattr);
                                   print_text(h, "\\ ");
                                   print_tagq(h, t);
                           }
                           print_otag(h, TAG_DT, "csWl", cattr,
                               bl->norm->Bl.width);
                           break;
                   case ROFFT_BODY:
                           if (n->child == NULL) {
                                   print_otag(h, TAG_DD, "css?", cattr,
                                       "width", "auto");
                                   print_text(h, "\\ ");
                           } else
                                 print_otag(h, TAG_DD, "c", cattr);                                  print_otag(h, TAG_DD, "c", cattr);
                         else  
                                 print_otag(h, TAG_DD, "cswl", cattr,  
                                     bl->norm->Bl.width);  
                         break;                          break;
                 default:                  default:
                         break;                          break;
Line 760  mdoc_it_pre(MDOC_ARGS)
Line 783  mdoc_it_pre(MDOC_ARGS)
                 case ROFFT_HEAD:                  case ROFFT_HEAD:
                         break;                          break;
                 case ROFFT_BODY:                  case ROFFT_BODY:
                         print_otag(h, TAG_TD, "csvt", cattr,                          if (bl->norm->Bl.comp)
                             !bl->norm->Bl.comp);                                  print_otag(h, TAG_TD, "csvt", cattr, 0);
                           else
                                   print_otag(h, TAG_TD, "c", cattr);
                         break;                          break;
                 default:                  default:
                         print_otag(h, TAG_TR, "c", cattr);                          print_otag(h, TAG_TR, "c", cattr);
Line 776  mdoc_it_pre(MDOC_ARGS)
Line 801  mdoc_it_pre(MDOC_ARGS)
 static int  static int
 mdoc_bl_pre(MDOC_ARGS)  mdoc_bl_pre(MDOC_ARGS)
 {  {
           struct mdoc_bl  *bl;
         const char      *cattr;          const char      *cattr;
         int              i;          size_t           i;
         enum htmltag     elemtype;          enum htmltag     elemtype;
   
           bl = &n->norm->Bl;
   
         if (n->type == ROFFT_BODY) {          if (n->type == ROFFT_BODY) {
                 if (LIST_column == n->norm->Bl.type)                  if (bl->type == LIST_column)
                         print_otag(h, TAG_TBODY, "");                          print_otag(h, TAG_TBODY, "");
                 return 1;                  return 1;
         }          }
   
         if (n->type == ROFFT_HEAD) {          if (n->type == ROFFT_HEAD) {
                 if (LIST_column != n->norm->Bl.type)                  if (bl->type != LIST_column || bl->ncols == 0)
                         return 0;                          return 0;
   
                 /*                  /*
Line 797  mdoc_bl_pre(MDOC_ARGS)
Line 825  mdoc_bl_pre(MDOC_ARGS)
                  * screen and we want to preserve that behaviour.                   * screen and we want to preserve that behaviour.
                  */                   */
   
                 for (i = 0; i < (int)n->norm->Bl.ncols - 1; i++)                  for (i = 0; i < bl->ncols - 1; i++)
                         print_otag(h, TAG_COL, "sww", n->norm->Bl.cols[i]);                          print_otag(h, TAG_COL, "sww", bl->cols[i]);
                 print_otag(h, TAG_COL, "swW", n->norm->Bl.cols[i]);                  print_otag(h, TAG_COL, "swW", bl->cols[i]);
   
                 return 0;                  return 0;
         }          }
   
         switch (n->norm->Bl.type) {          switch (bl->type) {
         case LIST_bullet:          case LIST_bullet:
                 elemtype = TAG_UL;                  elemtype = TAG_UL;
                 cattr = "Bl-bullet";                  cattr = "Bl-bullet";
Line 839  mdoc_bl_pre(MDOC_ARGS)
Line 866  mdoc_bl_pre(MDOC_ARGS)
                 cattr = "Bl-ohang";                  cattr = "Bl-ohang";
                 break;                  break;
         case LIST_tag:          case LIST_tag:
                 elemtype = TAG_DL;  
                 cattr = "Bl-tag";                  cattr = "Bl-tag";
                 break;                  if (bl->offs)
                           print_otag(h, TAG_DIV, "cswl", cattr, bl->offs);
                   print_otag(h, TAG_DL, "cswl", cattr, bl->width);
                   return 1;
         case LIST_column:          case LIST_column:
                 elemtype = TAG_TABLE;                  elemtype = TAG_TABLE;
                 cattr = "Bl-column";                  cattr = "Bl-column";
Line 849  mdoc_bl_pre(MDOC_ARGS)
Line 878  mdoc_bl_pre(MDOC_ARGS)
         default:          default:
                 abort();                  abort();
         }          }
           print_otag(h, elemtype, "cswl", cattr, bl->offs);
         if (n->norm->Bl.offs)  
                 print_otag(h, elemtype, "csvtvbwl", cattr, 0, 0,  
                     n->norm->Bl.offs);  
         else  
                 print_otag(h, elemtype, "csvtvb", cattr, 0, 0);  
   
         return 1;          return 1;
 }  }
   
Line 870  mdoc_ex_pre(MDOC_ARGS)
Line 893  mdoc_ex_pre(MDOC_ARGS)
 static int  static int
 mdoc_em_pre(MDOC_ARGS)  mdoc_em_pre(MDOC_ARGS)
 {  {
         print_otag(h, TAG_SPAN, "c", "emph");          print_otag(h, TAG_I, "c", "Em");
         return 1;          return 1;
 }  }
   
Line 893  mdoc_sx_pre(MDOC_ARGS)
Line 916  mdoc_sx_pre(MDOC_ARGS)
 {  {
         char    *id;          char    *id;
   
         if ((id = make_id(n)) != NULL) {          id = make_id(n);
                 print_otag(h, TAG_A, "chR", "Sx", id);          print_otag(h, TAG_A, "chR", "Sx", id);
                 free(id);          free(id);
         } else  
                 print_otag(h, TAG_A, "c", "Sx");  
   
         return 1;          return 1;
 }  }
   
Line 1439  mdoc_bf_pre(MDOC_ARGS)
Line 1459  mdoc_bf_pre(MDOC_ARGS)
                 return 1;                  return 1;
   
         if (FONT_Em == n->norm->Bf.font)          if (FONT_Em == n->norm->Bf.font)
                 cattr = "emph";                  cattr = "Em";
         else if (FONT_Sy == n->norm->Bf.font)          else if (FONT_Sy == n->norm->Bf.font)
                 cattr = "symb";                  cattr = "Sy";
         else if (FONT_Li == n->norm->Bf.font)          else if (FONT_Li == n->norm->Bf.font)
                 cattr = "Li";                  cattr = "Li";
         else          else
Line 1495  mdoc_rs_pre(MDOC_ARGS)
Line 1515  mdoc_rs_pre(MDOC_ARGS)
 static int  static int
 mdoc_no_pre(MDOC_ARGS)  mdoc_no_pre(MDOC_ARGS)
 {  {
         print_otag(h, TAG_SPAN, "c", "none");          print_otag(h, TAG_SPAN, "c", "No");
         return 1;          return 1;
 }  }
   
Line 1509  mdoc_li_pre(MDOC_ARGS)
Line 1529  mdoc_li_pre(MDOC_ARGS)
 static int  static int
 mdoc_sy_pre(MDOC_ARGS)  mdoc_sy_pre(MDOC_ARGS)
 {  {
         print_otag(h, TAG_SPAN, "c", "symb");          print_otag(h, TAG_B, "c", "Sy");
         return 1;          return 1;
 }  }
   

Legend:
Removed from v.1.258  
changed lines
  Added in v.1.264

CVSweb