Nanowiki

NanoWiki is a Wiki implementation based on picowiki.

I have been using SimpleNote for a number of years. It works pretty well but somehow I was looking for:

  • Ability to include and render nice asciiart pictures
  • Organizes articles in a folder structure.

So I was looking for a Wiki package that could either do this or be extended to do this.

screenshot

Other features that I was looking for:

  • Use of markdown for markup, and be able to tweak the format as needed.
  • Editor that would syntax highlight the markdown syntax
  • Store data as simple files
  • Written in a language I am familiar with.
  • software generated network graphs (graphviz)

So, after looking at a number of packages, I opted for one that allthough did not have all features, but it was small enough and easily extendable.

PicoWiki is a very small Wiki implementation with a plugin architecture, so it is quite easy to extend. The downside of this is that the functionality in PicoWiki is quite limited. So I added the following features:

  • file management: create, delete, rename, modify, attach, etc.
  • hooks for access control
  • meta data support
  • Disabled code execution. This can be considered a "security" feature.
  • Support for byte ranges. This lets you stream video files directly from the wiki.
  • toggable, folder or document views.
  • theme support
  • Multiple file type handling

The default installations has the following plugins:

  • Emoji : Render emojis
  • HTML : HTML content handler
  • MarkDown : Markdown content handler
  • Includes : Include Wiki documents in another
  • Vars : Expand variables. Either from document metadata or from the NanoWiki config file.
  • WikiLinks : short hand for wiki links.