tree: 1bf7b2d8831d375b000f4f182180f30cb84d5929 [path history] [tgz]
  1. go/
  2. res/
  3. templates/
  4. .bowerrc
  5. bower.json
  6. build_docker_release
  7. Dockerfile
  9. Makefile
  10. package.json
  11. probersk.json5


A super simple Markdown (CommonMark) server in Go.

This application serves up processed Markdown files that are stored in a Git repository. It allows push-to-deploy for updating Markdown files, i.e. every 15 minutes the server pulls the Markdown repo to head.

The application also supports previewing CLs against the Markdown repository. Just append ?cl={Reitveld_issue_number} to any URL and you can see what the file will render with the changes from that CL.


The docserver presumes the Git repository that contains the Markdown files will exists under the /site directory in the repo. Each directory should have an file which is the content for that directory, and any number of .md files beyond the file which are the contents of a directory. Other assetts may appear in the directory structure and will be served over HTTP as files. See below for an example directory layout:

  ├── dev
  │   ├── contrib
  │   │   ├──
  │   │   └──
  │   └──
  ├── logo.png
  ├── roles.png
  ├── user
  │   ├──
  │   ├──
  │   ├──
  │   ├──
  │   └── quick
  │       ├──
  │       └──
  └── xtra

The server will build a navigation menu for the site by walking the directory structure in alphabetical order and will use each Markdown documents first line as the title of the document in the navigation bar.

Running locally


  1. Go
  2. Node

Clone this repo:

git clone

Then build the executable:

cd buildbot/docserverk


Now run docserverk from within the docserverk directory. If $GOPATH/bin is in your $PATH then you can run:

docserverk  --logtostderr --local

otherwise run:

$GOPATH/bin/docserverk  --logtostderr --local

The server will eventually log “Ready to serve” at which point you can visit