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 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.
to make a hard line break, but be careful with this as it might break layout.
Text can be formatted by putting '-characters around the text you want to format. Here are some examples:
You can also use simple html formatting for things like underlined and strikethrough:
strikethrough
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:
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:
The Bug Genie wiki also lets you link directly to Wikipedia articles by using the WIKIPEDIA namespace:
Remember - if all this sound complicated, you can always just use CamelCasing (provided it's not disabled)
An example table with headers looks like this:
A table must start with a table opener, and end with a table closer:
Table opener:
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:
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:
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":
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 Actors, create the page MaleActors, and at the bottom of that article, put:
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.
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:
Neither will this:
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:
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:
Images float right by default, but this can also be specified as a parameter, by specifying "left" as a parameter on the Image tag:
Here are some examples:
The following keywords are available for automatic substitution: CURRENTMONTH, CURRENTMONTHNAMEGEN, CURRENTMONTHNAME, CURRENTDAY, CURRENTDAYNAME, CURRENTYEAR, CURRENTTIME, NUMBEROFARTICLES, PAGENAME, NAMESPACE, SITENAME, SITETAGLINE.
TBG-24 - issue title
The links will automatically include things such as the title, and a strikethrough if the issue is closed.
To do this, surround your code in
Finally, if you choose GESHI_FANCY_LINE_NUMBERS or highlighted, every nth 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.
Wiki formatting is well explained in the 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 putto 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 pageThis 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:
strikethrough
underlinedunderlined
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 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 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 The Bug Genie
[[/logout|Log out]]Log out
[[TBG:configure_projects|Configure projects]]Configure projects
[[TBG:configure_modules|Modules configuration]]Modules configuration
The Bug Genie wiki also lets you link directly to Wikipedia articles by using the WIKIPEDIA namespace:
[[WIKIPEDIA:CamelCase]]WIKIPEDIA:CamelCase
[[WIKIPEDIA:CamelCase|Wikipedia article]]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.comhttp://www.thebuggenie.com
[http://www.thebuggenie.com]http://www.thebuggenie.com
[http://www.thebuggenie.com The Bug Genie website]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 3and:
|| 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]]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 Actors, create the page MaleActors, and at the bottom of that article, put:
[[Category:Actors]]This will make MaleActors a subcategory of Actors. That means MaleActors will show up in the "Subcategories" list on the 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 tags:<nowiki>some text that shouldn't be parsed [[a|link]] and '''bold text'''</nowiki>some text that shouldn't be parsed [[a|link]] and '''bold text'''
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:
1010
0606
EmberMediaManager.orgEmberMediaManager.org
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 #123ticket #123 - title from ticket here
bug #200bug #200 - serious bug
issue TBG-24issue
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
</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');
. 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
Finally, if you choose GESHI_FANCY_LINE_NUMBERS or highlighted, every nth 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.
<?php
function do_something($stuff) {
echo($stuff);
$mythings = array();
$mythings[] = $stuff;
}
?>
<?php
function do_something($stuff) {
echo($stuff);
$mythings = array();
$mythings[] = $stuff;
}
?>