The allmark website describes it as a "fast, standalone markdown web server for Linux, Mac OS and Windows written in go." - I want to use it for previewing offline edits of my website, before comitting them to git.

By default, it processes markdown files with extensions of .md, .markdown, and .mdown. Ikiwiki, however, likes an extension of .mdwn - so, I set about the easy task of rebuilding allmark to handle the extra file extension. I would have preferred if ikiwiki natively supported a .md extension, but it doesn't.

I installed go under Windows, since I wanted to build a Windows executable - I didn't need to know anything about programming go, and still don't...

Clone allmark

T:\temp> git clone https://github.com/andreaskoch/allmark
Cloning into 'allmark'...
remote: Counting objects: 12904, done.
remote: Compressing objects: 100% (4332/4332), done.
remote: Total 12904 (delta 7636), reused 12904 (delta 7636), pack-reused 0 eceiving objects: 100% (12904/12904), 15.77 MiB | 6
Receiving objects: 100% (12904/12904), 15.96 MiB | 631.00 KiB/s, done.
Resolving deltas: 100% (7636/7636), done.
Checking connectivity... done.
Checking out files: 100% (774/774), done.

Find the file to edit

T:\temp> cd allmark
T:\temp\allmark> grep mdown -r *
README.md:1. one markdown file per folder (with the extension .md, .markdown or .mdown)
src/allmark.io/modules/dataaccess/filesystem/util.go:   case ".md", ".markdown", ".mdown":

Looks like src/allmark.io/modules/dataaccess/filesystem/util.go is the one.

Edit that line in the file to say case ".md", ".markdown", ".mdown", ".mdwn":

Rebuild

As per instructions on the allmark website, it was just a matter of running this in my allmark directory:

T:\temp\allmark> go run make.go -install

Then find the allmark.exe binary in the T:\temp\allmark\bin directory (only that single file is required).