BooHaunt Wiki Primer

BooHaunt is a DokuWiki-powered wiki. Thus, the syntax of this wiki is similar to most other DokuWikis. This page is meant to show how BooHaunt differs and extends the normal DokuWiki syntax. If you have never used a DokuWiki, I recommend you visit the Formatting Syntax page.

BooHaunt DokuWiki Extensions

Code Snippets

Being a site centered around Boo, it would make no sense not to support syntax highlighting for Boo. So, we do. All it takes is to specify boo as the language in the code tag. Additionally, the .NET Common Intermediate Language (CIL) is also supported. These are in addition to those normally supported by the GeSHi Syntax Highlighter.

Additionally, you can provide a caption for the snippet to provide context by adding a pipe after the language and adding the caption as such:

<code boo|Sample Caption>

The caption does not support any wiki markup.

You should always provide a caption for your code snippets as a courtesy to those browsing the page. It helps such casual browsers to pick out snippets that may be relevant to their goals.

Both of these extensions are also useable with the file tag. This extension is documented on the code plugin page at DokuWiki. Be aware that text in code tags is output monospaced and verbatim without word-wrapping. Thus, beware code blocks such as this:

This is a long monospaced line. Unfortunately, there is no way to know when the line should break unless you tell it when to break.  If you don't, then the line of monospaced text, or perhaps the important rhetorical diatribe that you were trying to get across will be lost far beyond the scroll bar where only the spiders and bots read. But hey, maybe you'll win the lottery or do well in the stock market...
Which is how you end up rich.

Couldn’t read the end of the line? The author should have been more courteous by tossing in a few linebreaks. You can help out by editing the page youself. Go on, you have the power. (Well, not on this page, but in the rest of the Wiki, have at it!)

Examples of Use

View the code to see how this snippet was written:

"""
A DocString explaining what this snippet does
"""
namespace BooHaunt.Test
 
import System
 
class Example:
  [getter(Pi)] static final pi = 3.14
 
  def constructor(dummy as date):
    print "Today is ${date.Now}"
    print 'You provided ' + dummy
    span = date.Now - dummy
 
  def Unsafe():
    try:
      # Does something unsafe
    except ex:
      raise WrappedException(ex)
    ensure:
      // Something happens...

Sample Boo Code

.method public static void Main() cil managed
{
      .entrypoint
      .maxstack 8
      ldstr "Hello world!."
      call void [mscorlib]System.Console::WriteLine(string)
      ret
}

A CIL Hello World Example

<file |File Tag Example> The File tag does not do syntax highlighting </file>

Notes, Tips, and Warnings

The note plugin provides an effective method to call a reader’s attention to pertinent information, whether that be a tip, warning, point to remember or general note. To add one of these eye-catching callouts, use the note tag.

Examples of Use

This is a general note, as in an item that should be considered while doing something.

<note>This is a general note, as 
in an item that should be considered 
while doing something.</note>

This is a “tip” note, as in a helpful thing to try, or a better way to do things than the obvious, naïve approach.

<note tip>This is a "tip" note, as 
in a helpful thing to try, or a better way
to do things than the obvious, naïve approach.</note>

More than just a general note, this is an item that needs to be considered or is important to remember when doing something.

<note important>More than just a general
note, this is an item that needs to be 
considered or is important to remember 
when doing something.</note>

When ”Here be dragons” is an appropriate statement, you’ll want to put in a warning note. This acts as a road marker to direct people away from making potentially dangerous decisions or to proceed carefully. Think of this as a step beyond important.

<note warning>When "[[wp>Here be dragons]]" 
is an appropriate statement, you'll want to put 
in a warning note.  This acts as a road marker 
to direct people away from making potentially 
dangerous decisions or to proceed carefully.  
Think of this as a step beyond ''important''.</note>

InterWiki

BooHaunt has some additional InterWiki links defined that are specific to Boo. These include:

boohome

Links to Boo’s project homepage hosted by codehaus

boobug

Links to the JIRA project bug tracker

boosvn

Links to the Boo Subversion Repository as viewed through FishEye

boodoc

Links to the sister wiki hosted on codehaus using Confluence

As well, these InterWiki links are defined beyond those provided by DokuWiki:

wktnry

Links to the appropriate entry in the English Wiktionary

In addition, these default InterWiki links may be of interest while preparing a page:

wp

Links to Wikipedia

google

Links to a Google search results page

go

The same as above, but uses “I feel lucky” to automatically visit the first search result, e.g. Boo programming language

meatball

Links to the UseMod MeatBall wiki

wiki

Links to WardsWiki, aka the Wiki, on Software Development

A good wiki will not only be well interconnected, but should provide links to other wikis that focus on content outside of its own scope. This helps to reduce duplication of effort, helps to improve the content of the jointly used content, and keeps this wiki focused on providing Boo-centric content.

Definition Lists

Definition lists allow an editor to create a listing of terms and their definitions. This extension is similar to that of bulleted and ordered lists.

Term

Definition

Term2

Has sub-definitions

Inner Term

Definition

Term3

First definition

Second definition

  ?? Term :: Definition !!
  ?? Term2 :: Has sub-definitions
    ?? Inner Term :: Definition !! !!
  ?? Term3
:: First definition !!
Second definition !!

Note that for nested definition lists, or definition lists inside of other lists, the level of indent must be noted by 2 spaces per indent level before the ??. More examples of this can be seen on this page. For a more full example of how to use definition lists, see plugin:deflist.

<note important>The deflist plugin generates anchors for every term to provide for quick linking. Thus it is important to ensure that all terms on a given page are unique so that valid XHTML is generated.

Keyboard Key Presses

BooHaunt wiki also support the ability to mark output that directs the user to press certain keys. For example, to produce an interupt on a Windows machine, you press Ctrl+Alt+Del. The markup to generate that is:

<key>Ctrl-Alt-Del</key>

Outdent

In DokuWiki’s default markup, text associated with deeper headings are delimted with deeper indentation. There are times, however, some text should be associated with a parent heading and not with the deeper subheading. By default, there is no method to do this except to insert a blank heading, but the outdent plugin allows just this by creating a line with two equal signs ”==” to mark an outdent:

Outdent Example

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pulvinar viverra urna. Mauris sagittis augue in dolor. Nullam a libero. Etiam at orci. Curabitur accumsan mauris ac diam. Vestibulum at tortor. Nullam in mi. Nulla fermentum posuere turpis. Integer nec ipsum. Duis elit.

Ut eu lorem ac erat pulvinar mollis. Morbi ornare est sed purus. Praesent arcu est, placerat id, mollis at, gravida eu, massa. Aenean quam turpis, viverra tincidunt, malesuada nec, volutpat eget, nisl. Duis varius magna faucibus orci. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam quam arcu, consectetuer vitae, rutrum non, mollis at, tellus. Fusce at ligula quis nisi ultrices rutrum. Quisque eu ligula.

Nam volutpat pellentesque urna. Praesent iaculis gravida est. In vel augue. Morbi sem massa, tincidunt vitae, gravida eu, dapibus nec, diam. Phasellus aliquam erat sit amet leo. Aliquam venenatis lacus malesuada sapien. Nulla facilisi. Aenean ornare mi in erat. Pellentesque scelerisque tincidunt nulla. Nulla facilisi. Nulla vel magna vitae lectus mollis tincidunt. Sed felis risus, vestibulum quis, ullamcorper non, vehicula sed, mi. Phasellus vestibulum felis gravida nulla. Nulla vel magna a erat fringilla euismod. Morbi enim justo, hendrerit id, luctus varius, feugiat eu, nulla.

Maecenas pretium. Pellentesque condimentum pulvinar diam. Sed tempus cursus odio. Suspendisse potenti. Proin nisl. Nunc aliquet, enim quis elementum fermentum, quam ipsum viverra nisi, ac volutpat nunc neque sit amet lorem. Fusce pharetra nibh. Phasellus at diam vitae erat tempus semper. Etiam elit. Donec in nisl eget sem hendrerit auctor. Donec diam massa, pretium eu, dignissim sit amet, fermentum ut, arcu. Maecenas a quam eu tellus varius tristique. Curabitur tempus euismod augue. Aliquam erat volutpat.

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis id pede ac eros hendrerit hendrerit. Suspendisse potenti. Vivamus porttitor, nisl a sollicitudin vestibulum, ipsum augue eleifend risus, nec dapibus justo dolor lobortis pede. Pellentesque dignissim ultrices sapien. Donec est. Cras quis sem id ipsum malesuada gravida. Proin aliquet suscipit orci. Etiam ut nisl. Suspendisse id risus. In sem orci, volutpat nec, congue in, viverra at, enim. Morbi ac erat. In eleifend, leo sagittis feugiat luctus, nisl purus sagittis quam, congue facilisis justo massa non quam. Cras interdum.

Outdented text: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum pulvinar viverra urna. Mauris sagittis augue in dolor. Nullam a libero. Etiam at orci. Curabitur accumsan mauris ac diam. Vestibulum at tortor. Nullam in mi. Nulla fermentum posuere turpis. Integer nec ipsum. Duis elit.

Spoilers

When writing exercises or quizes that guests can use to test their knowledge and progress with Boo, having the answers initially hidden gives a guest a chance to try the exercise before the answer is ultimately reveiled. These spoilers can be nested, allowing for hidden follow-ups that chain off the answer from the previous question. The default title for the spoiler tag is “Spoiler:”, so it is usually best to give the tag a title to display. Like so:

  1. Create a simple “Hello World!” program in Boo.
Answer 1

Avatar

When making a comment and signing it, you may decide to add your own version of your signature. Online services, such as Gravatar allow users to create a central spot for storing their avatars. These avatars/icons can then be used on many websites by providing the user’s email address which is then used as the key for selecting the appropriate avatar. If you are a registered user, you can use your username and the plugin will pull the avatar for the email you used when you registered and title’s it with your “Real Name”. More information on the syntax is available on the avatar plugin page.

Examples: Marcus Griep My Gravatar

Signature: — Marcus GriepMarcus Griep 2008/03/31 12:55

Tags

DokuWiki doesn’t provide a bundled-in resource for categorizing pages, but the tag plugin was created to allow tags to be attached to pages. To attach a tag to a page, create a medialink with the “InterWiki” part set to tag. The best place to put tags is at the bottom of the page where they are less likely to get in the way of page content.

{{tag>help}}

Multiple tags can be delimited with spaces. This page is tagged as a help page. You can see the output at the bottom of this page.

 
wiki/boohaunt_wiki_primer.txt · Last modified: 2008/06/21 19:43 (external edit)
 
Ohloh project report for Boo Programming Language
Recent changes RSS feed Content licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki Free SSL Secured By StartCom