[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.41 and 1.51

version 1.41, 2009/10/28 05:08:17 version 1.51, 2010/01/01 13:35:30
Line 19 
Line 19 
   
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <err.h>  
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
Line 425  print_mdoc_node(MDOC_ARGS)
Line 424  print_mdoc_node(MDOC_ARGS)
                 break;                  break;
         case (MDOC_TEXT):          case (MDOC_TEXT):
                 print_text(h, n->string);                  print_text(h, n->string);
                 break;                  return;
         default:          default:
                 if (mdocs[n->tok].pre)                  if (mdocs[n->tok].pre)
                         child = (*mdocs[n->tok].pre)(m, n, h);                          child = (*mdocs[n->tok].pre)(m, n, h);
Line 442  print_mdoc_node(MDOC_ARGS)
Line 441  print_mdoc_node(MDOC_ARGS)
         case (MDOC_ROOT):          case (MDOC_ROOT):
                 mdoc_root_post(m, n, h);                  mdoc_root_post(m, n, h);
                 break;                  break;
         case (MDOC_TEXT):  
                 break;  
         default:          default:
                 if (mdocs[n->tok].post)                  if (mdocs[n->tok].post)
                         (*mdocs[n->tok].post)(m, n, h);                          (*mdocs[n->tok].post)(m, n, h);
Line 583  mdoc_sh_pre(MDOC_ARGS)
Line 580  mdoc_sh_pre(MDOC_ARGS)
                 return(1);                  return(1);
         }          }
   
         html_idcpy(buf, "id_", BUFSIZ);          buf[0] = '\0';
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
                 html_idcat(buf, nn->string, BUFSIZ);                  html_idcat(buf, nn->string, BUFSIZ);
                 if (nn->next)                  if (nn->next)
                         html_idcat(buf, "_", BUFSIZ);                          html_idcat(buf, " ", BUFSIZ);
         }          }
   
         /*          /*
Line 636  mdoc_ss_pre(MDOC_ARGS)
Line 633  mdoc_ss_pre(MDOC_ARGS)
   
         /* TODO: see note in mdoc_sh_pre() about duplicates. */          /* TODO: see note in mdoc_sh_pre() about duplicates. */
   
         html_idcpy(buf, "id_", BUFSIZ);          buf[0] = '\0';
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
                 html_idcat(buf, nn->string, BUFSIZ);                  html_idcat(buf, nn->string, BUFSIZ);
                 if (nn->next)                  if (nn->next)
                         html_idcat(buf, "_", BUFSIZ);                          html_idcat(buf, " ", BUFSIZ);
         }          }
   
         SCALE_HS_INIT(&su, INDENT - HALFINDENT);          SCALE_HS_INIT(&su, INDENT - HALFINDENT);
Line 664  mdoc_fl_pre(MDOC_ARGS)
Line 661  mdoc_fl_pre(MDOC_ARGS)
   
         PAIR_CLASS_INIT(&tag, "flag");          PAIR_CLASS_INIT(&tag, "flag");
         print_otag(h, TAG_SPAN, 1, &tag);          print_otag(h, TAG_SPAN, 1, &tag);
         if (MDOC_Fl == n->tok) {  
                 print_text(h, "\\-");          /* `Cm' has no leading hyphen. */
   
           if (MDOC_Cm == n->tok)
                   return(1);
   
           print_text(h, "\\-");
   
           /* A blank `Fl' should incur a subsequent space. */
   
           if (n->child)
                 h->flags |= HTML_NOSPACE;                  h->flags |= HTML_NOSPACE;
         }  
         return(1);          return(1);
 }  }
   
Line 726  mdoc_nm_pre(MDOC_ARGS)
Line 732  mdoc_nm_pre(MDOC_ARGS)
 {  {
         struct htmlpair tag;          struct htmlpair tag;
   
         if ( ! (HTML_NEWLINE & h->flags))          if (SEC_SYNOPSIS == n->sec && n->prev) {
                 if (SEC_SYNOPSIS == n->sec) {                  bufcat_style(h, "clear", "both");
                         bufcat_style(h, "clear", "both");                  PAIR_STYLE_INIT(&tag, h);
                         PAIR_STYLE_INIT(&tag, h);                  print_otag(h, TAG_BR, 1, &tag);
                         print_otag(h, TAG_BR, 1, &tag);          }
                 }  
   
         PAIR_CLASS_INIT(&tag, "name");          PAIR_CLASS_INIT(&tag, "name");
         print_otag(h, TAG_SPAN, 1, &tag);          print_otag(h, TAG_SPAN, 1, &tag);
Line 811  mdoc_xx_pre(MDOC_ARGS)
Line 816  mdoc_xx_pre(MDOC_ARGS)
                 pp = "BSDI BSD/OS";                  pp = "BSDI BSD/OS";
                 break;                  break;
         case (MDOC_Dx):          case (MDOC_Dx):
                 pp = "DragonFlyBSD";                  pp = "DragonFly";
                 break;                  break;
         case (MDOC_Fx):          case (MDOC_Fx):
                 pp = "FreeBSD";                  pp = "FreeBSD";
Line 952  mdoc_it_head_pre(MDOC_ARGS, int type, struct roffsu *w
Line 957  mdoc_it_head_pre(MDOC_ARGS, int type, struct roffsu *w
   
         switch (type) {          switch (type) {
         case (MDOC_Item):          case (MDOC_Item):
                 /* FALLTHROUGH */                  return(0);
         case (MDOC_Ohang):          case (MDOC_Ohang):
                 print_otag(h, TAG_DIV, 0, NULL);                  print_otag(h, TAG_DIV, 0, &tag);
                 break;                  return(1);
         case (MDOC_Column):          case (MDOC_Column):
                 bufcat_su(h, "min-width", width);                  bufcat_su(h, "min-width", width);
                 bufcat_style(h, "clear", "none");                  bufcat_style(h, "clear", "none");
Line 1069  mdoc_it_pre(MDOC_ARGS)
Line 1074  mdoc_it_pre(MDOC_ARGS)
         /* Override width in some cases. */          /* Override width in some cases. */
   
         switch (type) {          switch (type) {
           case (MDOC_Ohang):
                   /* FALLTHROUGH */
         case (MDOC_Item):          case (MDOC_Item):
                 /* FALLTHROUGH */                  /* FALLTHROUGH */
         case (MDOC_Inset):          case (MDOC_Inset):
Line 1116  mdoc_bl_pre(MDOC_ARGS)
Line 1123  mdoc_bl_pre(MDOC_ARGS)
                 return(1);                  return(1);
   
         ord = malloc(sizeof(struct ord));          ord = malloc(sizeof(struct ord));
         if (NULL == ord)          if (NULL == ord) {
                 err(EXIT_FAILURE, "malloc");                  perror(NULL);
                   exit(EXIT_FAILURE);
           }
         ord->cookie = n;          ord->cookie = n;
         ord->pos = 1;          ord->pos = 1;
         ord->next = h->ords.head;          ord->next = h->ords.head;
Line 1298  mdoc_sx_pre(MDOC_ARGS)
Line 1307  mdoc_sx_pre(MDOC_ARGS)
         /* FIXME: duplicates? */          /* FIXME: duplicates? */
   
         strlcpy(buf, "#", BUFSIZ);          strlcpy(buf, "#", BUFSIZ);
         html_idcat(buf, "id_", BUFSIZ);  
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
                 html_idcat(buf, nn->string, BUFSIZ);                  html_idcat(buf, nn->string, BUFSIZ);
                 if (nn->next)                  if (nn->next)
                         html_idcat(buf, "_", BUFSIZ);                          html_idcat(buf, " ", BUFSIZ);
         }          }
   
         PAIR_CLASS_INIT(&tag[0], "link-sec");          PAIR_CLASS_INIT(&tag[0], "link-sec");
Line 1574  mdoc_vt_pre(MDOC_ARGS)
Line 1582  mdoc_vt_pre(MDOC_ARGS)
         struct roffsu    su;          struct roffsu    su;
   
         if (SEC_SYNOPSIS == n->sec) {          if (SEC_SYNOPSIS == n->sec) {
                 if (n->next && MDOC_Vt != n->next->tok) {                  if (n->prev && MDOC_Vt != n->prev->tok) {
                         SCALE_VS_INIT(&su, 1);                          SCALE_VS_INIT(&su, 1);
                         bufcat_su(h, "margin-bottom", &su);                          bufcat_su(h, "margin-top", &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);
                 } else                  } else
Line 1719  mdoc_sp_pre(MDOC_ARGS)
Line 1727  mdoc_sp_pre(MDOC_ARGS)
         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);
         return(1);          /* So the div isn't empty: */
           print_text(h, "\\~");
   
           return(0);
   
 }  }
   

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.51

CVSweb