| docserver |
| ========= |
| 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. |
| |
| |
| Design |
| ====== |
| |
| 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. |