This is a markdown parsing library for Common Lisp. It also parses table markdown using the github syntax.
The goal is to provide a very simple interface for turning markdown into valid HTML.
It currently doesn't support plugins or hooks or anything of that kind. I'd like to add these in the near future, so stay tuned.
markdown.cl is in beta!!! Expect bugs/parsing errors.
The interface exposes two functions:
(defun parse (markdown-string &key disable-parsers))
=> HTML string
This takes a markdown string and converts it into HTML.
The :disable-parsers
keyword allows disabling of any sub-parser during the
processing. None of these parsers are currently public, however I'd like to
eventually make interfaces for them to be customizable (which would more or less
act as a plugin system).
(defun parse-file (path &key disable-parsers))
=> HTML string
This parses a markdown file by loading the contents and sending them to parse. It's just a simple wrapper.
The tests for markdown.cl are, right now, just large blobs of markdown that are parsed and tested using xmls (my favorite XML parser).
(ql:quickload :markdown.cl-test)
(markdown.cl-test:run-tests)