Instiki
HomePage

Instiki 0.30.3 is a Security-Release. Please update. (See here for more information.)

Introduction

These pages are devoted to Instiki (current version Instiki 0.30.3), the nifty Ruby-on-Rails-based Wiki. There’s also a forum, where you can discuss issues with Instiki, ask questions, etc.

At the beginning of 2007, I forked Instiki 0.11, and started to develop this MathML-enabled branch. Two years later, we decided to merge the two branches. If you’re running Instiki 0.16.3 or later, you’re actually running this branch, and the information here pertains to you.

Math support is based on itex2MML and is enabled if you choose the (default) “Markdown+itex2MML” text filter. There’s a quite serviceable LaTeX export (click on the “TeX” link at the bottom of any wiki page).

Since this version of Instiki emits real XHTML, you can also do fancy things, like embed inline SVG. It should render in any SVG-capable browser. To create the SVG, you can use the built-in WYSIWYG SVG editor or you can use Tikz.

You can have multiple wikis (“Webs” in the parlance of Instiki) under the same Instiki instance. Each wiki can be password-protected (with its own distinct password). And, if you’re so-inclined, you can publish a “read-only” version of a password-protected wiki, so that others can read, but not modify, what you’ve written.

Installation is very easy. Instiki comes bundled with its own webserver (which, by default, listens on port 2500), so you should be up-and-running in minutes.

Of course, there are always improvements that can be made. That’s where (I hope) you come in …

Features

The main motivation for this branch is its support of math and inline SVG. Other features include

  • It is based on a modified version of Rails 2.3.18 and it is being actively developed. In the last year or so before the merger, most of the checkins on the main branch of Instiki had been security fixes, backported from here.
  • In particular, this branch is compatible with Ruby 2.6-3.2.
  • It’s been extensively modified to work correctly as XHTML.
  • It does content-negotiation, to serve application/xhtml+xml to compatible browsers. That includes Internet Explorer, with the MathPlayer plugin installed.
  • For those browsers which don’t support MathML, Instiki uses MathJax Javascript-based rendering.
  • Markdown is the default markup syntax. Textile is available (but not recommended — the Textile filter doesn’t work in an XHTML environment, so many of the advanced features of this branch are not available under Textile).
  • It uses Maruku as its Markdown engine, instead of BlueCloth. This provides much better performance, as well as many extensions to the usual Markdown syntax.
  • It has an enhanced syntax for marking up theorems, proofs, etc.
  • It uses xhtmldiff to generate “redline” documents of changes between successive versions of a wiki page (the “See changes” link at the bottom of any wiki page).
  • It has a real, functional, LaTeX view, which produces a TeXable output (equations and all) from your Markdown+itex source.
  • It has an S5 output view, which produces an S5 slide show (complete with equations!) from your Markdown+itex source. And it supports S5 Themes, for that customized look-and-feel.
  • It has a built-in SVG-Editor. You can create beautiful, scalable vector graphics right in your wiki pages.
  • With an optional install, it supports embedded Tikz pictures.
  • It uses Atom 1.0 for its syndication feeds.
  • Enhanced administrative features, for easier management of Wiki pages and uploaded files.
  • Support for the HTML5 <audio> and <video> elements.
  • Support for embedding Youtube videos.
  • Support for embedding Wolfram CDF files.
  • x-sendfile support.
  • File system-based caching, full support for Etags and Conditional GETs, for more efficient use of bandwidth.
  • Many other improvements and bugfixes.

Source & License

Instiki is free software, licensed under the same license as Ruby. The current release version is 0.30.2. The current development version (which is what this site is running on) is available on Github, from the BZR repository or as a tarball. The BZR Repository has an Atom feed, with which you can stay abreast of the development of this software.

Math support is provided by itex2MML Ruby bindings (available as a rubygem), whose development can be followed by subscribing to its Atom feed. itex2MML is licensed under a triple LGPL, GPL and MPL license.

Maruku and SVG-Edit are MIT Licensed.

Changelog

Here’s a comprehensive list of the changes made to this branch of Instiki.

Sandbox

If you want to see this MathML-enabled Wiki software in action, feel free to play around in the Sandbox.