LOWDOWN_DOC_NEW(3) Library Functions Manual LOWDOWN_DOC_NEW(3)

lowdown_doc_newallocate a Markdown parser

library “liblowdown”

#include <sys/queue.h>
#include <stdio.h>
#include <lowdown.h>

struct lowdown_doc *
lowdown_doc_new(const struct lowdown_opts *opts);

Allocates a Markdown parser instance with configuration opts. If opts is NULL, all values are assumed to be zero except for the maximum parse depth, which is fixed at 128.

The returned instance may be used with multiple invocations of lowdown_doc_parse(3).

Returns a pointer to the parser or NULL on memory allocation failure. The returned pointer must be freed with a call to lowdown_doc_free(3).

Any pointer values in opts, such as those in meta and metaovr, are copied over, so they need not persist after being passed to lowdown_doc_new().

The following parses a document in the NUL-terminated string data and throws away the result.

struct lowdown_doc *doc;
struct lowdown_node *n;

doc = lowdown_doc_new(NULL);
if (doc == NULL)
  err(1, NULL);

n = lowdown_doc_parse(doc, NULL, data, strlen(data));
if (n == NULL)
  err(1, NULL);

lowdown_node_free(n);
lowdown_doc_free(doc);

lowdown(3), lowdown_doc_free(3), lowdown_doc_parse(3)

February 6, 2021 OpenBSD 6.7