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

Diff for /mandoc/mdoc_markdown.c between version 1.27 and 1.31

version 1.27, 2018/10/25 01:32:40 version 1.31, 2019/07/01 22:56:24
Line 19 
Line 19 
 #include <assert.h>  #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <stdio.h>  #include <stdio.h>
   #include <stdlib.h>
 #include <string.h>  #include <string.h>
   
 #include "mandoc_aux.h"  #include "mandoc_aux.h"
Line 48  static void  md_uri(const char *);
Line 49  static void  md_uri(const char *);
 static  int      md_cond_head(struct roff_node *);  static  int      md_cond_head(struct roff_node *);
 static  int      md_cond_body(struct roff_node *);  static  int      md_cond_body(struct roff_node *);
   
   static  int      md_pre_abort(struct roff_node *);
 static  int      md_pre_raw(struct roff_node *);  static  int      md_pre_raw(struct roff_node *);
 static  int      md_pre_word(struct roff_node *);  static  int      md_pre_word(struct roff_node *);
 static  int      md_pre_skip(struct roff_node *);  static  int      md_pre_skip(struct roff_node *);
Line 138  static const struct md_act md_acts[MDOC_MAX - MDOC_Dd]
Line 140  static const struct md_act md_acts[MDOC_MAX - MDOC_Dd]
         { md_cond_head, md_pre_Nd, NULL, NULL, NULL }, /* Nd */          { md_cond_head, md_pre_Nd, NULL, NULL, NULL }, /* Nd */
         { NULL, md_pre_Nm, md_post_Nm, "**", "**" }, /* Nm */          { NULL, md_pre_Nm, md_post_Nm, "**", "**" }, /* Nm */
         { md_cond_body, md_pre_word, md_post_word, "[", "]" }, /* Op */          { md_cond_body, md_pre_word, md_post_word, "[", "]" }, /* Op */
         { NULL, md_pre_Fd, md_post_raw, "*", "*" }, /* Ot */          { NULL, md_pre_abort, NULL, NULL, NULL }, /* Ot */
         { NULL, md_pre_raw, md_post_raw, "*", "*" }, /* Pa */          { NULL, md_pre_raw, md_post_raw, "*", "*" }, /* Pa */
         { NULL, NULL, NULL, NULL, NULL }, /* Rv */          { NULL, NULL, NULL, NULL, NULL }, /* Rv */
         { NULL, NULL, NULL, NULL, NULL }, /* St */          { NULL, NULL, NULL, NULL, NULL }, /* St */
Line 211  static const struct md_act md_acts[MDOC_MAX - MDOC_Dd]
Line 213  static const struct md_act md_acts[MDOC_MAX - MDOC_Dd]
         { NULL, md_pre_raw, md_post_raw, "*", "*" }, /* Fr */          { NULL, md_pre_raw, md_post_raw, "*", "*" }, /* Fr */
         { NULL, NULL, NULL, NULL, NULL }, /* Ud */          { NULL, NULL, NULL, NULL, NULL }, /* Ud */
         { NULL, NULL, md_post_Lb, NULL, NULL }, /* Lb */          { NULL, NULL, md_post_Lb, NULL, NULL }, /* Lb */
         { NULL, md_pre_Pp, NULL, NULL, NULL }, /* Lp */          { NULL, md_pre_abort, NULL, NULL, NULL }, /* Lp */
         { NULL, md_pre_Lk, NULL, NULL, NULL }, /* Lk */          { NULL, md_pre_Lk, NULL, NULL, NULL }, /* Lk */
         { NULL, md_pre_Mt, NULL, NULL, NULL }, /* Mt */          { NULL, md_pre_Mt, NULL, NULL, NULL }, /* Mt */
         { md_cond_body, md_pre_word, md_post_word, "{", "}" }, /* Brq */          { md_cond_body, md_pre_word, md_post_word, "{", "}" }, /* Brq */
Line 259  md_act(enum roff_tok tok)
Line 261  md_act(enum roff_tok tok)
 }  }
   
 void  void
 markdown_mdoc(void *arg, const struct roff_man *mdoc)  markdown_mdoc(void *arg, const struct roff_meta *mdoc)
 {  {
         outflags = MD_Sm;          outflags = MD_Sm;
         md_word(mdoc->meta.title);          md_word(mdoc->title);
         if (mdoc->meta.msec != NULL) {          if (mdoc->msec != NULL) {
                 outflags &= ~MD_spc;                  outflags &= ~MD_spc;
                 md_word("(");                  md_word("(");
                 md_word(mdoc->meta.msec);                  md_word(mdoc->msec);
                 md_word(")");                  md_word(")");
         }          }
         md_word("-");          md_word("-");
         md_word(mdoc->meta.vol);          md_word(mdoc->vol);
         if (mdoc->meta.arch != NULL) {          if (mdoc->arch != NULL) {
                 md_word("(");                  md_word("(");
                 md_word(mdoc->meta.arch);                  md_word(mdoc->arch);
                 md_word(")");                  md_word(")");
         }          }
         outflags |= MD_sp;          outflags |= MD_sp;
Line 281  markdown_mdoc(void *arg, const struct roff_man *mdoc)
Line 283  markdown_mdoc(void *arg, const struct roff_man *mdoc)
         md_nodelist(mdoc->first->child);          md_nodelist(mdoc->first->child);
   
         outflags |= MD_sp;          outflags |= MD_sp;
         md_word(mdoc->meta.os);          md_word(mdoc->os);
         md_word("-");          md_word("-");
         md_word(mdoc->meta.date);          md_word(mdoc->date);
         putchar('\n');          putchar('\n');
 }  }
   
Line 587  md_word(const char *s)
Line 589  md_word(const char *s)
                         case ESCAPE_SPECIAL:                          case ESCAPE_SPECIAL:
                                 uc = mchars_spec2cp(seq, sz);                                  uc = mchars_spec2cp(seq, sz);
                                 break;                                  break;
                           case ESCAPE_UNDEF:
                                   uc = *seq;
                                   break;
                         case ESCAPE_DEVICE:                          case ESCAPE_DEVICE:
                                 md_rawword("markdown");                                  md_rawword("markdown");
                                 continue;                                  continue;
Line 723  md_cond_body(struct roff_node *n)
Line 728  md_cond_body(struct roff_node *n)
 }  }
   
 static int  static int
   md_pre_abort(struct roff_node *n)
   {
           abort();
   }
   
   static int
 md_pre_raw(struct roff_node *n)  md_pre_raw(struct roff_node *n)
 {  {
         const char      *prefix;          const char      *prefix;
Line 1279  md_post_It(struct roff_node *n)
Line 1290  md_post_It(struct roff_node *n)
                 while ((n = n->prev) != NULL && n->type != ROFFT_HEAD)                  while ((n = n->prev) != NULL && n->type != ROFFT_HEAD)
                         i++;                          i++;
   
                 /*                  /*
                  * If a width was specified for this column,                   * If a width was specified for this column,
                  * subtract what printed, and                   * subtract what printed, and
                  * add the same spacing as in mdoc_term.c.                   * add the same spacing as in mdoc_term.c.

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.31

CVSweb