2021-02-28 Wiki Improvements

Prior to this change, click would receive a title or a slug, convert it to a slug, and then show the page. The showing would try to convert the slug back into a title but that particular flow would fail for clicks on the graphviz plugin. This change lets the original title passed through in the cases when we already know the intended title, as we do in the graphviz case.

It is interesting to see that this change required ten small adjustments in three different files. See commit

This feels like a fun example of life as a programmer. Each of the 10 small adjustments is itself one thread in a tapestry. My ability to find the connection between those specific threads comes mostly from having poked around in this code for years. It was also pretty vital that I was able to spend an hour working on it together with Ward and paul90. For about 5 of the lines (the ones that bind a click handler to the internal links), I knew what I needed to look for, but they were able to point me exactly where to find them. Also very important, their previous work on this codebase over many years has meant that there were only a few places that needed changing to make this improvement.

Try it here.

We've also updated the graphviz plugin to prefer node labels if the author provides them.

digraph { rankdir=LR node [shape=box style="filled,rounded"] A [label=Apple] C [label=Carrot] A -> { B C } -> D C -> E }