/go-wiki

A simple HTTP server rendering Markdown styled documents

Primary LanguageGoMIT LicenseMIT

Go Wiki

A simple HTTP server rendering Markdown styled documents on the fly and optionally shows its git history including diffs.

NOTE This is toy project to help me learn Go, so don't run this on anything publically available.

Screenshot1

Installation

$ go get github.com/renstrom/go-wiki
$ $GOPATH/bin/go-wiki <path to wiki directory>

Customize

It's only possible to customize the CSS. Put all your customizations in a file of your choosing and point to it using the --custom-css flag.

$ go-wiki ~/www/wiki --custom-css=<path to custom css>

Usage

Create git repository containing your Markdown formatted wiki pages.

On the server

Create an empty repository.

$ mkdir -p ~/www/wiki && cd $_
$ git init
$ git config core.worktree ~/www/wiki
$ git config receive.denycurrentbranch ignore

Setup a post-receive hook.

$ cat > .git/hooks/post-receive <<EOF
#!/bin/sh
git checkout --force
EOF
$ chmod +x .git/hooks/post-receive

Start the server.

$ go-wiki ~/www/wiki

On your local machine

Replace <user> and <host> with credentials for your specific machine.

$ git init
$ git remote add origin \
    ssh://<user>@<host>/home/<user>/www/wiki

Now create some Markdown file and push.

$ git add index.md
$ git commit -m 'Add index page'
$ git push origin master

License

MIT