History: Advanced Wiki Syntax usage examples
Source of version: 31 (current)
Copy to clipboard
! 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 ~amp~ tricks with you about making the most out of the Tiki's wiki syntax. {maketoc} !!How to make a non-breakable space In (x)HTML there's __~amp~nbsp;__ or __~amp~#160;__ for it but how to make it on a wiki page ? It's easy using __~np~~hs~~/np~__ which is a shortcut for "hard-space": {CODE(wrap=1)}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. {CODE} generates: 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. !!How to get multiple lines in a table cell {CODE(wrap=1)} ||r1c1|r1c2%%% Here is my first line %%% Here is my second line %%% Here is my third line r2c1|r2c2|| {CODE} generates: ||r1c1|r1c2%%% Here is my first line %%% Here is my second line %%% Here is my third line r2c1|r2c2|| !!How to make an ordered or unordered (bullet) list in a table cell? Doesn't look possible with current syntax... ||r1c1|r1c2%%% #item1 %%% #item2 %%% #item3 r2c1|r2c2|| ||r1c1|r1c2%%% * item1 %%% * item2 %%% * item3 r2c1|r2c2|| ||r1c1|r1c2%%%* item1 %%% * item2 %%% * item3 r2c1|r2c2|| !!! Using HTML Plugin So here is a workaround using the HTML wiki plugin: {CODE(wrap=1)}||r1c1|r1c2{HTML()}<ol><li>item1</li><li>item2</li><li>item3</li></ol>{HTML} r2c1|r2c2||{CODE} generates: ||r1c1|r1c2{HTML()}<ol><li>item1</li><li>item2</li><li>item3</li></ol>{HTML} r2c1|r2c2|| !!! Using Dynamic Variables syntax If you cannot use HTML plugin (which requires admin validation), you can try your luck with ((Dynamic Variable)): {CODE(wrap=1)}||r1c1|r1c2 %ol(% %li(%item1 %)li% %li(%item2 %)li% %)ol% r2c1|r2c2||{CODE} generates: ||r1c1|r1c2 %ol(% %li(%item1 %)li% %li(%item2 %)li% %)ol% r2c1|r2c2|| 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 -+~np~%)li%~/np~+- with -+</li>+-, then -+~np~%li(%~/np~+- with -+<li>+- and finally -+~np~%)ol%~/np~+- with -+</ul>+- and -+~np~%ol(%~/np~+- with -+<ul>+-. After the values are saved, anyone can re-use that new "custom syntax" then. {REMARKSBOX(type="warning",title="Warning",highlight="y",close="n")}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 !{REMARKSBOX} !!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. {SPLIT(joincols=>n],fixedsize=>y,colsize=>100|100)} r1c1 --- r1c2 #item1 #item2 #item3 @@@ r2c1 --- r2c2 {SPLIT} !!Numbered lists which continue after some line breaks {img src=images/code.png}%%% {CODE()} # ((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)) {CODE} generates: # ((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)) !!!Using + for item continuation An alternative is to use __+__ to continue numbering: {img src=images/code.png}%%% {CODE()} # Item # Item # Item + Also, # Item # Item {CODE} generates: # Item # Item # Item + Also, # Item # Item !!Using = with underline === is the syntax for underline. This doesn't work: {img src=images/code.png}%%% {CODE()} === 1+1 = 3 === {CODE} workaround number 1 {img src=images/code.png}%%% {CODE()} === 1+1 ~61~ 3 === {CODE} generates: === 1+1 ~61~ 3 === workaround number 2 {img src=images/code.png}%%% {CODE()} {TAG(tag=u)}1+1 = 3{TAG} {CODE} generates: {TAG(tag=u)}1+1 = 3{TAG} !!Allowing Formatting characters to span paragraphs When you use ~np~::~/np~ or ~np~''~/np~ 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 ~np~::~/np~:: ::__''kerrnel22'' learns%%%something new every day!%%%Thanks ricks!__:: !!!Use ~np~%%%~/np~ 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 ~np~::~/np~:: !!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. * ~123~~123~itemId~125~~125~ Will display 5 if for instance the URL is http://example.org/tiki-index.php?page=mypage&itemId=5 * ~123~~123~itemId|default~125~~125~ will display default if itemId is not in the URL 2 special cases that are defined whatever is in the URL * ~123~~123~page~125~~125~ will display the name of the current page * ~123~~123~user~125~~125~ will display the user name -=Related=- * http://themes.tiki.org/Template+Tricks * ((PluginGroup)) * ((Wiki Argument Variables)) * ((API))