lowdown_file — parse a Markdown file into formatted output
Contents
Description
Parses a lowdown(5) file stream in into an output buffer ret of size retsz according to configuration
opts. The output format is specified by opts->type. If LOWDOWN_METADATA is set in opts->feat and metaq
is not NULL, metaq is filled with metadata rendered in the given output format.
On success, the caller is responsible for freeing ret and metaq.
Examples
The following parses standard input into a standalone HTML5 document. It enables footnotes, autolinks,
tables, superscript, strikethrough, fenced codeblocks, commonmark, definition lists, extended image
attributes, and metadata processing. The output passes through raw HTML and has smart typography.
struct lowdown_opts opts;
char *buf;
size_t bufsz;
memset(&opts, 0, sizeof(struct lowdown_opts));
opts.type = LOWDOWN_HTML;
opts.feat = LOWDOWN_FOOTNOTES |
LOWDOWN_AUTOLINK |
LOWDOWN_TABLES |
LOWDOWN_SUPER |
LOWDOWN_STRIKE |
LOWDOWN_FENCED |
LOWDOWN_COMMONMARK |
LOWDOWN_DEFLIST |
LOWDOWN_IMG_EXT |
LOWDOWN_METADATA;
opts.oflags = LOWDOWN_HTML_HEAD_IDS |
LOWDOWN_HTML_NUM_ENT |
LOWDOWN_HTML_OWASP |
LOWDOWN_SMARTY |
LOWDOWN_STANDALONE;
if (!lowdown_file(&opts, stdin, &buf, &bufsz, NULL))
errx(1, "lowdown_file");
fwrite(buf, 1, bufsz, stdout);
free(buf);
Library
library “liblowdown”
Name
lowdown_file — parse a Markdown file into formatted output
Return Values
Returns zero on failure, non-zero on success. On failure, the values pointed to by res and rsz are
undefined.
See Also
lowdown(3), lowdown_metaq_free(3) Debian $Mdocdate$ LOWDOWN_FILE(3)
Synopsis
#include<sys/queue.h>#include<stdio.h>#include<lowdown.h>intlowdown_file(conststructlowdown_opts*opts, FILE*in, char**ret, size_t*retsz,
structlowdown_metaq*metaq);
