A markdown parser for Common Lisp

Upstream URL


Andrew Danger Lyon <>



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. 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 are, right now, just large blobs of markdown that are parsed and tested using xmls (my favorite XML parser).


Dependencies (4)

  • cl-ppcre
  • fiveam
  • split-sequence
  • xmls

Dependents (0)

    • GitHub
    • Quicklisp