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 |