aboutsummaryrefslogtreecommitdiff
path: root/parse-file.c
blob: 14a737c78ff59c20e054e649576b3f5fdd74e6e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "parse-file.h"

void _parse_file(FILE* instream, FILE* outstream) {
        // adapted from the example section of lowdown_file(3)
        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;
        if (!lowdown_file(&opts, instream, &buf, &bufsz, NULL))
                errx(1, "lowdown_file");
        fwrite(buf, 1, bufsz, outstream);
        free(buf);
}