[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.182 and 1.187

version 1.182, 2022/07/05 21:25:29 version 1.187, 2023/10/24 20:53:12
Line 1 
Line 1 
 /* $Id$ */  /* $Id$ */
 /*  /*
  * Copyright (c) 2013-2015,2017-2020,2022 Ingo Schwarze <schwarze@openbsd.org>   * Copyright (c) 2013-15,2017-20,2022-23 Ingo Schwarze <schwarze@openbsd.org>
  * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>   * Copyright (c) 2008-2012, 2014 Kristaps Dzonsons <kristaps@bsd.lv>
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 53  static char    list_continues(const struct roff_node *
Line 53  static char    list_continues(const struct roff_node *
 static  int               man_B_pre(MAN_ARGS);  static  int               man_B_pre(MAN_ARGS);
 static  int               man_IP_pre(MAN_ARGS);  static  int               man_IP_pre(MAN_ARGS);
 static  int               man_I_pre(MAN_ARGS);  static  int               man_I_pre(MAN_ARGS);
   static  int               man_MR_pre(MAN_ARGS);
 static  int               man_OP_pre(MAN_ARGS);  static  int               man_OP_pre(MAN_ARGS);
 static  int               man_PP_pre(MAN_ARGS);  static  int               man_PP_pre(MAN_ARGS);
 static  int               man_RS_pre(MAN_ARGS);  static  int               man_RS_pre(MAN_ARGS);
Line 60  static int    man_SH_pre(MAN_ARGS);
Line 61  static int    man_SH_pre(MAN_ARGS);
 static  int               man_SM_pre(MAN_ARGS);  static  int               man_SM_pre(MAN_ARGS);
 static  int               man_SY_pre(MAN_ARGS);  static  int               man_SY_pre(MAN_ARGS);
 static  int               man_UR_pre(MAN_ARGS);  static  int               man_UR_pre(MAN_ARGS);
 static  int               man_abort_pre(MAN_ARGS);  
 static  int               man_alt_pre(MAN_ARGS);  static  int               man_alt_pre(MAN_ARGS);
 static  int               man_ign_pre(MAN_ARGS);  static  int               man_ign_pre(MAN_ARGS);
 static  int               man_in_pre(MAN_ARGS);  static  int               man_in_pre(MAN_ARGS);
Line 75  static const struct man_html_act man_html_acts[MAN_MAX
Line 75  static const struct man_html_act man_html_acts[MAN_MAX
         { man_SH_pre, NULL }, /* SS */          { man_SH_pre, NULL }, /* SS */
         { man_IP_pre, NULL }, /* TP */          { man_IP_pre, NULL }, /* TP */
         { man_IP_pre, NULL }, /* TQ */          { man_IP_pre, NULL }, /* TQ */
         { man_abort_pre, NULL }, /* LP */          { man_PP_pre, NULL }, /* LP */
         { man_PP_pre, NULL }, /* PP */          { man_PP_pre, NULL }, /* PP */
         { man_abort_pre, NULL }, /* P */          { man_PP_pre, NULL }, /* P */
         { man_IP_pre, NULL }, /* IP */          { man_IP_pre, NULL }, /* IP */
         { man_PP_pre, NULL }, /* HP */          { man_PP_pre, NULL }, /* HP */
         { man_SM_pre, NULL }, /* SM */          { man_SM_pre, NULL }, /* SM */
Line 107  static const struct man_html_act man_html_acts[MAN_MAX
Line 107  static const struct man_html_act man_html_acts[MAN_MAX
         { NULL, NULL }, /* UE */          { NULL, NULL }, /* UE */
         { man_UR_pre, NULL }, /* MT */          { man_UR_pre, NULL }, /* MT */
         { NULL, NULL }, /* ME */          { NULL, NULL }, /* ME */
           { man_MR_pre, NULL }, /* MR */
 };  };
   
   
Line 271  man_root_pre(const struct roff_meta *man, struct html 
Line 272  man_root_pre(const struct roff_meta *man, struct html 
         mandoc_asprintf(&title, "%s(%s)", man->title, man->msec);          mandoc_asprintf(&title, "%s(%s)", man->title, man->msec);
   
         t = print_otag(h, TAG_DIV, "cr?", "head", "doc-pageheader",          t = print_otag(h, TAG_DIV, "cr?", "head", "doc-pageheader",
             "aria-label", "manual header line");              "aria-label", "Manual header line");
   
         print_otag(h, TAG_SPAN, "c", "head-ltitle");          print_otag(h, TAG_SPAN, "c", "head-ltitle");
         print_text(h, title);          print_text(h, title);
Line 294  man_root_post(const struct roff_meta *man, struct html
Line 295  man_root_post(const struct roff_meta *man, struct html
         struct tag      *t;          struct tag      *t;
   
         t = print_otag(h, TAG_DIV, "cr?", "foot", "doc-pagefooter",          t = print_otag(h, TAG_DIV, "cr?", "foot", "doc-pagefooter",
             "aria-label", "manual footer line");              "aria-label", "Manual footer line");
   
         print_otag(h, TAG_SPAN, "c", "foot-left");          print_otag(h, TAG_SPAN, "c", "foot-left");
         print_stagq(h, t);          print_stagq(h, t);
Line 316  man_SH_pre(MAN_ARGS)
Line 317  man_SH_pre(MAN_ARGS)
         enum htmltag     tag;          enum htmltag     tag;
   
         if (n->tok == MAN_SH) {          if (n->tok == MAN_SH) {
                 tag = TAG_H1;                  tag = TAG_H2;
                 class = "Sh";                  class = "Sh";
         } else {          } else {
                 tag = TAG_H2;                  tag = TAG_H3;
                 class = "Ss";                  class = "Ss";
         }          }
         switch (n->type) {          switch (n->type) {
Line 406  man_PP_pre(MAN_ARGS)
Line 407  man_PP_pre(MAN_ARGS)
                 if (n->child != NULL &&                  if (n->child != NULL &&
                     (n->child->flags & NODE_NOFILL) == 0)                      (n->child->flags & NODE_NOFILL) == 0)
                         print_otag(h, TAG_P, "c",                          print_otag(h, TAG_P, "c",
                             n->tok == MAN_PP ? "Pp" : "Pp HP");                              n->tok == MAN_HP ? "Pp HP" : "Pp");
                 break;                  break;
         default:          default:
                 abort();                  abort();
Line 434  list_continues(const struct roff_node *n1, const struc
Line 435  list_continues(const struct roff_node *n1, const struc
         s2 = n2 == NULL ? "" : n2->string;          s2 = n2 == NULL ? "" : n2->string;
         c1 = strcmp(s1, "*") == 0 ? '*' :          c1 = strcmp(s1, "*") == 0 ? '*' :
              strcmp(s1, "\\-") == 0 ? '-' :               strcmp(s1, "\\-") == 0 ? '-' :
              strcmp(s1, "\\(bu") == 0 ? 'b' : ' ';               strcmp(s1, "\\(bu") == 0 ? 'b' :
                strcmp(s1, "\\[bu]") == 0 ? 'b' : ' ';
         c2 = strcmp(s2, "*") == 0 ? '*' :          c2 = strcmp(s2, "*") == 0 ? '*' :
              strcmp(s2, "\\-") == 0 ? '-' :               strcmp(s2, "\\-") == 0 ? '-' :
              strcmp(s2, "\\(bu") == 0 ? 'b' : ' ';               strcmp(s2, "\\(bu") == 0 ? 'b' :
                strcmp(s2, "\\[bu]") == 0 ? 'b' : ' ';
         return c1 != c2 ? '\0' : c1 == 'b' ? '*' : c1;          return c1 != c2 ? '\0' : c1 == 'b' ? '*' : c1;
 }  }
   
Line 518  man_IP_pre(MAN_ARGS)
Line 521  man_IP_pre(MAN_ARGS)
 }  }
   
 static int  static int
   man_MR_pre(MAN_ARGS)
   {
           struct tag      *t;
           const char      *name, *section, *suffix;
           char            *label;
   
           html_setfont(h, ESCAPE_FONTROMAN);
           name = section = suffix = label = NULL;
           if (n->child != NULL) {
                   name = n->child->string;
                   if (n->child->next != NULL) {
                           section = n->child->next->string;
                           mandoc_asprintf(&label,
                               "%s, section %s", name, section);
                           if (n->child->next->next != NULL)
                                   suffix = n->child->next->next->string;
                   }
           }
   
           if (name != NULL && section != NULL && h->base_man1 != NULL)
                   t = print_otag(h, TAG_A, "chM?", "Xr",
                       name, section, "aria-label", label);
           else
                   t = print_otag(h, TAG_A, "c?", "Xr", "aria-label", label);
   
           free(label);
           if (name != NULL) {
                   print_text(h, name);
                   h->flags |= HTML_NOSPACE;
           }
           print_text(h, "(");
           h->flags |= HTML_NOSPACE;
           if (section != NULL) {
                   print_text(h, section);
                   h->flags |= HTML_NOSPACE;
           }
           print_text(h, ")");
           print_tagq(h, t);
           if (suffix != NULL) {
                   h->flags |= HTML_NOSPACE;
                   print_text(h, suffix);
           }
           return 0;
   }
   
   static int
 man_OP_pre(MAN_ARGS)  man_OP_pre(MAN_ARGS)
 {  {
         struct tag      *tt;          struct tag      *tt;
Line 634  man_UR_pre(MAN_ARGS)
Line 683  man_UR_pre(MAN_ARGS)
   
         print_man_nodelist(man, n->child, h);          print_man_nodelist(man, n->child, h);
         return 0;          return 0;
 }  
   
 static int  
 man_abort_pre(MAN_ARGS)  
 {  
         abort();  
 }  }

Legend:
Removed from v.1.182  
changed lines
  Added in v.1.187

CVSweb