## TWiki Variables ### Predefined Variables %WIKITOOLNAME% expands the following variables enclosed in % percent signs:
Variable: Expanded to:
%WIKIHOMEURL% The base script URL of %WIKITOOLNAME%, is the link of the Home icon in the upper left corner, is %WIKIHOMEURL%
%SCRIPTURL% The script URL of %WIKITOOLNAME%, is %SCRIPTURL%
%SCRIPTURLPATH% The path of the script URL of %WIKITOOLNAME%, is %SCRIPTURLPATH%
%SCRIPTSUFFIX% The script suffix, i.e. .pl, is %SCRIPTSUFFIX%
%PUBURL% The public URL of TWiki, is %PUBURL%
%PUBURLPATH% The path of the public URL of %WIKITOOLNAME%, is %PUBURLPATH%
%ATTACHURL% The attachment URL of the current topic, is %ATTACHURL%
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
%ATTACHURLPATH% The path of the attachment URL of the current topic, is %ATTACHURLPATH%
%URLPARAM{"name"}% Returns the value of a URL parameter. I.e. %URLPARAM{"skin"}% returns print for a .../view/%WEB%/%TOPIC%?skin=print URL. Is %URLPARAM{"skin"}%
%WIKITOOLNAME% Name of wiki tool, is %WIKITOOLNAME%
%WIKIVERSION% Wiki tool version, is %WIKIVERSION%
%USERNAME% Your login username, is %USERNAME%
%WIKINAME% Your Wiki username. Same as %USERNAME% if not defined in the %MAINWEB%.%WIKIUSERSTOPIC% topic. Is %WIKINAME%
%WIKIUSERNAME% Your %WIKINAME% including the %MAINWEB% web name. Usefull for signatures. Is %WIKIUSERNAME%
%MAINWEB% The Main web containing %MAINWEB%.%WIKIUSERSTOPIC%, %MAINWEB%.OfficeLocations and %MAINWEB%.TWikiGroups. Is %MAINWEB%
%TWIKIWEB% The web containing all documentation and configuration of %WIKITOOLNAME%. Is %TWIKIWEB%
%WEB% The current web, is %WEB%
%BASEWEB% The web name where the includes started, e.g. the web of the first topic of nested includes. Same as %WEB% in case there is no include.
%INCLUDINGWEB% The web name of the topic that includes the current topic. Same as %WEB% in case there is no include.
%HOMETOPIC% The home topic in each web. Is %HOMETOPIC%?
%NOTIFYTOPIC% The notify topic in each web. Is %NOTIFYTOPIC%?
%WIKIUSERSTOPIC% The index topic of all registered users. Is %WIKIUSERSTOPIC%
%WEBPREFSTOPIC% The web preferences topic. Is %WEBPREFSTOPIC%
%STATISTICSTOPIC% The web statistics topic. Is %STATISTICSTOPIC%
%TOPIC% The current topic name, is %TOPIC%
%BASETOPIC% The name of the topic where the includes started, e.g. the first topic of nested includes. Same as %TOPIC% in case there is no include.
%INCLUDINGTOPIC% The name of the topic that includes the current topic. Same as %TOPIC% in case there is no include.
%SPACEDTOPIC% The current topic name with added spaces, for regular expression search of Ref-By, is %SPACEDTOPIC%
%TOPICLIST{"format"}% Topic index of a web. The "format" defines the format of one topic item. It may include variables: The $name variable gets expanded to the topic name; the $web variable gets expanded to the name of the web. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name and $web variables "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
web="Name" Name of web Current web
Examples:
%TOPICLIST{"   * $web.$name"}% creates a bullet list of all topics.
%TOPICLIST{separator=", "}% creates a comma separated list of all topics.
%TOPICLIST{" <option>$name</option>"}% creates an option list (for drop down menus).
%WEBLIST{"format"}% Web index, e.g. list of all webs. Hidden webs are excluded, e.g. webs with a NOSEARCHALL=on preference variable. The "format" defines the format of one web item. The $name variable gets expanded to the name of the web, $qname gets expanded to double quoted name, $marker to marker where web matches selection. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name variable "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
webs="public" comma sep list of Web, public expands to all non-hidden "public"
marker="selected" Text for $marker where item matches selection, otherwise equals "" "selected"
selection Current value e.g. current for current Web, =section="%WEB%"
Examples:
%WEBLIST{"   * [[$name.%HOMETOPIC%]]"}% creates a bullet list of all webs.
%WEBLIST{" Dropdown of all public Webs + Trash Web, current Web highlighted.
%GMTIME% GM time, is %GMTIME%
%GMTIME{"format"}% Formatted GM time based on time variables.
Variable: Unit: Example
$seconds seconds 59
$minutes minutes 59
$hours hours 23
$day day of month 31
$month month in ISO format Dec
$mo 2 digit month 12
$year 4 digit year 1999
$ye 2 digit year 99
Variables can be shortened to 3 characters. Example:
%GMTIME{"$day $month, $year - $hour:$min:$sec"}% is
%GMTIME{"$day $month, $year - $hour:$min:$sec"}%
%SERVERTIME% Server time, is %SERVERTIME%
%SERVERTIME{"format"}% Formatted server time.
Example: %SERVERTIME{"$hou:$min"}% is %SERVERTIME{"$hou:$min"}%
%HTTP_HOST% HTTP_HOST environment variable, is %HTTP_HOST%
%REMOTE_ADDR% REMOTE_ADDR environment variable, is %REMOTE_ADDR%
%REMOTE_PORT% REMOTE_PORT environment variable, is %REMOTE_PORT%
%REMOTE_USER% REMOTE_USER environment variable, is %REMOTE_USER%
%INCLUDE{"page" ...}% Server side include to Include Topics And Web Pages?. Parameters are page name, and an optional pattern="(reg-exp)". The page name is:
"SomeTopic" The name of a topic located in the current web, i.e. %INCLUDE{"WebNotify"}%
"Web.Topic" A topic in another web, i.e. %INCLUDE{"%TWIKIWEB%.TWikiWebsTable"}%
"http://..." A full qualified URL, i.e. %INCLUDE{"http://twiki.org/"}%
%STARTINCLUDE% If present in included topic, start to include text from this location up to the end, or up to the location of the %STOPINCLUDE% variable. A normal view of the topic shows everyting exept the %STARTINCLUDE% variable itself.
%STOPINCLUDE% If present in included topic, stop to include text at this location and ignore the remaining text. A normal view of the topic shows everyting exept the %STOPINCLUDE% variable itself.
%TOC% Table of Content of current topic.
%TOC{"SomeTopic" ...}% Table of Content. Shows a TOC that is generated automatically based on headings of a topic. Headings in Wiki Syntax? ("---++ text") and HTML ("<h2>text<h2>") are taken into account. Parameters are topic name, web and depth:
Parameter: Description: Default:
"TopicName" topic name Current topic
web="Name" Name of web Current web
depth="2" Limit depth of headings shown in TOC 6
Examples: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="%TWIKIWEB%"}%
%SEARCH{"text" ...}% Inline search, shows a search result embedded in a topic. Parameters are the search term, web, scope, order and many more: [1]
Parameter: Description: Default:
"text" Search term. (Is a regular expression or literal, depending on the regex parameter) required
search="text" (Alternative to above) N/A
web="Name"
web="%MAINWEB% Know"
web="all"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs. [2] Current web
scope="topic"
scope="text"
Search topic name (title) or in the text (body) of the topic Topic text (body)
order="topic"
order="modified"
order="editby"
Sort the results of search by the topic names, last modified time, or last editor Sort by topic name
limit="all"
limit="16"
Limit the number of results returned All results
regex="on" Regular Expression? search Literal search
reverse="on" Reverse the direction of the search Ascending search
casesensitive="on" Case sensitive search Ignore case
nosummary="on" Show topic title only Show topic summary
bookview="on" Book View? search, e.g. show complete topic text Show topic summary
nosearch="on" Suppress search string Show search string
noheader="on" Suppress search header
Topics: Changed: By:
Show search header
nototal="on" Do not show number of topics found Show number
Example: %SEARCH{"wiki" web="%MAINWEB%" scope="topic"}%
%VAR{"NAME" web="Web"}% Get a preference value from a web other then the current one. Example: To get %WEBBGCOLOR% of the %MAINWEB% web write %VAR{"WEBBGCOLOR" web="%MAINWEB%"}%, is %VAR{"WEBBGCOLOR" web="%MAINWEB%"}%

[1] **_Note_**: The search form uses identical names for input fields. [2] **_Note_**: A web can be excluded from a `web="all"` search if you define a `NOSEARCHALL=on` variable in its %WEBPREFSTOPIC%. ### Preferences Variables Additional variables are defined in the preferences ( site-level ( **_SL_** ) in %TWIKIWEB%.%WIKIPREFSTOPIC%, web-level ( **_WL_** ) in %WEBPREFSTOPIC% of each web, and user level ( **_UL_** ) preferences in individual user topics):
Variable: Level: What:
%WIKIWEBMASTER% SL Webmaster email address (sender of email notifications) , is %WIKIWEBMASTER%
%WIKIWEBLIST% SL List of %WIKITOOLNAME% webs (in upper right corner of topics)
%WEBTOPICLIST% WL Common links of web (second line of topics)
%WEBCOPYRIGHT% SL , WL Copyright notice (bottom right corner of topics)
%WEBBGCOLOR% WL Background color of web
%NOSEARCHALL% WL Exclude web from a web="all" search (set variable to on for hidden webs)
%NEWTOPICBGCOLOR% SL , UL Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR% SL , UL Font color of non existing topic. ( UL needs authentication for topic views )
%EDITBOXWIDTH% SL , UL Horizontal size of edit box, is %EDITBOXWIDTH%
%EDITBOXHEIGHT% SL , UL Vertical size of edit box, is %EDITBOXHEIGHT%
%RELEASEEDITLOCKCHECKBOX% SL , UL Default state of the "Release edit lock" (Unlock Topic?) check box in preview. Checkbox is initially checked if Set RELEASEEDITLOCKCHECKBOX = checked="checked", or unchecked if empty. If checked, make sure to click on Edit to do more changes; do not go back in your browser to the edit page, or you risk that someone else will edit the topic at the same time! Value is: %RELEASEEDITLOCKCHECKBOX%
%DONTNOTIFYCHECKBOX% SL , UL Default state of the "Minor Changes, Don't Notify" (Dont Notify?) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is: %DONTNOTIFYCHECKBOX%
%ATTACHLINKBOX% SL , UL Default state of the link check box in the attach file page. Check box is initially checked if value is set to CHECKED , unchecked if empty. If checked, a link is created to the attached file at the end of the topic. Value is: %ATTACHLINKBOX%
%HTTP_EQUIV_ON_VIEW% SL http-equiv meta tags for view, rdiff, attach, search* scripts.
%HTTP_EQUIV_ON_EDIT% SL , UL http-equiv meta tags for edit script.
%HTTP_EQUIV_ON_PREVIEW% SL , UL http-equiv meta tags for preview script.
%DENYWEBCHANGE% WL List of users and groups who are not allowed to change topics in the %WIKITOOLNAME% web. (More in TWiki Access Control?)
%ALLOWWEBCHANGE% WL List of users and groups who are allowed to change topics in the %WIKITOOLNAME% web. (More in TWiki Access Control?)
%DENYTOPICCHANGE% (any topic) List of users and groups who are not allowed to change the current topic. (More in TWiki Access Control?)
%ALLOWTOPICCHANGE% (any topic) List of users and groups who are allowed to change the current topic. (More in TWiki Access Control?)
%DENYWEBRENAME% WL List of users and groups who are not allowed to rename topics in the %WIKITOOLNAME% web. (More in TWiki Access Control?)
%ALLOWWEBRENAME% WL List of users and groups who are allowed to rename topics in the %WIKITOOLNAME% web. (More in TWiki Access Control?)
%DENYTOPICRENAME% (any topic) List of users and groups who are not allowed to rename the current topic. (More in TWiki Access Control?)
%ALLOWTOPICRENAME% (any topic) List of users and groups who are allowed to rename the current topic. (More in TWiki Access Control?)

%FINALPREFERENCES% SL , WL List of preferences that are not allowed to be overridden by next level preferences
**_Notes:_** * Preferences variables ( on site-level, web-level and user level ) are defined by bullet lines with this syntax: * Set VARIABLENAME = value * Additional preferences variables can be defined on all three level as needed. Example: * Set MYLOGO = %PUBURLPATH%/%MAINWEB%/LogoTopic/logo.gif -- [[PeterThoeny]] - 23 Jul 2001