Wiχi

About

A screenshot of typical WiXi usage BiBTeX support. My current WiXi home.

Wiχi is a LaTeX-based document workbench and Wiki designed to keep collections of documents that do not constitute a website and stand alone on their own merits. Consider a file browser with the ability to edit information inline through a nice, versioned interface.

Wiχi is both a web service and a library:

Cool Stuff that is Supported

Wiχi supports a number of cool things, partially because its design is quite light on files...

Cool Stuff that isn't Supported

The library was never designed for concurrent access. The web interface is entirely stateless except for cookie informsation, but there is the possiblity of overwriting one anothers' files when editing. Since the system is not designed as a public wiki this shouldn't be a problem.

Download

Download WiXi.tar.gz.

Usage & Configuration

Running the wiki is as simple as providing a folder to serve, thus:

$ ./launch.rb /home/extremetomato/wixi
[2011-08-15 17:05:02] INFO  WEBrick 1.3.1
[2011-08-15 17:05:02] INFO  ruby 1.9.2 (2011-07-09) [x86_64-linux]
[2011-08-15 17:05:02] INFO  WEBrick::HTTPServer#start: pid=5189 port=8088
localhost.localdomain - - [15/Aug/2011:17:05:22 BST] "GET / HTTP/1.0" 200 11415
- -> /

Wiχi's configuration format is heavily documented, and is written in YML. The Wiki itself is bundled with a sample directory, which I recommend you use to get familiar with the system. Visit http://your-wixi.url/?mode=config to check your configuration settings.

Requirements

Because the wiki is so heavily based on LaTeX, it requires a large number of LaTeX processing tools, as well as a few ruby libraries to manage things. Largely, each of these is optional to some degree, but you'll need at least one renderer.

Programs required:
Ruby
The wiki was designed on 1.9.1, but should run on 1.8.6 up.
Some TeX distribution
It's almost useless without some flavour of LATEX, but the individual rendering tools are all optional (see below)
LaTeX processing and rendering tools
LaTeX2HTML
Recommended as the `in browser' output. Note that this renderer does not support spaces in filenames, which is a bit daft.
PDFLaTeX
Recommended as the Download/Embed output, and very useful for rendering things like presentations (which LaTeX2HTML cannot handle).
Hevea
Fast and good with maths/symbols, but often lacking in accuracy for text sections, and doesn't support all features of TeX.
DeTeX
Used to strip LaTeX from documents, so can be good for plaintext output.
TtH
Very fast and reasonably accurate HTML output for page embedding.
PlasTeX
Another HTML renderer.
Ruby gems required:
webrick
Used to display and serve the whole site (though technically any CGI wrapper would work if you with to hack the server/serve.rb class).
bibtex_parser
Processes and error checks the bibtex listings.
Optional Ruby gems
iconv
Used for cleansing dodgy UTF-8 input (highly recommended!)
ink
Used to highlight LaTeX templates in the default view. Requires the `pygmentize' application for use (probably in your distribution's package manager)