lowdown_doc_new(3)

lowdown_doc_new3

Allocate a markdown parser

Usage

#include <sys/queue.h>

#include <stdio.h>

#include <lowdown.h>

struct lowdown_doc *

lowdown_doc_new(const struct lowdown_opts *opts);

Library

library “liblowdown”

Overview

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

Releases

4 releases since Debian 11 (Bullseye); the text changed 2 times.

  1. 11
  2. 12
  3. 13–Arch

From lowdown 3.2.1-1 in Arch Linux 2026-11-01. Parsed by carta from the page's mdoc source.