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