Wiki Markup

How to doMarkup characterExample usageHTML equivalentSuggested CSSIf you don't want it!
link to wiki page[ ][Page on something]
a.internal
{
color: Blue;
}
a.external
{
color: Red;
}
erm... tough. you're stuck with it. sorry
renamed link to wiki page[[ ][ ]][[page to link to][name to display]]
link to web page[ ][http://www.web.com/]<a href="http://www.web.com/"> http://www.web.com/</a>
renamed link to web page[[ ][ ]][[http://www.web.com/][name to display]]<a href="http://www.web.com/"> name to display</a>
Common formatting
bold text**this will be bold*<strong>this will be bold</strong> **
displays a single asterisk

or disable in Preferences
italic text==this will be italized=<em>this will be italized</em> ==
displays a single equals

or disable in Preferences
underline text__this will be underlined_<u>this will be underlined</u> __
displays a single underscore

or disable in Preferences
strike-out text--this will be crossed out-<strike>this will be crossed out</strike> --
displays a single dash

or disable in Preferences
heading 1++At the start of a line<H1>This is a heading</H1> add a space before the + at the start of the line
heading 2++++At the start of a line<H2>This is a heading</H2> add a space before the ++ at the start of the line
heading 3++++++At the start of a line<H3>This is a heading</H3> add a space before the +++ at the start of the line
heading 4++++++++At the start of a line<H4>This is a heading</H4> add a space before the ++++ at the start of the line
heading 5++++++++++At the start of a line<H5>This is a heading</H5> add a space before the +++++ at the start of the line
heading 6++++++++++++At the start of a line<H6>This is a heading</H6> add a space before the ++++++ at the start of the line
Lists
bullet point--At the start of a line<UL><LI>This will be bullet-pointed</LI></UL> add a space before the - at the start of the line
bullet point (indented)--
keep adding - to indent further
--At the start of a line<UL><LI><UL><LI>This will be bullet-pointed</LI></UL></LI></UL> add a space before the -- at the start of the line
numbered list##At the start of a line<OL><LI>This will be numbered</LI></OL> add a space before the # at the start of the line
numbered list (indented)##
keep adding # to indent further
##At the start of a line<OL><LI><OL><LI>This will be numbered</LI></OL></LI></OL> add a space before the ## at the start of the line
Smileys
happy:) or :-)I am happy :)I am happy <img src="smileys\happy.gif"/> disable in Preferences
grin:D or :-DI am very happy :DI am happy <img src="smileys\grin.gif"/>
shock:O or :-OI am shocked :OI am happy <img src="smileys\shock.gif"/>
tongue:P or :-PI am cheeky :PI am happy <img src="smileys\tongue.gif"/>
Other
blockquote>
keep adding > to indent further
> this is quoted
> so is this
<blockquote>this is a blockquote</blockquote>
blockquote {
border-left: 5px solid #ccc;
margin-left: 1.5em;
}
add a space before the > at the start of the line
horizontal line______<HR> Add a space before the ___ at the start of a line
tables|| cells | in | a | table <table>
table
{
border: solid thin black;
width: 100%;
}
td
{
border: solid thin gray;
}
||
displays a single vertical bar
code[| |][| this will look like code |]<code>this is a code snippet</code> see below
ignore markup[{ }][{ blah
blah
}]
HTML markup[< >][< <img src="http://www.blah.com/mypic.jpg"> >]
image markup[][$testimage.gif$]<img src="path\to\your\wiki\pages\testimage.gif" />

Creating new pages

To create a new page, just create a link to a page that doesn't exist yet. When you click on a link to a page that doesn't exist, a new page is created for you.

New pages are prefilled with a standard template text that can be customised by clicking on the template menu item. You can use this to define standard menu links that you want on every page.

'Smart' syntax

It is possible to enable 'smart' syntax from Tools -> Preferences. This can be enabled for each type of inline-syntax individually.

When enabled, 'smart' syntax changes the behaviour of the wiki markup parser. For markup to be recognised, it must:

• Have whitespace immediately before
• The wiki markup character
• Some non-whitespace text
• The wiki markup character
• Some whitespace immediately after

For example, this would be recognised as being bold:

    *I am bold*

but these would all ignored by the parser and be shown as the characters:

    blah*Writing before stops it*
*Writing after stops it*blah
* Space at the start stops it*
*Space at the end stops it *

The intention of 'smart' syntax is to make it harder for syntax to be applied unintentionally. For example, it would prevent a hyphenated word (e.g. "jiggery-pokery") resulting in strikeout (e.g. "jiggerypokery"), thanks to the lack of whitespace before the hyphen character.

Entering wiki markup on Windows Mobile

For PDAs without a keyboard, the 'Symbols Bar' can be used to enter wiki markup characters. Show the 'Symbols Bar' by clicking on Edit -> Symbols bar.

Wiki tags which should go at the start of a line (e.g. headings) will be added to the start of the current line. Other wiki tags will be inserted at the current cursor position. If any text is selected, the tag will be wrapped around the selected text.

The Symbols Bar is only present on the Windows Mobile version.

Shortcut buttons on Windows Mobile

For faster access to menu items on PDAs, the 'Buttons Bar' can be used. Show the 'Buttons Bar' by clicking on View -> Buttons bar.

The following buttons are included:

 < go back H go home > go forward J jump to - open page navigator B bookmarks - show bookmarks S search - search current wiki L location - change wiki location

The Buttons Bar is only present on the Windows Mobile version.

Including images in wiki pages

Images copied to the same directory as your wiki pages will by synced along with the wiki text files. They can be included in a wiki page using image tags ([])

For example, if you copy an image called 'myimage.gif' to your wiki pages directory, you can include it in a page like this:

   [$myimage.gif$]

The wiki parser inserts the path of your wiki directory into the <IMG> tag that it creates for you. For more control over the full IMG tag, you can write the HTML yourself, using HTML markup.

Including HTML in wiki pages

The HTML markup tags ([< >]) let you use any HTML code in a wiki page. A good use for this is for including images on the Internet.

    [< <strong>Long-winded way of making bold text</strong>  >]
    [< <img src="http://www.domain.com/image.gif"/>  >]

This is more useful on the desktop wiki, or on mobiles with a good Internet connection!

Syncing with Windows Mobile

If you create a directory called "WM_Wiki_Pages" in your ActiveSync "My Documents" folder, then files will be synced to a directory used by the Windows Mobile version.

Otherwise, you can use a third-party application to sync to anywhere else. Freeware software like MobSync can sync any directory on your desktop with any directory (including on Storage Card) on your PDA.

Customizing the look

Create a CSS stylesheet at C:\Documents and Settings\YourUserNameHere\Local Settings\Application Data\bLADE Wiki\wikistyle.css to customise the appearance of the wiki.

On the desktop version, this file can be opened using Tools -> Customise wiki appearance

The stylesheet is located at \Program Files\bLADE_Wiki\wikistyle.css on the Windows Mobile version. As it is likely that you will want different styles (especially different sizes) on a smaller screen, the two files are not synced.

A sample sheet is provided for both versions, and guidance for editing them is provided here (normal wiki markup), here (highlighting search results) and here (highlighting external links)

Link to section within a page

For longer pages, you can link to a specific part of the page using syntax like this: [Page about animals#Tigers]

Link to a section in the current page by omitting the page name, like this: [#Tigers] to jump to the 'Tigers' anchor on the current page.

Code lines vs Code blocks

Individual code lines will have markup applied. So for example, you can use bold like this:

[| *functionName()* |]

If you don't want markup while writing a single code line, you can either 'escape' the markup characters as with normal text, or use a multi-line code block:

[|
i = i * 3;
|]

Multi-line code blocks do not have markup applied. If you do want to use markup to format code, you can write it as a series of individual lines:

[| *functionName()* |]
[| _somethingUnderlined();_ |]
[| partOfALongStringIn=Italics=(); |]

Ignore all wiki markup

If you want to ignore all formatting for a chunk of text, surround it with [{ and }]. For example:

[{ blah blah blah
blah * blah - blah = ignore _ all * of - these
}] back to normal here!

This is useful when copying and pasting large amounts of text into a wiki page, and you don't want to have to go through it escaping all of the wiki markup characters.

It also lets you create bullet lists with more than a single line for each item.

Keyboard shortcuts

Keyboard shortcuts in the desktop version are shown next to their menu items. Additional keyboard shortcuts include:

 Ctrl-E Toggle between View and Edit mode Ctrl-+ Zoom in Ctrl-- Zoom out Ctrl-A Select all Ctrl-F (View Mode) Search within a page Ctrl-S (View Mode) Search across a wiki

Deleting wiki pages

Pages deleted using Delete -> Delete this page can be restored from the Recycle Bin.

Go to Delete -> Delete / Undelete pages ..., choose 'Recycle Bin' from the list, and select the pages to be restored.

The wiki pages are stored as plain text files, so that they can be edited, viewed or searched in your favourite tools.

It is also possible to export the formatted wiki pages, allowing them to be viewed on machines without this software.

• Tools -> Export page to HTML - exports the current page.
• Tools -> Export whole wiki to HTML - (desktop version only) exports the whole wiki to a directory as static HTML pages.

Tools

The following tools are provided to make managing your wiki a little easier:

(Edit mode only) Inserts a bullet-point index of wiki pages at the current cursor location - ideal for larger wikis

(Edit mode only) Inserts a bullet-point index of all wiki pages which contain a link to the current page

(Edit mode only) Create a link to another wiki page without needing to remember what you called it - choose from a list of existing pages

Tools -> Template for new pages
(See Creating new pages) Alter the template used for all new pages - saves typing out standard headers or footers that you want on every page

Tools -> Export page to HTML
(View mode only) Save the current page to an HTML or MHT file which you can send to people who don't use this software

Tools -> Export whole wiki to HTML
(View mode only) Save the current wiki to a directory as static HTML pages

Tools -> Show in browser
Launch the current page in your default external browser

Tools -> Print
Print the current page

Tools -> Search
Search for pages containing a given search term. Double-click on a page name in the results list to view that page. Search window stays open to let you view more than one result. See here to have the search terms highlighted in the page.

Tools -> Statistics
Display wiki statistics like file sizes, number of pages, last edit, etc.

Tools -> Preferences
Disable individual types of wiki syntax that you do not require, or enable 'smart' syntax.

You can also enable timestamps to be added to the footer of every page, showing when pages were created and/or last modified.

It is also possible to enable support for accented characters in page names. Accented characters are always supported in wiki pages, however extending support for accents in page names decreases performance, and so is disabled by default. If you do not regularly use accents in page names, then it is recommended that you leave this disabled.

Tools -> Customize wiki appearance
Open the stylesheet used to define the appearance of the wiki.

Links beginning with http, ftp, file or mailto allow you to launch external web pages, open other documents or send emails.

Using a.external in the stylesheet, you can specify links outside the wiki to look different to links to a normal wiki page.

For example, I use something like this in my wiki notes to open a gif image that I like to refer to regularly - opened by clicking on a link labelled 'open workflow cheatsheet' in my wiki page.

[[file:///C:\myimages\work\cheatsheet.gif][open workflow cheatsheet]]

And something like this to send emails:

[[mailto:mickey@disney.com][email Mickey]]

Highlighting search results

When opening a page from the Search Results form, it is possible for the search terms to be highlighted in the page. This can be configured in the wiki stylesheet using the span style 'searchresult'.

For example, for all search terms to be highlighted with a yellow background:

.searchresult {
background-color: yellow;
}

Or, for all search terms to be highlighted in bold red text:

.searchresult {
color: red;
font-weight: bold;
}

Running desktop version as a portable application (e.g. from a USB memory stick)

By default, settings and configuration files are stored in a folder under your %APPDATA% directory. This means that it doesn't matter where you run the application from, you still keep your preferences and history. It also means that the application can be used by different users on a single computer but with each user having their own settings store.

An alternative way to run the application is in portable mode where settings and configuration files are stored in the directory where the application is run from. This makes it suitable for running from a USB memory stick.

To do this, run the application with the -portable option (i.e. "bLADE Personal Wiki Desktop.exe" -portable)

A shortcut can be created to make this easier to do repeatedly.

Note that .NET 2 Framework will still need to be installed on any machine that you run the application on.

NoteStudio users

A NoteStudio plugin is included which allows you to export existing NoteStudio books to text files in their original wiki markup.

Copy this file to your NoteStudio plugin directory, restart NoteStudio, then choose 'Export all books' from the 'Tools -> Plugins' menu.

Your books will be exported to the path identified in the comment at the top of the plugin file.

The plugin has had virtually no testing... it isn't impossible that you will find some errors. The two most likely sources of errors are:

• you have some characters in your page names that will confuse it (I use page names as file names, NoteStudio doesn't - so I have more problems with characters normally used in URL codes)
• you come across differences in syntax between this and NoteStudio (Although they started quite similar, this wiki has changed slightly over time. Setting bold/italic/underline to use smart syntax and disable strikeout should get you fairly similar behaviour... although you may still come across sections of page which don't look as they used to in NoteStudio)

At this point, it's perhaps better to think of the plugin as a way of doing 90% of the work of moving from NoteStudio to this wiki. It's still better than having to do it all yourself, but theres still some stuff left to do.

Why can't I get rid of the horizontal scrollbar in the View mode on Windows Mobile?

I'm not sure. I'm looking into it, and it seems to be a problem with the settings inherited from Pocket Internet Explorer. In the meantime, I've found that if Pocket Internet Explorer has the 'View mode' set to 'Default' when you start the wiki, then you don't get this problem.

Why are the zoom controls disabled in View mode on Windows Mobile?

I haven't been able to do this using the Compact Framework WebBrowser component. I'm actually not sure that it will be possible, but I'm still looking into it.

Why doesn't your wiki do X?

Probably because I haven't thought of that. Why don't you email me to suggest it? Most of the features added since 1.4.0 have been the result of requests like this. My email address is dale.lane@gmail.com.

Where did the pretty icon come from?

Mark James at famfamfam.com. (Provided under a Creative Commons license).

Is your version numbering system entirely random?

More or less. :-)

It's basically a reflection of how much work it felt like to make the change.

Small code changes (like small bug fixes or new features that needed hardly any work) incremented the last number - e.g. from x.x.1 to x.x.2.

Larger code changes (like more complex bug fixes, or new features which required a reasonable amount of work) incremented the middle number - e.g. from x.1.x to x.2.x. The move to version 2 was after spending a weekend rewriting the wiki parser from scratch.

Why don't multi-line paragraphs marked with the strike out tag appear crossed out on the Mobile version?

This appears to be a bug in Pocket Internet Explorer. The wiki markup parser produces the same HTML code on the Mobile version as it does on the desktop, however Internet Explorer renders it differently on the mobile. Sorry.

Why don't my links to external pages (with wiki markup characters in the URLs) work?

I include long URLs in my notes, and I sometimes like to markup (underline, or mark as bold or italics) sections of the URL for emphasis. For example, I can mark the domain name part of a URL in bold. So, I've left the wiki markup parser so that it continues to markup links. And I know that when I have URLs with wiki markup characters in, I have to escape them.

For example, if I want a link to http://dalelane.co.uk/blog/?p=38 in my notes, I have to type [http://dalelane.co.uk/blog/?p==38] (escaping the equals character).

If you don't like this behaviour, you can change it in Preferences - Disable wiki markup in links

How can I include more than a single line for each item in a bullet or numbered list?

The only way that I am aware of is to use the [{ }] tags to prevent a new bullet being started. This idea is described in more detail here.

Will the Windows Mobile version work on a Smartphone?

No. The different forms used in the wiki application use a variety of widgets that are not supported on Windows Mobile Smartphone - like drop-down lists, push buttons, radio buttons and more. I have no plans to write a new Smartphone GUI at this point. Sorry.