1. 9

It is annoyingly hard to find people writing about the implementation of a wiki. This was a deilghtful find while doing research.

  1.  

  2. 2

    So, I actually wrote a wiki as a way to learn Node. (It is not terribly idiomatic Node+JS.)

    The way I implemented things relied on CamelCase to simplify some implementation details. I hooked into Marked for looking at and putting links, and marking them for non-existence as needed. It also generated a table of contents, and it did both of these tasks on the client (there’s an editor that previews as you type) and server. Using CamelCase also lets you simplify “what links here” - if pages use CamelCase to link to the page, a search is all that’d be needed. (This is how the old c2 wiki did things.)

    The things I meant to implement later on were transclusions and files.