MiniRubyWiki
|
MiniRubyWiki (MRW) targets personal information management (PIM) and team project use, and represents the finest in Ruby 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[edit]
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.
The features[edit]
- 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 <a href="PeterMerel">PM</a>
- 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 <Alt+Space>), 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[edit]
- No f5g Cascading Style Sheets!!
- No versioning.
- No pluggable back-ends.
- No personalization.
- No 'Your name on Recent changes'.
Pending features ('do list')[edit]
- File upload.
- transclusive HTML.
- a CGI front-end.
The feature list currently targets in-house activity.
These pages will always contain the latest checkin:
- https://CVS.SourceForge.net/cgi-bin/viewcvs.cgi/ruedit/ruedit/miniWiki.rb
- https://CVS.SourceForge.net/cgi-bin/viewcvs.cgi/ruedit/ruedit/miniWiki_.rb
To get the source, hit those, and hit the first 'download' clicker you see, using your 'Save as' feature.
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.
External links[edit]
- MiniRubyWiki zip files downloads — at RubyForge.org, via Archive.org
- MiniRubyWiki — at WikiWikiWeb