Provided by: libsoldout-dev_1.4-5build1_amd64 
      
    
NAME
       soldout_markdown, markdown — parse markdown document
SYNOPSIS
       #include <markdown.h>
       #define MKD_CELL_ALIGN_DEFAULT
       #define MKD_CELL_ALIGN_LEFT
       #define MKD_CELL_ALIGN_RIGHT
       #define MKD_CELL_ALIGN_CENTER
       #define MKD_CELL_ALIGN_MASK
       #define MKD_CELL_HEAD
       #define MKD_LIST_ORDERED
       #define MKD_LI_BLOCK
       void
       markdown(struct buf *ob, struct buf *ib, const struct mkd_renderer *rndr);
DESCRIPTION
       The  markdown()  function  parses the input buffer ib and renders it into the output buffer ob; rndr is a
       pointer to the renderer structure.
       Function pointers in struct mkd_renderer can  be  NULL.   A  null  block-level  callback  will  make  the
       corresponding  block  disappear  from the output, as if the callback was an empty function.  A null span-
       level callback will cause the corresponding element to be treated as normal characters,  copied  verbatim
       to  the  output.   Moreover,  span-level  callbacks  return  an integer, which tells whether the renderer
       accepts to render the item (non-zero return value) or whether it should be copied verbatim  (zero  return
       value).
       The  first argument of a renderer function is always the output buffer, where the function is supposed to
       write its output.  The last argument of a renderer function is always a private pointer, which is  opaque
       member of struct mkd_renderer.  libsoldout itself never does nothing with this data.
       emph_chars  is  a  zero-terminated string which contains the set of characters that trigger emphasis.  In
       regular markdown, emphasis is only triggered by ‘_’ and ‘*’, but in some extensions it might be useful to
       add other characters to this list.  The character that triggered the emphasis is then passed to emphasis,
       double_emphasis and triple_emphasis function callbacks through the parameter c.
       The normal_text callback should perform whatever escape is needed to have the  output  looking  like  the
       input data.
       libsoldout  supports  PHP-Markdown-like  tables.   It  uses  the following flags: MKD_CELL_ALIGN_DEFAULT,
       MKD_CELL_ALIGN_LEFT, MKD_CELL_ALIGN_RIGHT, MKD_CELL_ALIGN_CENTER, MKD_CELL_ALIGN_MASK,  MKD_CELL_HEAD  in
       these function callbacks: table_cell and table_row.
       MKD_LIST_ORDERED, MKD_LI_BLOCK are used as flags in these function callbacks: list and listitem.
   Types
       enum mkd_autolink
       type of autolink:
       MKDA_NOT_AUTOLINK
               used internally when it is not an autolink.
       MKDA_NORMAL
               normal http/https/ftp link.
       MKDA_EXPLICIT_EMAIL
               e-mail link with explicit mailto.
       MKDA_IMPLICIT_EMAIL
               e-mail link without mailto.
       struct mkd_renderer
       consists of the following fields:
       Document level callbacks
               prolog  a pointer to a void function(struct buf *ob, void *opaque)
               epilog  a pointer to a void function(struct buf *ob, void *opaque)
       Block level callbacks (NULL skips the block)
               blockcode
                       a pointer to a void function(struct buf *ob, struct buf *text, void *opaque)
               blockquote
                       a pointer to a void function(struct buf *ob, struct buf *text, void *opaque)
               blockhtml
                       a pointer to a void function(struct buf *ob, struct buf *text, void *opaque)
               header  a pointer to a void function(struct buf *ob, struct buf *text, int level, void *opaque)
               hrule   a pointer to a void function(struct buf *ob, void *opaque)
               list    a pointer to a void function(struct buf *ob, struct buf *text, int flags, void *opaque)
               listitem
                       a pointer to a void function(struct buf *ob, struct buf *text, int flags, void *opaque)
               paragraph
                       a pointer to a void function(struct buf *ob, struct buf *text, void *opaque)
               table   a  pointer  to  a  void  function(struct buf *ob, struct buf *head_row, struct buf *rows,
                       void *opaque)
               table_cell
                       a pointer to a void function(struct buf *ob, struct buf *text, int flags, void *opaque)
               table_row
                       a pointer to a void function(struct buf *ob, struct buf *cells, int flags, void *opaque)
       Span level callbacks (NULL or return 0 prints the span verbatim)
               autolink
                       a pointer to a  int  function(struct buf *ob,  struct buf *link,  enum mkd_autolink type,
                       void *opaque)
               codespan
                       a pointer to a int function(struct buf *ob, struct buf *text, void *opaque)
               emphasis
                       a pointer to a int function(struct buf *ob, struct buf *text, char c, void *opaque)
               double_emphasis
                       a pointer to a int function(struct buf *ob, struct buf *text, char c, void *opaque)
               triple_emphasis
                       a pointer to a int function(struct buf *ob, struct buf *text, char c, void *opaque)
               image   a   pointer   to  a  int  function(struct buf *ob,  struct buf *link,  struct buf *title,
                       struct buf *alt, void *opaque)
               linebreak
                       a pointer to a int function(struct buf *ob, void *opaque)
               link    a  pointer  to  a  int  function(struct buf *ob,   struct buf *link,   struct buf *title,
                       struct buf *content, void *opaque)
               raw_html_tag
                       a pointer to a int function(struct buf *ob, struct buf *tag, void *opaque)
       Low level callbacks (NULL copies input directly into the output)
               entity  a pointer to a void function(struct buf *ob, struct buf *entity, void *opaque)
               normal_text
                       a pointer to a void function(struct buf *ob, struct buf *text, void *opaque)
       Renderer data
               int max_work_stack
                       prevent arbitrary deep recursion.
               const char * emph_chars
                       chars that trigger emphasis rendering.
               void * opaque
                       opaque data send to every rendering callback.
RETURN VALUES
       The markdown() function does not return a value.
SEE ALSO
       soldout(3), soldout_buffer(3), soldout_renderers(3)
AUTHORS
       The soldout library was written by Natasha "Kerensikova" Porte <natacha@instinctive.eu>.  Manual page was
       originally  written  by  Massimo Manghi <mxmanghi@apache.org>, and rewritten to mdoc format by Svyatoslav
       Mishyn <juef@openmailbox.org>.
Debian                                            May 30, 2016                               SOLDOUT_MARKDOWN(3)