table of contents
| SOLDOUT(3) | Library Functions Manual | SOLDOUT(3) | 
NAME¶
soldout — markdown
    parser library
DESCRIPTION¶
The soldout library only performs the
    parsing of markdown input, the construction of the output is left to a
    renderer, which is a set of callback functions called when markdown elements
    are encountered. Pointers to these functions are gathered into a
    struct mkd_renderer along with some renderer-related
    data.
Basic usage will be:
- Create output, input buffers by
      bufnew() function.
- Fill input buffer by
      bufput() function.
- Create struct mkd_renderer or use provided renderer.
- Call
      markdown() function.
- Process output buffer.
- Call
      bufrelease() function to clean up buffers.
EXAMPLES¶
Simple example that uses first argument as a markdown string, converts it to an HTML and outputs it to stdout.
#include <stdio.h>
#include <buffer.h>
#include <markdown.h>
#include <renderers.h>
#define INPUT_UNIT  1024
#define OUTPUT_UNIT 64
int
main(int argc, char *argv[])
{
  struct buf *ib, *ob;
  /* Make sure we have enough arguments. */
  if (argc != 2) {
    return 1;
  }
  ib = bufnew(INPUT_UNIT);
  ob = bufnew(OUTPUT_UNIT);
  /* bufputs() is a wrapper over bufput() for NUL-terminated string. */
  bufputs(ib, argv[1]);
  markdown(ob, ib, &mkd_html);
  /* Note the resulted data is not NUL-terminated string;
   * to make it use bufnullterm(). */
  printf("%.*s", (int)ob->size, ob->data);
  bufrelease(ib);
  bufrelease(ob);
  return 0;
}
SEE ALSO¶
soldout_array(3), soldout_buffer(3), soldout_markdown(3), soldout_renderers(3), John Gruber's markdown format
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>.
| March 29, 2016 | Debian |