Advanced Wiki Syntax Examples

Wiki syntax is simple and useful in most cases. However, there are some times where wiki syntax gets in the way or it seems you need to use (x)HTML. This page is to share tips & tricks with you about making the most out of the Tiki's wiki syntax.

How to make a non-breakable space


In (x)HTML there's   or   for it but how to make it on a wiki page ? It's easy using ~hs~ which is a shortcut for "hard-space":

This is especially useful when you want to~hs~write a~hs~nicely formatted sentence with some date at~hs~the~hs~end of~hs~a~hs~line which will not break into parts after wrapping when resizing the~hs~viewport: 13th~hs~of~hs~December,~hs~2007.


generates:
This is especially useful when you want to write a nicely formatted sentence with some date at the end of a line which will not break into parts after wrapping when resizing the viewport: 13th of December, 2007.

How to get multiple lines in a table cell

||r1c1|r1c2%%% Here is my first line %%% Here is my second line %%% Here is my third line
r2c1|r2c2||


generates:

r1c1r1c2%%% Here is my first line
Here is my second line
Here is my third line
r2c1r2c2


How to make an ordered or unordered (bullet) list in a table cell?


Doesn't look possible with current syntax...

r1c1r1c2%%% #item1
#item2
#item3
r2c1r2c2

r1c1r1c2%%% * item1
* item2
* item3
r2c1r2c2

r1c1r1c2%%%* item1
* item2
* item3
r2c1r2c2

Using HTML Plugin

So here is a workaround using the HTML wiki plugin:

||r1c1|r1c2{HTML()}<ol><li>item1</li><li>item2</li><li>item3</li></ol>{HTML}
r2c1|r2c2||
generates:
r1c1r1c2
  1. item1
  2. item2
  3. item3
r2c1r2c2

Using Dynamic Variables syntax

If you cannot use HTML plugin (which requires admin validation), you can try your luck with Dynamic Variable:

||r1c1|r1c2 %ol(% %li(%item1 %)li% %li(%item2 %)li% %)ol%
r2c1|r2c2||
generates:
r1c1r1c2
    %li(%item1 %li(%item2 %)ol%
r2c1r2c2
The trick is after you save the wiki page that you need to click every NaV to edit the dynamic variables you just created and substitute first occurence of %)li% with </li>, then %li(% with <li> and finally %)ol% with </ul> and %ol(% with <ul>. After the values are saved, anyone can re-use that new "custom syntax" then.
 Warning
Be careful what you put in the content of the dynamic variable which you edit. Only some characters are supported. Alphabet, numbers and HTML tags are fine, but it doesn't support double quotes for example so HTML attributes will not work and there is no GUI to edit the dynamic variables later (afaik, at the time of writing this) when they become tags and thus un-clickable elements !

Creating advanced tables

Would be nice to not have to resort to HTML when doing tables where you want to span columns or rows. Adding colspan/rowspan options and possibly also allowing individual cell alignment (vert and horiz) would be great. Even if this was relegated to something like FANCYTABLES, I'd be happy with it.

SPLIT plugin work-around

Would have to edit the plugin and/or CSS if you want a border, though.

r1c1
r1c2

  1. item1
  2. item2
  3. item3
r2c1
r2c2

Numbered lists which continue after some line breaks

Image
# ((tw:Top-10 files))
# ((tw:Participate|Top-10 ways to help))
# ((tw:Top-10 news|Top-10 ways to get news))
# ((tw:Top-10 stats)) about Tiki
# ((tw:Top-10 differences|Top-10 ways in which Tiki is very different from other projects))
# ((tw:WhyUseTiki|Top-10 reasons to choose Tiki))
# ((tw:Top-10 criticisms))%%% %%% Also,%%% %%%
# ((tw:TikiBackronym|Top-10 potential meanings for T-i-k-i))
# ((tw:Top-10 Words))

generates:

  1. Top-10 files
  2. Top-10 ways to help
  3. Top-10 ways to get news
  4. Top-10 stats about Tiki
  5. Top-10 ways in which Tiki is very different from other projects
  6. Top-10 reasons to choose Tiki
  7. Top-10 criticisms

    Also,

  8. Top-10 potential meanings for T-i-k-i
  9. Top-10 Words

Using + for item continuation

An alternative is to use + to continue numbering:

Image
# Item 
# Item 
# Item 
+ Also,
# Item 
# Item

generates:

  1. Item
  2. Item
  3. Item
    Also,
  4. Item
  5. Item

Using = with underline

=== is the syntax for underline.

This doesn't work:

Image
=== 1+1 = 3 ===


workaround number 1

Image
=== 1+1 ~61~ 3 ===


generates:
1+1 = 3

workaround number 2

Image
{TAG(tag=u)}1+1 = 3{TAG}


generates:
1+1 = 3

Allowing Formatting characters to span paragraphs

When you use :: or '' or similar formatting tags, at leat in 1.9 (haven't tried in 1.10) they don't get recognized. Instead you see the beginning characters, then the paragraph, then the paragraph space, then the continuation of the next paragraph ending with the closing characters.

''This doesn't
work properly.''
But this does.

::Irritating when you want to center
text across multiple lines without bracketing::

every line with ::

kerrnel22 learns
something new every day!
Thanks ricks!


Use %%% to break lines within formatting

For example:

This does
work properly.

Not so irritating when you want to center
text across multiple lines without bracketing
every line with ::

Wrap code Sections to Fit the Window

Not sure if this is something browser-specific or Tiki-specific (I think it's both), but when you put really long lines inside CODE blocks they tend to run off the right side of the page and completely mess up the pagescape. It would be nice, based on the size of the window (and therefore the size of the middle content box) to wrap the CODE text at the right margin of the middle box.

Having said that, when using CODE blocks on a printer-friendly page, they don't get wrapped there, even when you send it to the printer. I think that's a browser issue. But we should be able to address the wiki page issue?

Solution is easy: use wrap=1 parameter in CODE plugin

How to display URL param in a page or the page name or the user name

You need to activate the feature 'Wiki Argument Variables' on Admin > Editing and Plugins panel for Tiki >= 5. For Tiki version 4.x, you need to manually set the preference in the database as feature_wiki_argvariable.

2 special cases that are defined whatever is in the URL

  • {{page}} will display the name of the current page
  • {{user}} will display the user name

Related