Skip to content

dushmis/go-wiki

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 exposed on the internet.

Screenshot1

Installation

$ git clone git@github.com:renstrom/go-wiki.git
$ cd go-wiki
$ sudo make install

Dependencies

You will need to install the following dependencies to be able to build.

Customize

Copy public/css/main.css and public/js/main.js to a folder of your choice, for example /srv/http/gowiki so that you have the followig folder structure:

$ tree /srv/http/gowiki
gowiki
└── public
    ├── css
    │   └── main.css
    └── js
        └── main.js

Change the files to your heart's content, and run the server with:

$ gowiki -s /srv/http/gowiki/public

It's also possible to modify the base template used, copy templates/base.html to /srv/http/gowiki/templates/base.html and start with:

$ gowiki -s /srv/http/gowiki/public \
    -t /srv/http/gowiki/templates/base.html

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.

$ gowiki ~/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

About

A simple HTTP server rendering Markdown styled documents

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 67.0%
  • JavaScript 10.6%
  • Makefile 8.7%
  • CSS 7.3%
  • HTML 6.4%