[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.125 and 1.131

version 1.125, 2010/12/17 08:17:40 version 1.131, 2010/12/19 12:14:36
Line 287  a2width(const char *p, struct roffsu *su)
Line 287  a2width(const char *p, struct roffsu *su)
 {  {
   
         if ( ! a2roffsu(p, su, SCALE_MAX)) {          if ( ! a2roffsu(p, su, SCALE_MAX)) {
                 su->unit = SCALE_EM;                  su->unit = SCALE_BU;
                 su->scale = (int)strlen(p);                  su->scale = (int)strlen(p);
         }          }
 }  }
Line 354  a2offs(const char *p, struct roffsu *su)
Line 354  a2offs(const char *p, struct roffsu *su)
         else if (0 == strcmp(p, "indent-two"))          else if (0 == strcmp(p, "indent-two"))
                 SCALE_HS_INIT(su, INDENT * 2);                  SCALE_HS_INIT(su, INDENT * 2);
         else if ( ! a2roffsu(p, su, SCALE_MAX)) {          else if ( ! a2roffsu(p, su, SCALE_MAX)) {
                 su->unit = SCALE_EM;                  su->unit = SCALE_BU;
                 su->scale = (int)strlen(p);                  su->scale = (int)strlen(p);
         }          }
 }  }
Line 945  mdoc_bl_pre(MDOC_ARGS)
Line 945  mdoc_bl_pre(MDOC_ARGS)
         PAIR_STYLE_INIT(&tag[0], h);          PAIR_STYLE_INIT(&tag[0], h);
   
         assert(lists[n->data.Bl->type]);          assert(lists[n->data.Bl->type]);
         PAIR_CLASS_INIT(&tag[1], lists[n->data.Bl->type]);          bufinit(h);
           bufcat(h, "list ");
           bufcat(h, lists[n->data.Bl->type]);
           PAIR_INIT(&tag[1], ATTR_CLASS, h->buf);
         i = 2;          i = 2;
   
         /* Set the block's left-hand margin. */          /* Set the block's left-hand margin. */
Line 1000  mdoc_ex_pre(MDOC_ARGS)
Line 1003  mdoc_ex_pre(MDOC_ARGS)
         struct tag              *t;          struct tag              *t;
         struct htmlpair          tag;          struct htmlpair          tag;
   
           if (n->prev)
                   print_otag(h, TAG_BR, 0, NULL);
   
         PAIR_CLASS_INIT(&tag, "utility");          PAIR_CLASS_INIT(&tag, "utility");
   
         print_text(h, "The");          print_text(h, "The");
Line 1058  mdoc_d1_pre(MDOC_ARGS)
Line 1064  mdoc_d1_pre(MDOC_ARGS)
   
         /* BLOCKQUOTE needs a block body. */          /* BLOCKQUOTE needs a block body. */
   
         if (MDOC_Dl == n->tok) {          if (MDOC_Dl == n->tok)
                 PAIR_CLASS_INIT(&tag[1], "lit");                  PAIR_CLASS_INIT(&tag[0], "lit display");
                 print_otag(h, TAG_DIV, 1, tag);          else
         } else                  PAIR_CLASS_INIT(&tag[0], "display");
                 print_otag(h, TAG_DIV, 0, tag);  
   
           print_otag(h, TAG_DIV, 1, tag);
         return(1);          return(1);
 }  }
   
Line 1103  mdoc_bd_pre(MDOC_ARGS)
Line 1109  mdoc_bd_pre(MDOC_ARGS)
         if (MDOC_HEAD == n->type)          if (MDOC_HEAD == n->type)
                 return(0);                  return(0);
   
         SCALE_VS_INIT(&su, 0);  
   
         assert(n->data.Bd);  
         if (n->data.Bd->offs)  
                 a2offs(n->data.Bd->offs, &su);  
   
         comp = n->data.Bd->comp;  
   
         /* FIXME: -centered, etc. formatting. */  
         /* FIXME: does not respect -offset ??? */  
   
         if (MDOC_BLOCK == n->type) {          if (MDOC_BLOCK == n->type) {
                 bufcat_su(h, "margin-left", &su);                  comp = n->data.Bd->comp;
                 for (nn = n; nn && ! comp; nn = nn->parent) {                  for (nn = n; nn && ! comp; nn = nn->parent) {
                         if (MDOC_BLOCK != nn->type)                          if (MDOC_BLOCK != nn->type)
                                 continue;                                  continue;
Line 1124  mdoc_bd_pre(MDOC_ARGS)
Line 1119  mdoc_bd_pre(MDOC_ARGS)
                         if (nn->prev)                          if (nn->prev)
                                 break;                                  break;
                 }                  }
                 if (comp) {                  if ( ! comp)
                         PAIR_STYLE_INIT(&tag[0], h);                          print_otag(h, TAG_P, 0, NULL);
                         print_otag(h, TAG_DIV, 1, tag);  
                         return(1);  
                 }  
                 SCALE_VS_INIT(&su, 1);  
                 bufcat_su(h, "margin-top", &su);  
                 PAIR_STYLE_INIT(&tag[0], h);  
                 print_otag(h, TAG_DIV, 1, tag);  
                 return(1);                  return(1);
         }          }
   
           SCALE_HS_INIT(&su, 0);
           if (n->data.Bd->offs)
                   a2offs(n->data.Bd->offs, &su);
   
           bufcat_su(h, "margin-left", &su);
           PAIR_STYLE_INIT(&tag[0], h);
   
         if (DISP_unfilled != n->data.Bd->type &&          if (DISP_unfilled != n->data.Bd->type &&
                         DISP_literal != n->data.Bd->type)                          DISP_literal != n->data.Bd->type) {
                   PAIR_CLASS_INIT(&tag[1], "display");
                   print_otag(h, TAG_DIV, 2, tag);
                 return(1);                  return(1);
           }
   
         PAIR_CLASS_INIT(&tag[0], "lit");          PAIR_CLASS_INIT(&tag[1], "lit display");
         bufcat_style(h, "white-space", "pre");          print_otag(h, TAG_PRE, 2, tag);
         PAIR_STYLE_INIT(&tag[1], h);  
         print_otag(h, TAG_DIV, 2, tag);  
   
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
                 print_mdoc_node(m, nn, h);                  print_mdoc_node(m, nn, h);
Line 1175  mdoc_bd_pre(MDOC_ARGS)
Line 1171  mdoc_bd_pre(MDOC_ARGS)
                 }                  }
                 if (nn->next && nn->next->line == nn->line)                  if (nn->next && nn->next->line == nn->line)
                         continue;                          continue;
                   else if (nn->next)
                           print_text(h, "\n");
   
                 print_text(h, "\n");  
                 h->flags |= HTML_NOSPACE;                  h->flags |= HTML_NOSPACE;
         }          }
   
Line 1645  mdoc_rv_pre(MDOC_ARGS)
Line 1642  mdoc_rv_pre(MDOC_ARGS)
         struct htmlpair          tag;          struct htmlpair          tag;
         struct tag              *t;          struct tag              *t;
   
         print_otag(h, TAG_DIV, 0, NULL);          if (n->prev)
                   print_otag(h, TAG_BR, 0, NULL);
   
         print_text(h, "The");          print_text(h, "The");
   
         for (nn = n->child; nn; nn = nn->next) {          for (nn = n->child; nn; nn = nn->next) {
Line 1841  mdoc_lb_pre(MDOC_ARGS)
Line 1840  mdoc_lb_pre(MDOC_ARGS)
 {  {
         struct htmlpair tag;          struct htmlpair tag;
   
         if (SEC_LIBRARY == n->sec && MDOC_LINE & n->flags)          if (SEC_LIBRARY == n->sec && MDOC_LINE & n->flags && n->prev)
                 print_otag(h, TAG_DIV, 0, NULL);                  print_otag(h, TAG_BR, 0, NULL);
   
         PAIR_CLASS_INIT(&tag, "lib");          PAIR_CLASS_INIT(&tag, "lib");
         print_otag(h, TAG_SPAN, 1, &tag);          print_otag(h, TAG_SPAN, 1, &tag);
         return(1);          return(1);
Line 1948  mdoc_bk_pre(MDOC_ARGS)
Line 1948  mdoc_bk_pre(MDOC_ARGS)
         case (MDOC_HEAD):          case (MDOC_HEAD):
                 return(0);                  return(0);
         case (MDOC_BODY):          case (MDOC_BODY):
                 h->flags |= HTML_PREKEEP;                  if (n->parent->args || 0 == n->prev->nchild)
                           h->flags |= HTML_PREKEEP;
                 break;                  break;
         default:          default:
                 abort();                  abort();

Legend:
Removed from v.1.125  
changed lines
  Added in v.1.131

CVSweb