diff options
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | Makefile | 10 | ||||
| -rw-r--r-- | convert-markdown.c | 34 |
3 files changed, 46 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b73197c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +convert-markdown +*.o diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..27dd859 --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +CC = cc +CFLAGS = -O2 -g -I/usr/local/include +LDFLAGS = -L/usr/local/lib +LIBS = -llowdown -lm -static -pie + +convert-markdown: convert-markdown.c + $(CC) $^ -o $@ $(CFLAGS) $(LDFLAGS) $(LIBS) + +clean: + rm -f convert-markdown diff --git a/convert-markdown.c b/convert-markdown.c new file mode 100644 index 0000000..a466071 --- /dev/null +++ b/convert-markdown.c @@ -0,0 +1,34 @@ +#include <err.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/queue.h> +#include <lowdown.h> + +int main(void) { + // 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, stdin, &buf, &bufsz, NULL)) + errx(1, "lowdown_file"); + fwrite(buf, 1, bufsz, stdout); + free(buf); +} |
