Dup Goto 📝

home

PT3/ 03-07 15:43:04
To Pop
38 lines, 550 words, 3328 chars Saturday 2026-03-07 15:43:04
Purple Tree 3 AI Generated Logo Placeholder

Purple Tree 3 - Navigate, Edit, Save

Purple Tree 3 is a personal Wiki system. It is intended to both allow for the creation of quickly and easily edited websites, like you'll find dotted around allsup.co, but it is also an effective system for creating and accessing notes. It is written in PHP and Javascript, using no frameworks.

The source code is available at this github repo and it requires only a LAMP stack to run. Essentially you create a directory for each subdomain in side the sites directory, which contains only that data specific to that subdomain. Then point your web server at the root subdirectory in there, edit the config.php file in the config subdirectory, add your authentication code as desired, and voila: Wiki!

The PHP is broken up into separate files so that only the PHP required is loaded. External dependencies like Mathjax for displaying \(\LaTeX\) are pulled in only if the page source makes use of them.

I hope to write some documentation at some point, and this wiki is the intended home of that documentation, but there are other pressing priorities in life at the moment, so far as writing things is concerned.

The Paradigm

It is a Wiki. The name Wiki comes from "Wikiwiki", meaning "Quick", and is a concept invented in the 90s by Ward Cunningham for his Portland Pattern Repository. The "Quick" pertains to how quick it is to edit and write content. The basic workflow is this: Nagivate, Edit, Save, and that's it. No pointing and clicking. Just go (however you like) to the URL where you want the content to go, hit edit, write the content, and hit save. Then it has various keyboard shortcuts to speed this process, and a "Goto Box" which shaves a few keystrokes off using the URL bar. To search by word, use a url of the form /path/to/.w/term1/term2 for an OR, or /path/to/.w/.a/term1/term2 for AND. Or /path/to/.t/tag1 to search by tag. To a fluent typist like me, this makes navigating and editing an order of magnitude quicker than Wikipedia, and even more of a gulf compared to adding pages on e.g. Wordpress or Joomla. So my workflow is Ctrl-G, PageName, Ctrl-backtick, write content, Ctrl-S/Ctrl-backtick. The Ctrl-backtick shortcut saves and goes back to view mode; the Ctrl-S shortcut saves and remains in edit mode. It is roughly as quick as editing words in a word processor document you have open, and arguably easier to navigate than a single 100 page document. Then it has some nice features based on a use/abuse of what in Markdown are meant to be 'fenced code blocks'. And it is easy to add such 'special block', as to add one is just a matter of adding a method to the PTMD class in the PHP source. Stuff like custom CSS is thus easy to add to a page.

For example, one can easily add a span with a custom style or similar with a div. In the top right is an icon to view the Purple Tree Markdown source of the page.