Contribute Your Knowledge ~ Expert Features

Introduction

These features require an expert understanding of the Wiki editing and management techniques.

They should not be tackled until conversant with the basic page editing and management methods.

Return to Overview Page.

Control Macros

These control codes influence how the Wiki renders a page, sometimes without creating any output itself. The following control macros may be available depending on the Syntax Plugins installed.

Macro Syntax Plugin Description and Examples of Use
~~NOTOC~~ Inhibit the Table of Contents for Headlines
~~NOCACHE~~ Inhibit output cache (e.g. if PHP used) to render page on every call
~~NOSUBJECTINDEX~~ SubjectIndexPrevent indexing of {{entry>…}} tags in page by the plugin
~~PAGEINDEX~~ Page-Index List all pages in the current namespace in a bullet list
~~PAGEINDEX=namespace~~ Page-Index List all pages in the specified namespace in a bullet list
~~INFO:keyword~~ Info Display some DokuWiki information determined by the keyword
~~GOTO>pagename~~ GOTO Redirect to specified pagename after 10 secs default as per Alternative Index Entries
~~GOTO>pagename?15~~ GOTO Redirect to specified pagename after 15 secs (min 3 secs)
~~CLOUD~~ Cloud Show a cloud of the 50 most frequently used words
~~CLOUD:99~~ Cloud Show a cloud of the 99 most frequently used words
~~TAGCLOUD~~ Cloud & Tag Show a cloud of the 50 most frequent category tags
~~TAGCLOUD:99~~ Cloud & Tag Show a cloud of the 99 most frequent category tags
{{tag>tag1 tag2 tag3}} Tag Assign a space separated list of category tags to a page as per Categories
{{topic>tag #flags}}Tag List pages containing a category tag according to optional Pagelist Plugin flags
{{topic>tag1 tag2}} Tag List pages containing either category tag1 or tag2 or both
{{topic>tag1 +tag2}} Tag List pages containing both category tag1 and tag2
{{topic>tag1 -tag2}} Tag List pages containing category tag1 but not tag2
{{alphaindex>namespace}} Alphaindex Create alphabetical index of pages in specified namespace as per Alphabetic Titles
{{alphaindex>.#n}} Alphaindex Create alphabetical index of pages nested n deep in namespace
{{alphaindex>|nons}} Alphaindex Create alphabetical index of all pages but no namespace nodes
{{changes>namespace}} Changes List 10 pages recently changed in the namespace as per Changes Plugin
{{changes>n&type=create}} Changes List n pages recently changed by create/edit/minor and supported by Pagelist Plugin
{{backlinks>.}} fh backlink List pages that link to current page as per Backlinks
{{backlinks>namespace}} Backlink List pages that link to the namespace (not supported)
{{fhsearch}} fh Extended Search Add an Algolia search to a page
{{fh}} fh Plugin Display custom fh logo
{{page>page&flags}} Include Include text of another page as per Include Plugin and Shared Page Contents
{{namespace>namespace}} Include Include text of whole namespace optionally governed by flags
{{tagtopic>tags&flags}} Include Include text of pages with topic tags optionally governed by flags
{{NEWPAGE>namespace}} New page Create a new page where >namespace is optional
{{pushfile>filepath}} Pushfile Download file where filepath is the namespace & file as per Pushfile Plugin Macro
{{pushfile>filepath|filename}}Pushfile Download file where filename replaces filename part of filepath
{{entry>sect;head;text*}}SubjectIndex Create a new index entry for this page as per Alphabetic Index
{{subjectindex>options}} SubjectIndex Add a subject index list on this page as per Alphabetic Index
{{videosite>id}} Video Sharing Show video with id at videosite such as YouTube
{{youtube>id}} Video Sharing Show video with 11-character share id from YouTube as per YouTube Animations
{{youtube>id?size}} Video Sharing Show YouTube where size is widthxheight or keyword small, medium, or large
{{youtube>id?size|title}} Video Sharing Show YouTube with a title and left, centre, right aligned as per Images and Image Links
{{rss>URL Parameters}} RSS/ATOM feeds as per RSS/ATOM Feed Aggregation
<box options></box> Box Create coloured boxes as per Boxes
<color colours></color> Color Syntax Colour text font as per Font Colour
<hidetextlegend></hidetext> HideText Hide any text as per Hidden Text
!- -! Commentsrc Comment any text as per Comments
Return to Overview Page.

Syntax Plugins

The Wiki syntax can be extended by Plugins. How the installed plugins are used is described on their appropriate guides. The following syntax plugins are available in this particular Wiki installation:

Return to Overview Page.

YouTube Animations

The Video Share Plugin allows animated tutorials from video sites such as YouTube to be added to a page.

You create your video tutorials using screen capturing software such as the freeware CamStudio WinFF YouTube package.

You must register for a free account on YouTube so that you can upload each video with commentary or captions.

If you already have a Google account then you can use it with YouTube as follows:

  1. Visit the Google home page and click on the blue Sign in link usually top right.
  2. Visit the YouTube home page and click on the large blue Create Account button.
  3. It should say You're currently signed in to Google and offer a Sign me up! link for you to use.
  4. Fill in your account details ensuring the Email Address is your Google Email sign in address used in step 1 above.

Each video has a unique 11-character share id, which must be added to the {{youtube>id}} Control Macro.

At present this is only an overview, so if you need more detail please ask via the Web Site Usage forum.

Return to Overview Page.

These are hyperlink mechanisms not included in the Edit Links and Media section.

The Wiki does not use CamelCase to automatically create hyperlinks by default, but this behaviour can be enabled by an administrator adding the config:camelcase setting. Hint: If DokuWiki is a link, then it is enabled.

Windows Shares

Windows shares like this are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate Intranet.

Windows Shares like [[\\server\share|this]] are recognized, too.

Notes:

  • For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone").
  • For Mozilla and Firefox it can be enabled through the config option security.checkloaduri but this is not recommended.
  • The DokuWiki plugin:smblink has more info and needs to be installed by an administrator.

To prevent unwanted spam it is possible to hide E-mail addresses in encrypted JavaScript code, so only real people using real browsers will see them, and not E-mail harvesting robots that crawl the web looking for exposed addresses.

For example to encrypt [[mailto:janetaubman@gmail.com|Jane Taubman]] visit http://hivelogic.com/enkoder/ and fill in The Basic Form details as follows:

Email address:
janetaubman@gmail.com
Link text:
Jane Taubman
Link title text:
mailto:janetaubman@gmail.com

Click the Submit button. Copy the entire JavaScript code into your Wiki page. Surround this code with <html> & </html> tags as defined in Embedding HTML Code that must be enabled by an administrator. The resulting E-mail address will appear as shown below.

Contact <b> (encrypted content removed as it produces 403 Forbidden message); </b> by E-mail.

Contact 
<html><b>
(encrypted content removed as it produces 403 Forbidden message);
</b></html>
by E-mail.
Return to Overview Page.

Specialist Content

These involve data entry forms, embedded HTML & PHP code, and RSS feeds.

HTML Input Forms

The Bureaucracy Plugin allows HTML forms to be created, with input format validation automatically handled by the plugin. User input can be emailed to a preconfigured address or used to create new pages using a template.
e.g.

New Account
<form>
action mail xyz@xyz.xyz
thanks "Thanks for requesting an account."
fieldset "New Account"
textbox "Full Name"
email "E-Mail Addr" !
textbox "Username"
password "Password"
submit "Apply for Account"
</form>

See the Bureaucracy Plugin documentation for further details.

Embedding HTML Code

You can embed raw HTML code into your documents by using the <html> & </html> tags. HTML embedding is disabled by default, and if so, the code is displayed instead of executed.
e.g.

This is some <span style="color:red;font-size:150%;">inline HTML</span>

<p style="border:2px dashed red;">And this is some block HTML</p>
<html>
This is some <span style="color:red;font-size:150%;">inline HTML</span>
</html>
<HTML>
<p style="border:2px dashed red;">And this is some block HTML</p>
</HTML>

Embedding PHP Code

You can embed raw PHP code into your documents by using the <php> & </php> tags. PHP embedding is disabled by default, and if so, the code is displayed instead of executed.
e.g.

echo 'A logo generated by PHP:'; echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />'; echo '(inline HTML)';

echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';
<php>
echo 'A logo generated by PHP:';
echo '<img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" />';
echo '(generated inline HTML)';
</php>
<PHP>
echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td><img src="' . $_SERVER['PHP_SELF'] . '?=' . php_logo_guid() . '" alt="PHP Logo !" /></td>';
echo '</tr></table>';
</PHP>

RSS/ATOM Feed Aggregation

The Wiki {{rss>URL Parameters}} Control Macro can integrate data from external XML feeds. For parsing the XML feeds, SimplePie is used. All formats understood by SimplePie can be used in the Wiki as well. You can influence the rendering by multiple additional space separated parameters:

Parameter Description
any number will be used as maximum number items to show, defaults to 8
reverse display the last items in the feed first
author show item authors names
date show item dates
description show the item description. If HTML is disabled all tags will be stripped
n[dhm] refresh period, where d=days, h=hours, m=minutes (e.g. 12h = 12 hours)

The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. The Wiki will generally try to supply a cached version of a page. Obviously this is inappropriate if the page contains dynamic external content. The parameter tells the Wiki to re-render the page if it is more than the refresh period since the page was last rendered. See RSS/ATOM Feed Aggregation for details.
e.g.
The following 5 RSS feeds are generated by the macro code listed below them.

{{rss>http://slashdot.org/index.rss 5 author date 1h}}
Return to Overview Page.

Reference Material

These are links to reference guides and other material not listed elsewhere.

Return to Overview Page.