A simple desktop Wiki engine built around Markdown and git
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/spock
data
debian
vendor
.gitignore
AUTHORS
BUGS.txt
LICENSE
Makefile
README.md
auth_views.go
cfg_spock.json
config.go
doc.go
gitstorage.go
gitstorage_test.go
helpers.go
helpers_test.go
htmlfuncs.go
index.go
page.go
page_test.go
page_views.go
runlinux.sh
spock.1
storage.go
utils.go
utils_test.go
web.go

README.md

Spock wiki

Spock is a simple wiki software heavily inspired by GitHub's Gollum and is mostly intended as a personal documentation system. I wrote it as a frontend for my technical notes.

Please note: This is alpha software and a toy project: use with caution!

Why another wiki software?

  • I don't want to fight with runtime dependencies, virtualenvs and such.
  • I have a bunch of notes written in Markdown and RestructuredText formats.
  • I like to edit wiki pages with my text editor.
  • I like to use git to maintain the history of my notes.
  • I don't want to run a full LAMP stack just to use my wiki.
  • I'm having some fun learning Go.

Features

  • wiki pages can be written in Markdown or RestructuredText and can be edited with your preferred text editor
  • git is used as the underlying storage system
  • full text search (experimental)
  • nice browser editor thanks to CodeMirror

NOTE: RestructuredText is not rendered by Go code, see below.

Usage

The first time you launch Spock it will need to create the repository directory:

./spock -repo ~/Documents/wiki -init

Typical usage:

./spock -repo ~/Documents/wiki

Installing Spock from sources

Runtime requirements:

  • pandoc optional, enable rendering of rst and org documents

Build requirements:

  • recent version of Go (tested with Go 1.3+)
  • a C compiler
  • git (to fetch some go dependencies)
  • govendor
  • mercurial (to fetch some go dependencies)
  • libgit 0.23.x
  • icu4c
  • leveldb (optional)

On a Debian based GNU/Linux system you should be able to install almost all the required dependencies running:

sudo apt-get install pandoc cmake git mercurial libicu-dev libleveldb-dev

You must build libgit2 0.22.x by yourself.

On OS X with homebrew:

brew install mercurial icu4c leveldb libgit2

Building Spock

You can build Spock by running make; if you system doesn't ship with an updated version of libleveldb you can edit the Makefile and remove leveldb from the Go build tags.

Author

Daniel Kertesz daniel@spatof.org

Spock includes a copy of CodeMirror 4.5: https://github.com/marijnh/codemirror