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
index.md
file which is the content for that directory, and any number of
.md
files beyond the index.md
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:
site
├── dev
│ ├── contrib
│ │ ├── codereviews.md
│ │ └── index.md
│ └── index.md
├── index.md
├── logo.png
├── roles.md
├── roles.png
├── user
│ ├── api.md
│ ├── download.md
│ ├── index.md
│ ├── issue-tracker.md
│ └── quick
│ ├── index.md
│ └── linux.md
└── xtra
└── index.md
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.