Wik

About

Wik’s sample content
Wik’s sample content

Wik is almost, but not quite, a wiki. It’s a front-end for reading collections of text files and other documents as notes in a browser, and was designed as a workbench so that I could easily and quickly view documentation in projects. It’s a single file, and can quickly be run in a given folder to give an overview of its contents in a readable and easily-accessible way.

The focus of Wik is on document consumption—it formats its text output in a very readable style (thanks to Jason Milkins), and displays other documents raw (such as images) for easy review. A print stylesheet is provided, and content scales to fit on mobile device screens.

Limited editing functions are also available, and pages can be created, deleted and modified through a web interface. File uploads are also supported. These editing functions are for convenience only, and Wik deliberately neglects features of other wikis, in that it does not support versioning, multiple users/locking, etc.

Wik’s written in ruby, and requires:

  • ruby 1.9.1 or above
  • the markdown and mime-types gems

Download

Download from the git summary page.

Usage

Wik’s own README file is viewable in wik simply by running

$ ./wik

…and then visiting http://localhost:8080 in a browser.

Configuration

Wik can be configured using a file in /etc/ or in the current working directory (an example config file is bundled), and accepts the following command-line flags:

$ ./wik -h
Usage: wik [options]
    -i, --interface INTERFACE        Listen on the given interface (default is 127.0.0.1, set to  for all)
    -p, --port PORT                  Port to listen on
    -n, --daemonise                  Daemonise process
    -r, --read-only                  Disable editing features
    -x, --external-editing           Enable external edit links (disabled if interface is not '127.0.0.1')
    -w, --no-web-editing             Disable web edit box
    -m, --no-menu                    Disable menu
    -t, --no-toc                     Disable table-of-contents
    -u, --uploads                    Allow file uploads
    -d, --directory DIR              The directory in which to find content
    -D, --default INDEX              Index page name
    -e, --edit-pw PASSWORD           The password to use to prevent editing (insecure without SSL)
    -C, --no-clean-dirs              Leave empty directories when deleting blank files
    -f, --favicon ICON               Read favicon from file
    -b, --blacklist REGEX            Blacklist a certain regex from file listings (i.e. hidden files, RCS files)
    -B, --browser CMD                Browser command to launch after starting (quits when browser process ends)
    -c, --config FILE                Read configuration from the given file