MiniRubyWiki

MiniRubyWiki (MRW) targets  (PIM) and team project use, and represents the finest in  development and wiki theory.

This wiki comes with its own little server. I wrote the server part to avoid discovering how to configure Apache to get rid of the 'cgi-bin/wiki.rb' crap in the URL. A future version will peacibly co-exist with your web server.

It's still 'mini' because it does not have public wiki features such as versioning, security, phrenology, etc.

The zip
That expands a folder containing a small site showing most of the features. The topic of the site is roughly MRW's location in its world.
 * http://Ruedit.SourceForge.net/MiniRubyWiki.zip

The features

 * WikiWikiWeb: Wiki Nerve Center
 * This now also contains a 'calendar' displaying the current and then next week, with today's day field in green.
 * The Style Sheet hilites dates in the formats MM/DD/YY format or DD-Mmm-YYYY format.
 * The Calendar displays links to pages containing these dates, within current fortnight, in the appropriate date fields.
 * The Tool Tip for these links contains the line with the date in it.
 * This simple feature permits the wiki to schedule your team.
 * WikiWikiWeb: Wiki Style Sheet - a page where you can add custom markup tags, as regular expressions and raw HTML.
 * The word TODO will always appear big on a red background, for example.
 * Or ;-) will replace with a graphic of a smiling face.
 * 'hanging indent'
 * When you copy in an e-mail or UseNet post, the reply ticks > appear correctly formatted and italicized.
 * You can extend the sheet with numerous project-specific tweaks, such as replacing a colleague's initials, \bPM\b, with PM
 * Hitting http://127.0.0.1/NewPage, if the page does not exist but the name 'NewPage' is well-formed, opens an 'Edit Page' on that name.
 * Read http://127.0.0.1/WikiWikiDockyDocky to learn to bond Visual C++ with MRW.
 * This feature lets you write the name of a new page into a VC++ project, tap a configured keystroke (I use ), raise IE with an editor on that page, and write the page.
 * One could conceivably document a project like that, but we all know real engineers don't document. (MWR's source is living proof.) One can use the Wiki to author, say, ornery hip-hop lyrics as one codes, for example.
 * WikiUnrequitedLinks - a page containing every broken internal link (with a ? clicker) in the Wiki. Use this to polish the technical trivia.
 * WikiBanner - the first line of this page renders in the upper right corner of every page. Put a daily affirmation and links to FrontPage, RecentChanges here.
 * Minor Edits
 * We defend the most recently changed file when a conflicting change comes in.
 * Real command-line arguments to set the host and port - ruby miniWiki.rb 192.168.2.10 80
 * Better RecentChanges esthetics, including 'green bar'.
 * A Change Synopsis visible in RecentChanges and at the bottom of each page. Wiki markup works here too.
 * Pages backed up in pure HTML for faster download. <-- Offline; platform issues
 * Image transclusion, with backlinks.
 * Bug free nested outline mode (unlike some Wikis we could mention..).
 * The standard Spirit of Wiki markup tags.
 * Embedded WikiWikiWeb: GraphViz - see WikiWikiWeb: GraphWiki. !
 * A beautiful search engine.
 * SearchPage is a real page; administrators can add lite 'help' here.
 * Searches use regex (which newbies will probably trip over). the rendered (therefor clickable) citations in the found-list.
 * Errors in the regex don't crash the server; they report cleanly in the SearchPage's output region.
 * Remote Link completion (what this wiki calls 'RemoteWikiUrl?').
 * Remote Links appear as Local:remote.
 * Clicking the first part takes you into your own Wiki to the page declaring the remote link. This lets you describe your project's relationship to that resource.
 * The remote is any text that may complete an URL. Clicking it assembles the complete URL and takes you, in a new browser window, to that resource.
 * Remote Links may contain a $ to embed the dynamic ligand inside the static part of an URL. This feature works great for WikiWikiWeb: CvsWeb, which goes like server/path/$?rev=HEAD&markup=pretty. You target your source filename into the $ with just CvsWeb:file.h
 * Local: - the link name, a colon, and nothing after it - links to the remote target without more URI.
 * If Locals URL has a $', it and everything after it strip off when resolving Local:
 * To change the logo in the upper left, find the variable $art and replace its >last< assignment with a string declaring your image.

The un-features

 * No f5g Cascading Style Sheets!!
 * No versioning.
 * No pluggable back-ends.
 * No personalization.
 * No 'Your name on Recent changes'.

Pending features ('do list')
The feature list currently targets in-house activity.
 * File upload.
 * transclusive HTML.
 * a CGI front-end.

These pages will always contain the latest checkin: To get the source, hit those, and hit the first 'download' clicker you see, using your 'Save as' feature.
 * https://CVS.SourceForge.net/cgi-bin/viewcvs.cgi/ruedit/ruedit/miniWiki.rb
 * https://CVS.SourceForge.net/cgi-bin/viewcvs.cgi/ruedit/ruedit/miniWiki_.rb

XPSD practices WikiWiki: Continuous Communication.

Installing a wiki your first day on a new job at a virgin site is a real score, especially if the wiki comes with its own server and needs no setup.