Plugin Code

This wiki plugin is used to display any source code (including wiki syntax) on a page without it being processed. The code is displayed in a gray box in a fixed-width monospaced font. A title can be added to the box and line numbers added. Syntax highlighting is also available, since Tiki7 using CodeMirror and using GeSHi before that.

 Note about Wiki Argument Variables
Wiki argument variables like {{page}} will be interpreted inside any wiki plugin or wiki syntax. To display a wiki argument variable you can escape the first bracket using the np (non parseable) tag: ~np~{~/np~{page}}.


Display code with syntax highlighting and line numbering.
Introduced in Tiki 1.
Go to the source code
Preferences required: wikiplugin_code

Parameters Accepted Values Description Default Since
(body of plugin) Code to be displayed
caption text Code snippet label. 1
colors text Any supported language listed at http://codemirror.net/mode/. Pref feature_syntax_highlighter must be true for this to have any effect 17
wrap (blank)
Wrap lines of code which do not fit in the display box's width. Enabling avoids overflow or hidden line ends. 1
theme default| 3024-day| 3024-night| abcdef| ambiance-mobile| ambiance| base16-dark| base16-light| bespin| blackboard| cobalt| colorforth| dracula| eclipse| elegant| erlang-dark| hopscotch| icecoder| isotope| lesser-dark| liquibyte| material| mbo| mdn-like| midnight| monokai| neat| neo| night| panda-syntax| paraiso-dark| paraiso-light| pastel-on-dark| railscasts| rubyblue| seti| solarized| the-matrix| tomorrow-night-bright| tomorrow-night-eighties| ttcn| twilight| vibrant-ink| xq-dark| xq-light| yeti| zenburn Any supported theme listed at https://codemirror.net/demo/theme.html 17
ln (blank)
Show line numbers for each line of code. 1
rtl (blank)
Switch the text display from left to right, to right to left (left to right by default) 1
mediawiki (blank)
Encloses the code in an HTML code tag, for example: <code>user input<code> 0 8.3

Syntax highlighting

To activate syntax highlighting and enjoy most of the options (lines number, colors, etc), the Code editor (CodeMirror) feature must be enabled at Control Panels > Editing and Plugins > General Settings (tab) > Features (pane).

See the list of CodeMirror supported languages that can be used for the colors parameter.

If you need a mode that keeps tab spacing, you can use, for instance, mode scss.


\n"; } {CODE}

Would produce:

Copy to clipboard
getHomeMenu(); if($menu->link != "") { print "\t
\n"; }

PHP with line numbers

This code:

Copy to clipboard
{CODE(colors="php")} getHomeMenu(); if($menu->link != "") { print "\t
\n"; $menu->printMenu(); print "\t \n"; $menu->printMenu(); print "\t

Tiki syntax highlighting

Tiki syntax is supported too.
This code:

Copy to clipboard
{CODE(colors="tiki")} {img attId="57|58|59" desc="desc" alt="Sample Images" thumb="y" stylebox="float: left; margin-right:10px"} {CODE}

Would produce:

Copy to clipboard
{img attId="57|58|59" desc="desc" alt="Sample Images" thumb="y" stylebox="float: left; margin-right:10px"}

Legacy GeSHi Documentation (deprecated in Tiki8)


Installing GeSHi

Since GeSHi has been licensed under GPL - which is incompatible with Tiki's LGPL license - the administrator will need to manually download a copy of GeSHI. It appears the project now uses GitHub for the repository.
Once you have you copy of Geshi, you should place it in your own tiki's lib/geshi/ directory, so that once placed there the folder structure is something like:

Copy to clipboard
./lib/geshi/contrib/ ./lib/geshi/docs/ ./lib/geshi/geshi/ ./lib/geshi/geshi.php

You could alternatively install the stable version of GeSHI with the Debian/Ubuntu package php-geshi (check if the version of the package is fresh enough for your needs, compared to the latest stable from their website or subversion repository).

Supported languages

To be certain which languages your installation of GeSHi covers, check the language files in directory where GeSHi was installed. See the this GitHub repository language folder for example.

The exact name of the language file (without the .php extension) is used to specify the language in the colors parameter.

Related pages


Plugin Code

List Slides