{{TOC}}
The Bug Genie uses a formatting technique called "Wiki formatting", most commonly known from Wikipedia (!MediaWiki).
The Bug Genie wiki tries to stay as close to the !MediaWiki syntax as possible, so if you're familiar with that syntax you should feel right at home.

Wiki formatting is well explained in the [http://en.wikipedia.org/wiki/Help:Wikitext_examples Wikipedia help article], but can be easily summarized as a simple method of formatting your text by placing certain characters.
We will show you the most common syntax below.

== Line breaks and text formatting ==
You can use line breaks to space out the text and make it more readable in the editor. One line break will not be transformed into a line break when the page is 
displayed. A blank line makes a new paragraph. You can put <br> to make a hard line break, but be careful with this as it might break layout.
  This text is easy to
  read because it is
  split into several lines
  but it will only show up as one line on the page
This text is easy to
read because it is
split into several lines
but it will only show up as one line on the page

Text can be formatted by putting '-characters around the text you want to format. Here are some examples:

  ''this is some italic text''
''this is some italic text''
  '''this is some bold text'''
'''this is some bold text'''
  '''''this is some bold and italic text'''''
'''''this is some bold and italic text'''''

You can also use simple html formatting for things like underlined and strikethrough:

  <strike>strikethrough</strike>
<strike>strikethrough</strike>
  <u>underlined</u>
<u>underlined</u>

== Headings ==
To specify headings, use equals-character around the line you want to be a heading. The number of equals-characters you put around the line decides how big the heading is (1 is biggest, 6 is lowest).
  = I'm a big header =
  == I'm a fairly big header ==
  ===== I'm a very small header =====
Headings will automatically appear in the table of contents (if you have one).

== Creating links between documents ==
Traditionally, wikis have used something called [[WIKIPEDIA:CamelCase|Camel Casing]] to create links between documents. CamelCasing means that you put any word or combination of words as a "'''camel cased'''" word, and then the wiki will create a link to the document with that name for you automatically. If the page you are trying to link to isn't yet created, the link will still be displayed, and you can click it to start editing the new article.

If you want to write a word with more than one capital letter, use an exclamation mark infront of it - that will stop it from being turned into a link automatically. The support for "camel casing" can be turned off in the wiki settings.

You can also use the double square bracket link format to link to internal pages, if you don't want to use the CamelCasing style:
  [[InternalPage]]
[[InternalPage]]
  [[Myproject:MainPage|Myproject wiki frontpage]]
[[Myproject:MainPage|Myproject wiki frontpage]]

With this method you can also link to internal pages in The Bug Genie, by either specifying the relative url (like "/configure" points to the configuration page and "/wiki" points to the wiki), or use the internal route namespace "TBG:" (this has the added benefit of being safe if the link ever changes in a future release).
Unfortunately, the list of routes used in The Bug Genie is quite long, but a few examples are listed below:

  [[/about|About The Bug Genie]]
[[/about|About The Bug Genie]]
  [[/logout|Log out]]
[[/logout|Log out]]
  [[TBG:configure_projects|Configure projects]]
[[TBG:configure_projects|Configure projects]]
  [[TBG:configure_modules|Modules configuration]]
[[TBG:configure_modules|Modules configuration]]

The Bug Genie wiki also lets you link directly to [http://www.wikipedia.org Wikipedia] articles by using the WIKIPEDIA namespace:

  [[WIKIPEDIA:CamelCase]]
[[WIKIPEDIA:CamelCase]]
  [[WIKIPEDIA:CamelCase|Wikipedia article]]
[[WIKIPEDIA:CamelCase|Wikipedia article]]

'''Remember - if all this sound complicated, you can always just use CamelCasing (provided it's not disabled)'''

== Links ==
In addition to linking between internal pages with double square brackets, you can link to external pages with single square brackets. Any URLs inside your text will also automatically be turned into clickable links, but you can also put a pair of square brackets around the link to make it clickable. In addition, you can add a title if you want to:

  http://www.thebuggenie.com
http://www.thebuggenie.com
  [http://www.thebuggenie.com]
[http://www.thebuggenie.com]
  [http://www.thebuggenie.com The Bug Genie website]
[http://www.thebuggenie.com The Bug Genie website]

== Horizontal line ==
If you want to put a horizontal line in the document, use four dashes:

  ----
----

= Advanced usage =

== Tables ==
You can add tables to your wiki page by using the table layout for defining rows, columns and headers. An example table (without headers) looks like this:
  {|
  |-
  | Column 1 || Column 2 || Column 3
  |}
{|
|-
| Column 1 || Column 2 || Column 3
|}

An example table '''with headers''' looks like this:
  {|
  ! Header 1 !! Header 2 !! Header 3
  |-
  | Column 1 || Column 2 || Column 3
  |}
{|
! Header 1 !! Header 2 !! Header 3
|-
| Column 1 || Column 2 || Column 3
|}

A table must start with a table opener, and end with a table closer:

'''Table opener:'''
  {|
'''Table closer:'''
  |}

If you want to add header columns to your table, use the header row formatting, which is similar to the "normal" column formatting, but with an exclamation mark separator character:
  ! Header 1 !! Header 2 !! Header 3

Every new row starts with a row indicator, which looks like this:
  |-

The first column in a row starts with a single or double pipe character, and every new column is separated with a double pipe separator. These are both valid columns:
  | Column 1 || Column 2 || Column 3
and:
  || Column 1 || Column 2 || Column 3


== Categories ==
Your article can be in none, one or more categories. You specify which category your article is in by using the Category namespace link:
  [[Category:Mycategory]]

This won't show up on the page, and you usually place this at the very end of your wiki page when you edit it. Categories will show up in the "Categories" area at the bottom of the article.

If you want to link to a Category, instead of put your article '''in''' a category, put a colon in front of the word "Category":
  [[:Category:Mycategory]]
[[:Category:Mycategory]]

A category can have one or more ''subcategories''. You put one category in another category by putting the Category link shown above ''inside the subcategory article''.

'''Ex:''' after having created the page [[:Category:Actors]], create the page [[:Category:MaleActors]], and at the bottom of that article, put:
  [[Category:Actors]]
This will make [[:Category:MaleActors]] a subcategory of [[:Category:Actors]]. That means [[:Category:MaleActors]] will show up in the "Subcategories" list on the [[:Category:Actors]] page.

Before you can see the content of a category - its subcategories or pages in that category, the category must be created. To create a category, put an article in a category, click the category link at the bottom of the article, and create the page.
A category page is in essence just any other wiki article, but with the list of subcategories (if any) and pages in that category.

== Redirecting from one page to another ==
If you want to make one page redirect directly to another page, use the ''#REDIRECT'' keyword, followed by the article to redirect to, like this:
 #REDIRECT [[PageToRedirectTo]]

The ''#REDIRECT'' must be the first thing on the first line, and must be followed by a space and the article name in the format specified above. This will not work:
 This is some content
 #REDIRECT [[AnotherPage]]

Neither will this:
  #REDIRECT [[AnotherPage]]
(notice the space in front of ''#REDIRECT'')


== Images ==
You can show uploaded images by using the same notation as for links, using the Image namespace:
 [[Image:image1.png]]

The Image: namespaced link accepts several parameters, separated by a pipe (|), and the right-most parameter is always the description. This means that if you want to specify any parameters, you must always put a description as the last parameter:
 [[Image:image1.png|Description here]]
 [[Image:image1.png|thumb|Description here]]

Images are shown full-size by default, but you usually probably want to show a thumbnail of the image instead. To do this, use the "thumb" parameter:
 [[Image:image1.png|thumb|Image description]]

Images float right by default, but this can also be specified as a parameter, by specifying "left" as a parameter on the Image tag:
 [[Image:image1.png|This image floats right]]
 [[Image:image1.png|right|This image also floats right]]
 [[Image:image1.png|left|This image floats left]]

== Completely unparsed text ==
If you have some text that you don't want to be automatically parsed at all, put them inside <nowiki></nowiki> tags:
  <nowiki><nowiki>some text that shouldn't be parsed [[a|link]] and '''bold text'''</nowiki></nowiki>
<nowiki>some text that shouldn't be parsed [[a|link]] and '''bold text'''</nowiki>

== Lists ==
To create a list, use the star character for a bulleted list, hash character for a numbered (ordered) list, or a combination:

  * One bullet
  * Another '''bullet'''
  *# a list item
  *# another list item
  *#* unordered, ordered, unordered
  *#* again
  *# back down one
* One bullet
* Another '''bullet'''
*# a list item
*# another list item
*#* unordered, ordered, unordered
*#* again
*# back down one


== Variables ==
There are some shortcuts available for outputting special data such as the current date, hour, day, etc. By putting special keywords enclosed with two { and }-characters on each side, The Bug Genie will automatically translate this for you.

'''Here are some examples''':
  {{CURRENTMONTH}}
{{CURRENTMONTH}}
  {{CURRENTDAY}}
{{CURRENTDAY}}
  {{SITENAME}}
{{SITENAME}}

The following keywords are available for automatic substitution: CURRENTMONTH, CURRENTMONTHNAMEGEN, CURRENTMONTHNAME, CURRENTDAY, CURRENTDAYNAME, CURRENTYEAR, CURRENTTIME, NUMBEROFARTICLES, PAGENAME, NAMESPACE, SITENAME, SITETAGLINE.

== Table of contents ==
You can get a table of content on your page (like the one in the top right on this page) by using the TOC variable the same way as the "normal" variables above. It doesn't matter where you put this variable in your document, it will always be displayed in the top right corner.

== Linking to issues ==
If you want to link to an issue, use one of the following keywords: '''bug''', '''issue''', '''ticket''', '''story''', followed by the issue number:
  ticket #123
ticket [http://sample.com/product/issue/123 #123 - title from ticket here]
  bug #200
bug [http://sample.com/product/issue/200 #200 - serious bug]
  issue TBG-24
issue <strike>[http://sample.com/product/issue/TBG-24 TBG-24 - issue title]</strike>

The links will automatically include things such as the title, and a strikethrough if the issue is closed.

== Examples / comments ==
If you want to put some text on the page that shouldn't be interpreted (like the examples above), put two spaces in front of each line.
    I'm an example because I have two spaces in front of me (actually I have four, but that's just so you can see the two spaces)
    This is a second line

== Syntax highlighting ==

If you have a code sample you want to place on a page, you can use syntax highlighting to place line numbers, and color the code depending on what language it is.

To do this, surround your code in <nowiki><source></source></nowiki> tags. By default this will use the default language and line numbering settings set by the administrator. You can also override these parameters to match your code settings.

=== Code language ===

To set the language of the code, simply specify it as a property of the source tag, such as <nowiki><source lang="php">echo('hi');</source></nowiki>. If you specify an language that does not exist then no colors will be applied, but there are over 130 language definitions available so chances are you will find the right one. A few of the odd ones are '''html4strict''' for HTML code, and '''dos''' for a DOS batch file.

=== Line numbering ===

Three parameters are available to set the line numbering. The first of these is called '''line''', and it sets the style of numbering that is performed. The following styles are available:
* '''GESHI_FANCY_LINE_NUMBERS''' or '''highlighted''' - Line numbering with a highlighted row at a regular interval (this interval is configurable)
* '''GESHI_NORMAL_LINE_NUMBERS''' or '''normal''' - Normal line numbers with no highlighting
* '''Anything else''' - No numbers
You can also specify the number at which the numbers count from. This is useful if you have taken a snippet from line 1000 in a file, and you want to make the snippet show this so that its easier to match the two up. To do this, the parameter is '''line start="''number''"''' (there is a space between line and start), and it will start counting from ''number''.

Finally, if you choose '''GESHI_FANCY_LINE_NUMBERS''' or '''highlighted''', every ''n''th row is highlighted. To set a value for ''n'', you use the highlight property. For example if you set it to 10, then every 10th row will be highlighted.

Below is an example of all of the properties in use.

<nowiki>
<source lang="php" line="highlighted" line start="54" highlight="3">
<?php
function do_something($stuff) {
echo($stuff);
$mythings = array();
$mythings[] = $stuff;
}
?>
</source>
</nowiki>

<source lang="php" line="highlighted" line start="54" highlight="3">
<?php
function do_something($stuff) {
echo($stuff);
$mythings = array();
$mythings[] = $stuff;
}
?>
</source>

[[Category:Help]][[Category:Help:Howto]]