|
|
| |
SOLDOUT(3) |
FreeBSD Library Functions Manual |
SOLDOUT(3) |
soldout —
markdown parser library
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.
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;
}
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |