Introduction and index to Wiki plugins
Wiki Plugins
The Wiki syntax is powerful enough for normal Wikis, but sometimes you need features not present in the Wiki. To ease the process of extending the Wiki syntax Tiki allows you to define a "plugin" to extend the Wiki syntax. Minimum PHP programming skills are needed to build a plugin.Wiki plugins extend the function of wiki syntax with more specialized commands. Usually expressed in {curly brackets} plugins compact a chunk of PHP or HTML code into something that can be understood by non-programmers.
You can view a list of plugins (maybe not the whole list) by clicking wiki help --> show plugins near the bottom of any wiki edit page, or on the wiki help icon on the right side of the page when you're in edit mode. Also, here is a mod you can do to convert the fckeditors templates button into a dialog that can insert wiki syntax. Check it out here: WysiwygPluginButton
See also:
Table of contents
Currently Distributed Plugins
This is a list of all the bundled plugins with a documentation page on this site- not all distributed plugins have their own page. However, some information is available about all plugins at PluginManager. The list of bundled plugins varies with each Tiki version - please see All Plugins for which are available in 2.0 and 3.0. You can install any plugins that are not bundled - please read about it on this page at Installing a new plugin.Plugins documented on this site
- PluginAgentinfo : Display's the user's browser information, IP address and server software information
- PluginAlink : Puts a link to an anchor in a wiki page.
- PluginAname : Puts an anchor into a wiki page.
- PluginAnnotation
- PluginArchiveBuilder
- PluginArticle
- PluginArticles
- PluginAttach : Displays an attachment or a list of attachments
- PluginAuthor
- PluginAvatar : Displays a user's avatar
- PluginBack : Displays a link that allows the user to go back one page in the browser history
- PluginBacklinks : Lists all pages that link to a particular page
- PluginBanner
- PluginBloglist : Displays posts from the tiki blog on a wiki page.
- PluginBox
- PluginCalendar : Plugin to display calendars and their events inside wiki pages
- PluginCategory : Dsiplays a list of categories and objects assigned to those categories
- PluginCatOrphans : Lists all objects that are not categorized
- PluginCatpath : Displays the full category path for the wiki page where the plugin is inserted
- PluginCenter
- PluginCode
- PluginColorbox
- PluginCopyright
- PluginCountdown : Displays a countdown to a future date.
- PluginDataChannel
- PluginDBReport
- PluginDiv : Defines and formats sections of a page or text.
- PluginDl : Creates a definition list
- PluginEquation : Renders an equation written in LaTeX syntax as an image.
- PluginEvents : Displays upcoming events from the tiki site's calendars in a formatted table
- PluginFade : Creates a fade-in/fade-out effect on a text
- PluginFancylist : Creates a fancy looking list
- PluginFancyTable : Displays a table using TikiWiki odd/even style
- PluginFile : Displays a link to a file attached to a wiki page and can display an image attachment
- PluginFiles
- PluginFlash
- PluginFootnote : Footnote and Footnotearea plugins work together to create and display automatically numbered footnotes
- PluginFootnotearea : Footnote and Footnotearea plugins work together to create and display automatically numbered footnotes
- PluginFtp
- PluginGauge : Displays a horizontal bar gauge
- PluginGauge : Displays a horizontal bar gauge
- PluginGoogleVideo
- PluginGoogleDoc : (development) Include Google Docs document.
- PluginGroup : Display to specific groups.
- Plugingroupmail
- Plugingroupmailcore
- PluginGroupstat
- PluginHTML : Add HTML to a page. (3.*, requires validation)
- PluginIframe
- PluginImage : Displays an image or configured image element or series of either
- PluginImg : Displays and image or series of them, either inline or with styling
- PluginInclude
- PluginInvite
- PluginJabber
- PluginJq : Allows JQuery Javascript to be inserted
- PluginJS
- PluginLang
- PluginLastmod : Displays the last modification date of the current or named page
- PluginListpages
- PluginListProgress
- PluginLsDir
- PluginMaketoc : Make Table of Contents from section headings.
- PluginManager
- Pluginmcalendar
- PluginMediaPlayer
- PluginMemberList
- PluginMindmap
- PluginMiniQuiz
- PluginModule : It is possible to show Modules in a Wiki Page
- PluginMono : Diplays text in a monospace font
- PluginMouseover
- PluginMWTable
- PluginMySpace
- PluginObjecthits : Displays number of hits for certain objects
- PluginPagelist
- PluginPerm
- PluginProfile
- PluginUserpref
- PluginPhpFreeChat
- PluginPoll : Display a poll.
- PluginProfile
- PluginProposal : Displays a proposal acceptance widget
- PluginQuote
- PluginR
- Pluginrealnamelist
- PluginRedirect
- PluginRSS
- PluginScreenCast
- PluginSharethis : Adds a ShareThis button so users can share the site through various social networking services
- PluginSheet
- PluginShowpages : Displays a list of links to wiki pages with pagenames that match a search term
- PluginSmarty
- PluginSnarf
- PluginSkype
- PluginSort
- PluginSplit
- PluginSQL
- pluginStat
- PluginSub : Applies subscript font to text
- PluginSubscribeGroup-PluginSubscribeGroups
- PluginSubscribeNewsletter
- PluginSup : Applies superscript font to text
- PluginTabs
- PluginTag
- PluginThumb : Display a thumbnail that pops up to a full size image upon mouseover
- PluginTitleSearch : A search that returns a list of pages with the search text in the page name
- PluginToc : Displays a table of contents of pages or sub-pages in a structure
- PluginTr
- PluginTracker : Create a form in a wiki page (to populate a tracker)
- PluginTrackerFilter : Display a dynamic report in a wiki page (from the data in a tracker)
- PluginTrackerItemField : This plugin allows you to display or to test the value of a field of a tracker item.
- PluginTrackerList : Display a report in a wiki page (from the data in a tracker)
- PluginTrackerPrefill
- PluginTrackerStat : Display some statistics about a tracker.
- PluginTrackerTimeline
- Plugin Tracker Advanced
- PluginTranslated
- PluginUsercount : Displays number of users for a site or group
- PluginUserlist
- PluginVersions : Versions Wiki Plugin
- PluginVote
- PluginWebservice
- PluginWMV
- PluginYouTube
Frequently used Plugins still documented on tikiwiki.org:
See the entire PluginsList - from tikiwiki.org.
See the entire PluginsList - from tikiwiki.org.
Installing a new plugin
Some plugins are not installed by default in your tiki installation. They can be installed at a later stage as a Mod. See how to install them:http://doc.tikiwiki.org/Mods+User
What they look like:
Plugins often have "begin" and "end" tags and are identified in a wiki page using the following syntax:{PLUGINNAME(parameter1=>value,parameter2=>value)} content affected by plugin {PLUGINNAME}
- {NOSPACESAREALLOWEDINPLUGINS(anywhere)}
- plugins are often case sensitive
- parameters you don't specify will be set to their defaults.
- parameters are separated by commas, values within a parameter are separated vertical bars |
- you can use either => or = in parameters.
Example:
Creating A Plugin
We may want to create a plugin to allow text formatting in any font and size:{FONT(size=>20,face=>arial)} some text {FONT}
If a plugin doesn't require parameters you can use
{EXAMPLE()} content {EXAMPLE}
When tiki finds a plugin the engine will look at the plugin name and look for the file
lib/wiki-plugins/wikiplugin_name.php
For example
lib/wiki-plugins/wikiplugin_font.php
That file should be a PHP file defining the function
function wikiplugin_font($data,$params) {}
The function receives the plugin content in $data and the parameters in the $params associative array. The function manipulates the content and must return a string with the HTML that will replace the plugin content when rendering the wiki page (it can be just text if no HTML markup is needed).
This is an example: the example plugin:
function wikiplugin_example($data,$params) {
extract($params, EXTR_SKIP);
if(!isset($face)) {
return ("<b>missing face parameter for plugin</b><br/>");
}
if(!isset($size)) {
return ("<b>missing size parameter for plugin</b><br/>");
}
$ret = "<span style='font-face: $face; font-size: $size'>$data</span>";
return $ret;
}The return of your plugin will be wiki parsed. If you do not want it to be parsed again, you must enclose the value like this
return ' ~np~'.$ret.'~/np~ ';
Plugins are a powerful tool. These are some ideas for plugins:
- Display some language code highlighting its syntax
- Display snippets of code
- Display poetry
- Display text using a special style
- Display charts, gauges.
- Show information from other sites.
- Use plugins to display and maintain bibliography information (using Pybliographer
for instance)
- Etc., etc., etc
Special Plugins
These aren't real plugins but, like plugins, use a slightly different curly braces syntax. Unlike plugins, you don't "close" them. e.g., use { maketoc} instead of { maketoc()} { maketoc}. These can also appear in template (.tpl) files.| Banner | Displays a banner. { banner zone=}. Set up banners via admin menu. Note that if you assign multiple banners to the same zone, will pick a different banner in that zone each time (more or less) the page is refreshed. |
| content | Displays dynamic content |
| draw | Displays a drawing which is an image that can be modified via a Java applet. { draw name=}. name must be unique for the entire site. Requires "drawing" feature to be turned on via the admin menu. If the drawing doesn't exist, the page will display a button that will create the drawing. |
| img | Displays an image { img src= height= width=}. Mimics the HTML img tag. |
| maketoc | Displays an indented table of contents using !, !!, !!! headers. { maketoc}. |
| RSS | Displays an RSS feed. { rss id= max=}. Set up RSS feeds via admin menu (RSS Modules). |
| TOC | Displays a table of contents for the structure that the page belongs to. |
Alias
Contributors to this page: marclaporte
,
omstefanov
,
lindon
,
chibaguy
,
robferguson
,
rpg
,
ricks99
,
Xavi
,
fivos
,
atilabelloquim
,
sylvie
,
gmartin
,
mlpvolt
and
rodrigo_sampaio
.
Page last modified on Tuesday 08 September, 2009 16:08:13 UTC by marclaporte
.
Sidebar
Featured links
Sidebar
To register
To have an account at this site, please register at Tikiwiki.org
, and then use that user name and password to log in here.
