lowdown_doc_new - Man Page

allocate a Markdown parser

Library

library “liblowdown”

Synopsis

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

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

Description

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).

Return Values

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().

Examples

The following parses b if length bsz and throws away the result.

struct lowdown_doc *doc;
struct lowdown_node *n;

if ((doc = lowdown_doc_new(NULL)) == NULL)
	err(1, NULL);
if ((n = lowdown_doc_parse(doc, NULL, b, bsz, NULL)) == NULL)
	err(1, NULL);

lowdown_node_free(n);
lowdown_doc_free(doc);

See Also

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

Referenced By

lowdown(3), lowdown_doc_free(3), lowdown_metaq_free(3), lowdown_node_free(3).

December 7, 2024