If UserSubwebs is in effect, the topic specified by %USERPREFSTOPIC% in the user's subweb is read instead
If $TWiki::cfg{DemoteUserPreferences} is true, this step is deferred to a later step. On this TWiki installation, $TWiki::cfg{DemoteUserPreferences} is false
If EXTRAPREFERENCES is defined at this point, it's regarded as having comma separated list of topics. Those topics are read in the listed order as if they were WebPreferences
topic level in topics in webs
session variables (if sessions are enabled)
Added:
> >
user level preferences are set at this point if $TWiki::cfg{DemoteUserPreferences} is true as mentioned at the step 4
Settings at higher-numbered levels override settings of the same variable at lower numbered levels, unless the variable was included in the setting of FINALPREFERENCES at a lower-numbered level, in which case it is locked at the value it has at that level.
Line: 89 to 92
You can also set preferences variables on a topic by clicking the link Edit topic preference settings under More topic actions. Use the same * Set VARIABLENAME = value syntax. Preferences set in this manner are not visible in the topic text, but take effect nevertheless.
Added:
> >
Controlling User Level Preferences Override
By default, user level variables are set at the step 4 as stated in the previous section.
That means a user can finalise some preferences variables so that web level or topic level setting cannot override it.
This may result in a situation the web or page owner doesn't expect.
$TWiki::cfg{DemoteUserPreferences} has been introduced to avoid it.
If it's set to true, user level variables are set at the last step instead of the step 4.
But this is not enough.
To guarantee a certain result, you need to finalise critical preferences variables set at the web or topic level, which is cumbersome.
So preferences variables DENYUSERPREFEENCES and ALLOWUSERPREFEENCES have been introduced.
DENYUSERPREFEENCES and ALLOWUSERPREFEENCES may have comma separated list of variable names
If a preferences variable is listed in DENYUSERPREFEENCES, the variable cannot be overridden at the user level. There is a special value "all", which means no preferences variables can be overridden at the user level
If ALLOWUSERPREFEENCES is set and not empty, only the listed preferences variables can be overridden. There is a special value "all", which means any preferences variable can be overridden at the user level. But actually, "all" is not necessary since a blank value or not setting ALLOWUSERPREFEENCES has the same effect
DENYUSERPREFEENCES takes precedence over ALLOWUSERPREFEENCES. If a variable is listed on both, it cannot be overridden. If DENYUSERPREFEENCES is "all", the value of ALLOWUSERPREFEENCES doesn't matter.
For example, if you don't allow overriding at the user level at all:
* Set DENYUSERPREFERENCES = all
If you allow INYMCEPLUGIN_DISABLE and SKIN to be set at the user level:
* Set ALLOWUSERPREFERENCES = TINYMCEPLUGIN_DISABLE, SKIN
If you allow user preferences to set anything other than TINYMCEPLUGIN_DISABLE or SKIN:
* Set DENYUSERPREFERENCES = TINYMCEPLUGIN_DISABLE, SKIN
Please note DENYUSERPREFEENCES and ALLOWUSERPREFEENCES affect user preferences regardless of $TWiki::cfg{DemoteUserPreferences}.
You can set those variables at the site level while $TWiki::cfg{DemoteUserPreferences} setting to false.
If you do so, you should finalise DENYUSERPREFEENCES and ALLOWUSERPREFEENCES.
Otherwise, they might be overridden by user preferences.
You will get the most benefit of DENYUSERPREFEENCES and ALLOWUSERPREFEENCES by setting $TWiki::cfg{DemoteUserPreferences} to true.
That way, each web can specify how much user level preferences overriding is allowed.
Parameterized Variables (Macros)
It is possible to pass parameters to TWiki variables. This is called a macro in a programming language.
To define a parameterized variable, set a variable that contains other variables, such as:
* Set EXAMPLE = Example variable using %DEFAULT%, %PARAM1% and %PARAM2%
* Set DEMO = Demo using %DEFAULT{ default="(undefined)" }%,
%PARAM1{ default="(undefined)" }% and %PARAM2{ default="(undefined)" }%
A special %DEFAULT% variable denotes the default (nameless) parameter of the calling variable. Variables optionally may list a default="..." parameter that gets used in case the calling variable does not specify that parameter.
To use a parameterized variable (or call a macro), add parameters within the curly brackets, such as:
* %EXAMPLE{ "foo" PARAM1="bar" PARAM2="baz" }%
* %DEMO{ "demo" PARAM2="parameter 2" }% -- note that PARAM1 is missing
which resolves to:
Example variable using foo, bar and baz
Demo using demo, (undefined) and parameter 2 -- note that PARAM1 is missing
Parameters in the variable definition are expanded using the following sequence:
Parameter from variable call. In above example, %PARAM1% gets expanded to bar.
Session variable and preferences settings
Example
Define variables:
* Set DRINK = red wine
* Set FAVORITE = My %DEFAULT{default="favorite"}% dish is %DISH{default="steak"}%,
my %DEFAULT{default="favorite"}% drink is %DRINK%.
The default can be defined with a default parameter (%DISH{default="steak"}%), or as a preferences setting (Set DRINK = ...).
Use Variables:
%FAVORITE{ DISH="Sushi" DRINK="Sake" }%
Returns:
My favorite dish is Sushi,
my favorite drink is Sake.
%FAVORITE{}%
Returns:
My favorite dish is steak,
my favorite drink is red wine.
%FAVORITE{ "preferred" }%
Returns:
My preferred dish is steak,
my preferred drink is red wine.
Predefined variables can be overridden by preferences variables (except a few such as TOPIC and WEB)
Added:
> >
This has long been the case but may not be desirable since even something as fundamental as %IF{...}%, %SCRIPT{...}%, and %INCLUDE{...}% can be overridden
So TWiki-6.0.1 has introduced a way to protect predefined variables from being overridden by preferences variables
The preferences variable OVERRIDABLEPREDEFINEDVARIABLES having a comma separated list of predefined variables specifies which predefined variables are overridable
By default, it's set to "all" (set at TWiki.TWikiPreferences), which means any predefined variable can be overridden, which is for compatibility with prior releases. You can set it to a different value in Main.TWikiPreferences and you may finalise it
If it's set as below, all predefined variables are protected
* Set OVERRIDABLEPREDEFINEDVARIABLES =
If it's set as below, DATE and LANGUAGE predefined variables can be overridden but all the other predefined variables cannot
* Set OVERRIDABLEPREDEFINEDVARIABLES = DATE, LANGUAGE
Extensions may extend the set of predefined variables (see individual extension topics for details)
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
Special text strings expand on the fly to display user data or system info
> >
Special text strings expand on the fly to display dynamic content, such as user data or system info
TWikiVariables are text strings - %VARIABLE% or %VARIABLE{ parameter="value" }% - that expand into content whenever a topic is rendered for viewing. There are two types of variables:
Changed:
< <
Preferences variables: Can be defined and changed by the user
Predefined variables: Defined by the TWiki system or by plugins (for example, the SpreadSheetPlugin introduces a %CALC{}% variable)
> >
Preferences variables: Can be defined and changed by the user. Example: %T% renders as
type %TOPIC% to get TWikiVariables (a predefined variable)
Changed:
< <
type %CALC{ "$UPPER(Text)" }% to get TEXT (a variable defined by a plugin)
> >
type %CALCULATE{ "$UPPER(Text)" }% to get TEXT (a variable defined by a plugin)
Note:
To leave a variable unexpanded, precede it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%
Variables are expanded relative to the topic they are used in, not the topic they are defined in
Type %ALLVARIABLES% to get a full listing of all variables defined for a particular topic
Changed:
< <
Variable Names
> >
Variable Names
Changed:
< <
Variable names must start with a letter. The following characters can be letters, numbers and the underscore '_'. You can use both upper-case and lower-case letters and you can mix the characteres. E.g. %MYVAR%, %MyVar%, %My2ndVar%, and %My_Var% are all valid variable names. Variables are case sensitive. %MyVAR% and %MYVAR% are not the same variable.
> >
Variable names must start with a letter, optionally followed by letters, numbers and underscore '_' characters. Both upper-case and lower-case characters can be used, %MYVAR%, %MyVar%, %My2ndVar%, and %My_Var% are valid names. Variables are case sensitive, e.g. %MyVAR% and %MYVAR% are not the same.
Changed:
< <
By convention all settings, predefined variables and variables used by plugins are always UPPER-CASE.
> >
By convention all settings, predefined variables and variables handled by extensions are always UPPER-CASE.
If EXTRAPREFERENCES is defined at this point, it's regarded as having comma separated list of topics. Those topics are read in the listed order as if they were WebPreferences
topic level in topics in webs
session variables (if sessions are enabled)
Line: 82 to 93
Parameterized Variables (Macros)
It is possible to pass parameters to TWiki variables. This is called a macro in a programming language.
To define a parameterized variable, set a variable that contains other variables, such as:
* Set EXAMPLE = Example variable using %DEFAULT%, %PARAM1% and %PARAM2%
* Set DEMO = Demo using %DEFAULT{ default="(undefined)" }%,
%PARAM1{ default="(undefined)" }% and %PARAM2{ default="(undefined)" }%
A special %DEFAULT% variable denotes the default (nameless) parameter of the calling variable. Variables optionally may list a default="..." parameter that gets used in case the calling variable does not specify that parameter.
To use a parameterized variable (or call a macro), add parameters within the curly brackets, such as:
* %EXAMPLE{ "foo" PARAM1="bar" PARAM2="baz" }%
* %DEMO{ "demo" PARAM2="parameter 2" }% -- note that PARAM1 is missing
which resolves to:
Example variable using foo, bar and baz
Demo using demo, (undefined) and parameter 2 -- note that PARAM1 is missing
Parameters in the variable definition are expanded using the following sequence:
Parameter from variable call. In above example, %PARAM1% gets expanded to bar.
Session variable and preferences settings
Example
Define variables:
* Set DRINK = red wine
* Set FAVORITE = My %DEFAULT{default="favorite"}% dish is %DISH{default="steak"}%,
my %DEFAULT{default="favorite"}% drink is %DRINK%.
The default can be defined with a default parameter (%DISH{default="steak"}%), or as a preferences setting (Set DRINK = ...).
Use Variables:
%FAVORITE{ DISH="Sushi" DRINK="Sake" }%
Returns:
My favorite dish is Sushi,
my favorite drink is Sake.
%FAVORITE{}%
Returns:
My favorite dish is steak,
my favorite drink is red wine.
%FAVORITE{ "preferred" }%
Returns:
My preferred dish is steak,
my preferred drink is red wine.
You can also set preferences variables on a topic by clicking the link Edit topic preference settings under More topic actions. Use the same * Set VARIABLENAME = value syntax. Preferences set in this manner are not visible in the topic text, but take effect nevertheless.
Added:
> >
Parameterized Variables (Macros)
It is possible to pass parameters to TWiki variables. This is called a macro in a programming language.
To define a parameterized variable, set a variable that contains other variables, such as:
* Set EXAMPLE = Example variable using %DEFAULT%, %PARAM1% and %PARAM2%
* Set DEMO = Demo using %DEFAULT{ default="(undefined)" }%,
%PARAM1{ default="(undefined)" }% and %PARAM2{ default="(undefined)" }%
A special %DEFAULT% variable denotes the default (nameless) parameter of the calling variable. Variables optionally may list a default="..." parameter that gets used in case the calling variable does not specify that parameter.
To use a parameterized variable (or call a macro), add parameters within the curly brackets, such as:
* %EXAMPLE{ "foo" PARAM1="bar" PARAM2="baz" }%
* %DEMO{ "demo" PARAM2="parameter 2" }% -- note that PARAM1 is missing
which resolves to:
Example variable using foo, bar and baz
Demo using demo, (undefined) and parameter 2 -- note that PARAM1 is missing
Parameters in the variable definition are expanded using the following sequence:
Parameter from variable call. In above example, %PARAM1% gets expanded to bar.
Session variable and preferences settings
Example
Define variables:
* Set DRINK = red wine
* Set FAVORITE = My %DEFAULT{default="favorite"}% dish is %DISH{default="steak"}%,
my %DEFAULT{default="favorite"}% drink is %DRINK%.
The default can be defined with a default parameter (%DISH{default="steak"}%), or as a preferences setting (Set DRINK = ...).
Use Variables:
%FAVORITE{ DISH="Sushi" DRINK="Sake" }%
Returns:
My favorite dish is Sushi,
my favorite drink is Sake.
%FAVORITE{}%
Returns:
My favorite dish is steak,
my favorite drink is red wine.
%FAVORITE{ "preferred" }%
Returns:
My preferred dish is steak,
my preferred drink is red wine.
<--
Defined in INCLUDE:
Set EXAMPLE = Example variable using %DEFAULT%, %PARAM1% and %PARAM2%
Set DEMO = Demo using %DEFAULT{ default="(undefined)" }%, %PARAM1{ default="(undefined)" }% and %PARAM2{ default="(undefined)" }%
Set DRINK = red wine
Set FAVORITE = My %DEFAULT{default="favorite"}% dish is %DISH{default="steak"}%, my %DEFAULT{default="favorite"}% drink is red wine.
-->
Access Control Variables
These are special types of preferences variables to control access to content. TWikiAccessControl explains these security settings in detail.
Special text strings expand on the fly to display user data or system info
TWikiVariables are text strings - %VARIABLE% or %VARIABLE{ parameter="value" }% - that expand into content whenever a topic is rendered for viewing. There are two types of variables:
Added:
> >
Preferences variables: Can be defined and changed by the user
Changed:
< <
Predefined variables: Defined by the TWiki system or by Plugins (for example, the SpreadSheetPlugin introduces a %CALC{}% variable)
> >
Predefined variables: Defined by the TWiki system or by plugins (for example, the SpreadSheetPlugin introduces a %CALC{}% variable)
Settings at higher-numbered levels override settings of the same variable at lower numbered levels, unless the variable was included in the setting of FINALPREFERENCES at a lower-numbered level, in which case it is locked at the value it has at that level.
Changed:
< <
If you are setting a variable and using it in the same topic, note that TWiki reads all the variable settings from the saved version of the topic before it displays anything. This means you can use a variable anywhere in the topic, even if you set it somewhere inconspicuous near the end. But beware: it also means that if you change the setting of a variable you are using in the same topic, Preview will show the wrong thing, and you must Save the topic to see it correctly.
> >
If you are setting a variable and using it in the same topic, note that TWiki reads all the variable settings from the saved version of the topic before it displays anything. This means you can use a variable anywhere in the topic, even if you set it somewhere inconspicuous near the end. But beware: it also means that if you change the setting of a variable you are using in the same topic, preview will show the wrong thing, and you must save the topic to see it correctly.
The syntax for setting variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [space] value
Deleted:
< <
The syntax for setting Variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [space] value
Examples:
Changed:
< <
Set VARIABLENAME = value
Set VARIABLENAME = value
> >
* Set VARIABLENAME1 = value
* Set VARIABLENAME2 = value
Spaces between the = sign and the value will be ignored. You can split a value over several lines by indenting following lines with spaces - as long as you don't try to use * as the first character on the following line.
Changed:
< <
> >
Example:
* Set VARIABLENAME = value starts here
and continues here
Deleted:
< <
Changed:
< <
Whatever you include in your Variable will be expanded on display, exactly as if it had been entered directly.
> >
Whatever you include in your variable will be expanded on display, exactly as if it had been entered directly.
Deleted:
< <
Example: Create a custom logo variable
To place a logo anywhere in a web by typing %MYLOGO%, define the Variable on the web's WebPreferences topic, and upload a logo file, ex: mylogo.gif. You can upload by attaching the file to WebPreferences, or, to avoid clutter, to any other topic in the same web, e.g. LogoTopic. Sample variable setting in WebPreferences:
Changed:
< <
Set MYLOGO = %PUBURL%/%WEB%/LogoTopic/mylogo.gif
> >
* Set MYLOGO = %PUBURL%/%WEB%/LogoTopic/mylogo.gif
Changed:
< <
You can also set preferences variables on a topic by clicking the link Edit topic preference settings under More topic actions. Preferences set in this manner are not visible in the topic text, but take effect nevertheless.
> >
You can also set preferences variables on a topic by clicking the link Edit topic preference settings under More topic actions. Use the same * Set VARIABLENAME = value syntax. Preferences set in this manner are not visible in the topic text, but take effect nevertheless.
Access Control Variables
Line: 83 to 86
Set EDITBOXHEIGHT = 10
Local EDITBOXHEIGHT = 20
Changed:
< <
Then when they are editing any other topic, they will get a 10 high edit box. However when they are editing their home topic, they will get a 20 high edit box.
Local can be used wherever a preference needs to take a different value depending on where the current operation is being performed.
> >
Then when they are editing any other topic, they will get a 10 high edit box. However when they are editing their home topic, they will get a 20 high edit box. Local can be used wherever a preference needs to take a different value depending on where the current operation is being performed.
Use this powerful feature with great care! %ALLVARIABLES% can be used to get a listing of the values of all variables in their evaluation order, so you can see variable scope if you get confused.
Most predefined variables return values that were either set in the configuration when TWiki was installed, or taken from server info (such as current username, or date and time). Some, like %SEARCH%, are powerful and general tools.
Predefined variables can be overridden by preferences variables (except TOPIC and WEB)
Changed:
< <
Plugins may extend the set of predefined variables (see individual Plugins topics for details)
> >
Plugins may extend the set of predefined variables (see individual plugin topics for details)
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
Most predefined variables return values that were either set in the configuration when TWiki was installed, or taken from server info (such as current username, or date and time). Some, like %SEARCH%, are powerful and general tools.
Line: 119 to 120
Plugins may extend the set of predefined variables (see individual Plugins topics for details)
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
Changed:
< <
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - predefines the following variables:
> >
Search predefined variables
List of all predefined variables
This TWiki: - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687
Most predefined variables return values that were either set in the configuration when TWiki was installed, or taken from server info (such as current username, or date and time). Some, like %SEARCH%, are powerful and general tools.
Predefined variables can be overridden by preferences variables (except TOPIC and WEB)
Plugins may extend the set of predefined variables (see individual Plugins topics for details)
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
Settings at higher-numbered levels override settings of the same variable at lower numbered levels, unless the variable was included in the setting of FINALPREFERENCES at a lower-numbered level, in which case it is locked at the value it has at that level.
Added:
> >
If you are setting a variable and using it in the same topic, note that TWiki reads all the variable settings from the saved version of the topic before it displays anything. This means you can use a variable anywhere in the topic, even if you set it somewhere inconspicuous near the end. But beware: it also means that if you change the setting of a variable you are using in the same topic, Preview will show the wrong thing, and you must Save the topic to see it correctly.
The syntax for setting Variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [space] value
Settings at higher-numbered levels override settings of the same variable at lower numbered levels, unless the variable was included in the setting of FINALPREFERENCES at a lower-numbered level, in which case it is locked at the value it has at that level.
The syntax for setting Variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [space] value
Changed:
< <
> >
Examples:
Set VARIABLENAME = value
Set VARIABLENAME = value
Spaces between the = sign and the value will be ignored. You can split a value over several lines by indenting following lines with spaces - as long as you don't try to use * as the first character on the following line.
Changed:
< <
> >
Example:
* Set VARIABLENAME = value starts here
Line: 62 to 62
Whatever you include in your Variable will be expanded on display, exactly as if it had been entered directly.
Changed:
< <
> >
Example: Create a custom logo variable
To place a logo anywhere in a web by typing %MYLOGO%, define the Variable on the web's WebPreferences topic, and upload a logo file, ex: mylogo.gif. You can upload by attaching the file to WebPreferences, or, to avoid clutter, to any other topic in the same web, e.g. LogoTopic. Sample variable setting in WebPreferences:
Special text strings expand on the fly to display user data or system info
Line: 22 to 22
Variables are expanded relative to the topic they are used in, not the topic they are defined in
Type %ALLVARIABLES% to get a full listing of all variables defined for a particular topic
Added:
> >
Variable Names
Variable names must start with a letter. The following characters can be letters, numbers and the underscore '_'. You can use both upper-case and lower-case letters and you can mix the characteres. E.g. %MYVAR%, %MyVar%, %My2ndVar%, and %My_Var% are all valid variable names. Variables are case sensitive. %MyVAR% and %MYVAR% are not the same variable.
By convention all settings, predefined variables and variables used by plugins are always UPPER-CASE.
Line: 113 to 117
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - predefines the following variables:
ADDTOHEAD -- add HTML to the HTML head section of the current page
Useful for TWiki applications to add custom CSS or JavaScript to the HTML head section of a topic. Supplied TWiki variables will be expanded. %ADDTOHEAD{}% expands in-place to an empty string, unless there is an error in which case the variable expands to an error string.
Name of topic that contains the full HTML text to add to the head section, such as topic="Main.MyCssTopic"
Mutually exclusive with text=""
section="name"
If topic parameter is used, includes only the specified named section, as defined in the topic by the STARTSECTION and ENDSECTION variables. Nothing is shown if the named section does not exists. section="" is equivalent to not specifying a section
Optional
requires="..., ..."
Comma-separated list of other IDs this one depends on
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
String defined as {AuthRealm} in configure. This is used in certain password encodings, and in login templates as part of the login prompt.
Syntax: %AUTHREALM%
Expands to: Enter your LoginName. (Typically First name and last name, no space, no dots, capitalized, e.g. JohnSmith, unless you chose otherwise). Visit TWikiRegistration if you do not have one.
The name of the topic where a single or nested INCLUDE started - same as %TOPIC% if there is no INCLUDE.
Syntax: %BASETOPIC%
Example: If topic A includes B, and B includes C, then a %BASETOPIC% in topic C is reported as A when looking at topic A, B when looking at topic B, and C when looking at topic C itself.
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.
Syntax: %BASEWEB%
Syntax: %BASEWEB{format="..."}% -- see WEB for format documentation
Example: If topic A includes B, and B includes C, then a %BASEWEB% in topic C is reported as the web of topic A when looking at topic A, the web of topic B when looking at topic B, and the web of topic C when looking at topic C itself.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
CALC{"formula"} -- add spreadsheet calculations to tables
The %CALC{formula}% variable is handled by the SpreadSheetPlugin. Over 100 functions are available, such as $ABS(), $EXACT(), $EXISTS(), $GET()/$SET(), $IF(), $LOG(), $LOWER(), $PERCENTILE(), $TIME(), $VALUE().
Syntax: %CALC{formula}%
Examples:
%CALC{$SUM($ABOVE())}% returns the sum of all cells above the current cell
%CALC{$EXISTS(Web.SomeTopic)}% returns 1 if the topic exists
Note: The CALC variable is handled with delay compared to other TWiki variables. You may get unexpected results if you nest CALC inside other variables (such as %INCLUDE{%CALC{...}%}%) because it does not get evaluated inside-out & left-to-right like ordinary TWiki variables. Use CALCULATE if you nest variables.
The %CALCULATE{formula}% variable is handled by the SpreadSheetPlugin. Over 100 functions are available, such as $ABS(), $EXACT(), $EXISTS(), $GET()/$SET(), $IF(), $LOG(), $LOWER(), $PERCENTILE(), $TIME(), $VALUE().
Syntax: %CALC{formula}%
Examples:
%CALC{$EXISTS(Web.SomeTopic)}% returns 1 if the topic exists
Note: The CALCULATE variable is handled inside-out & left-to-right like ordinary TWiki variables, but it does not support functions that refer to table cells, such as $LEFT() or $T(). Use CALC instead.
Initial color value, in hexadecimal notation for the combination of Red, Green, and Blue color values (RGB).
(none)
value="#0000ff"
size
Size of input field, in number of characters
(browser default)
size="8"
class
CSS class of input field or the rectangular color block
(none)
class="twikiInputField"
style
Style of input field or the rectangular color block
(none)
style="width: 190px; height: 32px"
type
Type of color widget: • "below" - color picker is located below the input field; • "popup" - pop-up a color picker window when clicking the button next to the input field (this uses very little vertical space); • "view" - a read-only rectangular block colored in the color value (no color picker); • "view-hex" - like view, in addition shows the color value as an RGB hexadecimal code (no color picker);
type="below"
type="view-hex"
Additional parameters can be supplied; they will be added to the HTML input field or the rectangular color block.
This is the name of the template to use for this comment. Comment templates are defined in a TWiki template - see customization. If this attribute is not defined, the type is whatever is defined by COMMENTPLUGIN_DEFAULT_TYPE, either in this topic or in your WebPreferences.
"below"
default
Default text to put into the textarea of the prompt.
target
Name of the topic to add the comment to
the current topic
location
Regular expression specifying the comment location in the target topic. Read carefully the CommentPlugin documentation!
mode
For compatibility with older versions only, synonymous with type
nonotify
Set to "on" to disable change notification for target topics
"off"
noform
Set to "on" to disable the automatic form that encloses your comment block - remember to insert <form> tags yourself! See CommentPluginExamples#noform for an example.
"off"
nopost
Set to "on" to disable insertion of the posted text into the topic.
"off"
remove
Set to "on" to remove the comment prompt after the first time it is clicked.
"off"
button
Button label text
"Add comment"
emailto
Send comment by email. Use comma "," to seperate multiple email addresses. This feature is disabled by default. To enable this feature, please set up "$TWiki::cfg{Plugins}{CommentPlugin}{EmailEnabled} = 1;".
Returns the content mode of the specified web. It's either 'local', 'read-only', 'master', or 'slave'. Read ReadOnlyAndMirrorWebs#Content_modes for more detail.
DASHBOARD -- build a dashboard with banner and boxes
Use this variable to quickly create dashboards for intranet home, team homepages, project homepages and knowledge bases. See the TWikiDashboardAddOn for details on enabling and using the %DASHBOARD{...}% variable.
Date format defined as {DefaultDateFormat} in configure, default $year-$mo-$day
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Name of input field. φ: No output is shown if the name parameter is missing, but the CSS and Javascript are loaded.
(requiredφ)
name="Start"
value
Initial date value.
"" (today)
value="2012-12-31"
format
Format of resulting date value. • %a - abbreviated weekday name • %A - full weekday name • %b - abbreviated month name • %B - full month name • %C - century number • %d - the day of the month (00 ... 31) • %e - the day of the month (0 ... 31) • %H - hour (00 ... 23) • %I - hour (01 ... 12) • %j - day of the year ( 000 ... 366) • %k - hour (0 ... 23) • %l - hour (1 ... 12) • %m - month (01 ... 12) • %M - minute (00 ... 59) • %n - a newline character • %p - "PM" or "AM" • %P - "pm" or "am" • %S - second (00 ... 59) • %s - number of seconds since Epoch (since Jan 01 1970 00:00:00 UTC) • %t - a tab character • %U, %W, %V - the week number. The week 01 is the week that has the Thursday in the current year, which is equivalent to the week that contains the fourth day of January. Weeks start on Monday. • %u - the day of the week (1 ... 7, 1 = MON) • %w - the day of the week (0 ... 6, 0 = SUN) • %y - year without the century (00 ... 99) • %Y - year including the century (ex. 2012) • %% - a literal % character
"%Y-%m-%d"
format="%e %b %Y"
id
ID of input field, optional.
"id_" + name
id="idStart"
size
Size of input field, in number of characters.
(calculated as needed)
size="12"
class
CSS class of input field.
"twikiInputField"
class="dateField"
Additional HTML input field attributes, such as alt, disabled, maxlength, onblur, onchange, onfocus, readonly, style, tabindex, title
Date part of the format is displayed as defined by the {DefaultDateFormat} in configure, default $year-$mo-$day. The time is shown as hh:mm (24 hour clock)
Formatted time - either GMT or Local server time, depending on {DisplayTimeValues} setting in configure, default $year-$mo-$day. Same format qualifiers as %GMTIME%
EDITACTION defined in a topic or preference setting will define the use of an editaction template instead of the standard edit. If EDITACTION is defined as text, then hide the form. If EDITACTION is defined as form hide the normal text area and only edit the form.
Syntax: %EDITACTION% (returning either text or form)
Expands to: %EDITACTION%
Note: When EDITACTION is defined as text or form the Edit and Edit Raw buttons simply add ;action=text or ;action=form to the URL for the edit script. If you have defined EDITACTION in a topic setting or preference setting you can still edit the topic content or the form by removing the ;action=form or ;action=text from the edit URL in the browser and reload.
EDITFORMFIELD{"fieldname" form=""} -- render an input field specified in a form template topic
Use this to create HTML forms that update TWikiForms, such as a custom "create new topic" form, or a topic header that allows users to change some form values at the top of the page. A valid form is composed of a start form type, various form fields, a submit type, and an end form type.
Syntax:
%EDITFORMFIELD{"fieldname" form="...Form"}% - create form field defined in a TWiki Form template
%EDITFORMFIELD{"fieldname" topic="..."}% - create form field based on a topic that has a TWiki Form & initialize its value
%EDITFORMFIELD{"fieldname" type="..."}% - create an HTML input field
The name of a TWiki form field or HTML form field.
Required
form="..."
Name of form template topic, such as "BugForm". Specify topic name or Web.TopicName
Either form or topic is required unless type is specified
topic="..."
Name of topic containing form, such as "Bug1234". Specify topic name or Web.TopicName
format="..."
Format string. Supported variables: • $inputfield - rendered form input field. • $title - raw field name (includes space and other special characters). • $name - field name (sanitized title). • $size - size of field or selector. • $value - initial value, or select options. • $tooltip - tooltip message. • $attributes - type attributes, such as H for hidden, M for mandatory. • $extra - extra information, such as * for mandatory field. See details in TWikiForms#FormFieldTypes. This parameter is ignored if type="..." is specified.
"$inputfield"
value="..."
Initial value of input field. If omitted and if topic="..." is specified, the value is taken from the named form field.
""
type="start"
Special case: Start an HTML form. Parameters: "form" type="start" action="save" topic="..." method="" onsubmit="" onreset="" • action: Specify a TWiki script (view, edit, save, ...), or a full action URL, default "view". • topic: Specify topic name or Web.TopicName, default current topic; ignored if full action URL is provided. • method: HTML form action method, default "post" for save action, else "get". • onsubmit: Execute JavaScript when the form is submitted, optional. • onreset: Execute JavaScript when the reset button is clicked, optional.
""
type="end"
Special case: End an HTML form. Parameters: "form" type="end"
""
type="..."
Special case: Create an input field regardless of the type defined in the TWikiForm. Used mainly for hidden fields and submit button. The nameless parameter is the field name. Supported types: • "fieldname" type="hidden" value="..." - hidden input field. • "fieldname" type="submit" value="..." - submit button, value is button label. • "fieldname" type="button" value="..." onclick="..." - regular button, value is button label. • "fieldname" type="text" value="..." size="80" - text input field. • "fieldname" type="checkbox" value="..." text="..." - checkbox, text is display text. • "fieldname" type="radio" value="..." text="..." - radio button, text is display text. • In addition, any valid XHML and HTML5 input type is supported, such as type="date", type="file", type="image". Additional type-specific parameters can be supplied, such as alt="", checked="checked", class="", max="", min="", src="", style="", width="". Consult HTML documentation.
Specify the header format of a new table like "|*Food*|*Drink*|". Useful to start a table with only a button
(no header)
format
The format of one column when editing the table. A cell can be a text input field, or any of these edit field types: • Text input field (1 line): | text, <size>, <initial value> | • Textarea input field: | textarea, <rows>x<columns>, <initial value> | • Drop down box: | select, <size>, <option 1>, <option 2>, etc* | * only one item can be selected • Radio buttons: | radio, <size*>, <option 1>, <option 2>, etc | * size indicates the number of buttons per line in edit mode • Checkboxes: | checkbox, <size*>, <option 1>, <option 2>, etc | * size indicates the number of checkboxes per line in edit mode • Fixed label: | label, 0, <label text> | • Row number: | row, <offset> | • Date: | date, <size>, <initial value>, <DHTML date format*> | * see Date Field Type
"text, 16" for all cells
changerows
Rows can be added and removed if "on" Rows can be added but not removed if "add" Rows cannot be added or removed if "off"
CHANGEROWS plugin setting
quietsave
Quiet Save button is shown if "on", hidden if "off"
QUIETSAVE plugin setting
include
Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place.
(none)
helptopic
Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown.
(no help text)
headerislabel
Table header cells are read-only (labels) if "on"; header cells can be edited if "off" or "0"
"on"
editbutton
Set edit button text, e.g. "Edit this table"; set button image with alt text, e.g. "Edit table, %PUBURL%/%SYSTEMWEB%/TWikiDocGraphics/edittopic.gif"; hide edit button at the end of the table with "hide" (Note: Button is automatically hidden if an edit button is present in a cell)
EDITBUTTON plugin setting
buttonrow
Set to top to put the edit buttons above the table.
bottom
javascriptinterface
Use javascript to directly move and delete row without page refresh. Enable with "on", disable with "off".
JAVASCRIPTINTERFACE plugin setting
redirectto
Set up a return page after saving changes. e.g By setting redirectto="%BASEPAGE%", you can return to base page if your editable table is included by another page.
Encode special characters for URL parameter use, like a double quote into %22
(this is the default)
type="quotes"
Escape double quotes with backslashes (\"), does not change other characters. This type does not protect against cross-site scripting.
type="url"
type="moderate"
Encode special characters into HTML entities for moderate cross-site scripting protection: "<", ">", single quote (') and double quote (") are encoded. Useful to allow TWiki variables in comment boxes.
type="url"
type="safe"
Encode special characters into HTML entities for cross-site scripting protection: "<", ">", "%", single quote (') and double quote (") are encoded.
type="url"
type="entity"
Encode special characters into HTML entities, like a double quote into ". Does not encode newline (\n) or linefeed (\r).
type="url"
type="entity" extra=" $n$r"
For type="entity" only, use the extra parameter to encode additional characters to HTML numeric entities. Formatting tokens can be used, such as "$n" for newline. Note that type="entity" extra=" $n$r" is equivalent to type="html".
type="url" extra=""
type="html"
Encode special characters into HTML entities. In addition to type="entity", it also encodes space, \n and \r. Useful to encode text properly in HTML input fields. See equivalent ENTITY.
type="url"
type="json"
Escape double quotes and backslashes with backslashes (\" and \\, respectively), escape non-printable characters with hex code \u0000 ... \u001F, does not change other characters. Use this to properly escape text for a JSON string. Example result: This is a string with \"quoted\" and \\backslashed\\ text.
type="url"
type="csv"
Escape single quotes and double quotes by repeating them, other characters do not change. Use this to properly escape fields in CSV reports that output comma-separated values, such as "field 1","field 2 with ''single'' and ""double"" quotes".
type="url"
newline="..."
Replace a newline with the specified value before encoding. Please note that newline="<br/>" does not bring <br/> to the output because < and > are encoded (except with the quotes and csv types). To have <br/> in the output, you need to specify newline="$br". However, newline="$br" does not work in combination with type="url" (the defautl type). This shouldn't be a problem because it's very rare to need to have <br/> encoded in a URL. In addition to $br, $n has a special meaning in a newline parameter value - $n results in a newline in the output. This parameter is expected to be used in combination with the moderate, safe, entity, or html type. With the other types, it causes unuseful results.
Examples:
%ENCODE{"spaced name"}% expands to spaced%20name
%ENCODE{"spaced name" type="entity" extra=" "}% expands to spaced name
Notes:
Values of HTML input fields should be encoded as "html". A shorter %ENTITY{any text}% can be used instead of the more verbose %ENCODE{ "any text" type="html" }%. Example: <input type="text" name="address" value="%ENTITY{any text}%" />
Double quotes in strings must be escaped when passed into other TWiki variables. Example: %SEARCH{ "%ENCODE{ "string with "quotes"" type="quotes" }%" noheader="on" }%
Use type="moderate", type="safe", type="entity" or type="html" to protect user input from URL parameters and external sources against cross-site scripting (XSS). type="html" is the safest mode, but some TWiki applications might not work. type="safe" provides a safe middle ground, type="moderate" provides only moderate cross-site scripting protection.
Note: %<color>BG% section must end with %ENDBG%. If you want to switch from one background color to another one you first need to end the active background color with %ENDBG%, such as %REDBG% some text %ENDBG% %GREENBG% more text %ENDBG%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Type of the section being terminated; supported types "section", "include", "templateonly", "expandvariables"
If the STARTSECTION is named, the corresponding ENDSECTION must also be named with the same name. If the STARTSECTION specifies a type, then the corresponding ENDSECTION must also specify the same type. If the section is unnamed, ENDSECTION will match with the nearest unnamed %STARTSECTION%of the same type above it.
ENTITY{string} -- encode a string to HTML entities
Encode "special" characters to HTML entities. Useful to encode text properly for HTML input fields.
Encoded characters:
all non-printable ASCII characters below space, including newline ("\n") and linefeed ("\r")
Space
HTML special characters "<", ">", "&", single quote (') and double quote (")
TWiki special characters "%", "[", "]", "@", "_", "*", "=" and "|"
Syntax: %ENTITY{string}%
Example: %ENTITY{text with "quotes" and newline}% expands to text with "quotes" and newline
Notes:
To protect against cross-site scripting (XSS), always entity encode text intended for HTML input fields. This is especially true if text is received dynamically via URLPARAM or the like. Example: <input type="text" name="address" value="%ENTITY{any text}%" />
%ENTITY{string}% is roughly equivalent to %ENCODE{ "string" type="html" }%, but the latter cannot handle strings that have double quotes embedded in it.
ENV{"varname"} -- inspect the value of an environment variable
Returns the current value of the environment variable in the CGI (Common Gateway Interface) environment. This is the environment that the TWiki scripts run in on the web server.
Note: For security reasons, only those variables whose names match the regular expression in {AccessibleENV} in the Security Settings/Miscellaneous section of configure can be displayed. Any other variable will just be shown as an empty string, irrespective of its real value.
Example: %ENV{MOD_PERL}% displays as: not set
If a variable is undefined (as against being set to the empty string) it will be returned as not set.
Topic where form data is located. May be of the form Web.TopicName
Current topic
rev="..."
Get the form field value from the specified topic revision, range "1" to top revision of topic. "0" is equivalent to the top revision
The rev URL parameter value if present, otherwise the top revision
format="..."
Format string. Supported variables: • $value - form field value • $value(20, -<br />) - value hyphenated every 20 characters using separator -<br /> • $value(30, ...) - value shortened to 30 characters • $length - length of value (can be used to test if value is set) • $title - raw field name (includes space and other special characters) • $name - field name (sanitized title) • $attributes - form field attributes • $formtopic - name of form definition topic
"$value"
default="..."
Text shown when no value is defined for the field
""
alttext="..."
Text shown when field is not found in the form
""
newline="$br"
Convert newlines in textarea to other delimiters. Variable $br expands to <br /> tag, and $n to a newline. Other text is encoded based on encode parameter.
no conversion
encode="html"
Encode special characters into HTML entities. If a FORMFIELD is passed into an HTML form field it should be encoded as "html". Additional encodings available: encode="quote", encode="moderate", encode="safe", encode="entity", encode="url" and encode="csv". See ENCODE for details.
"" (no encoding)
Example: %FORMFIELD{"Main/ProjectName" topic="Projects.SushiProject" default="(not set)" alttext="Main/ProjectName field not found"}%
Note: Specify topic="%INCLUDINGTOPIC%" if you have a base topic that includes a report topic, and in the report topic you want to reference a field of the base topic
Write %FOURCOLUMNS% ...text... %ENDCOLUMNS% to get a page layout with four columns. The layout is responsive, e.g. it automatically adjusts to a lower number of columns (4 => 3 => 2 => 1) depending on the window width or screen width of the device used. The 300 pixels minimum width of a column determines the number of columns shown. Embedded images scale down automatically to the width of the screen if needed.
Syntax: %FOURCOLUMNS% ... %ENDCOLUMNS%
Example:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed viverra ante ac augue sagittis semper. Vestibulum sed urna quam. Phasellus eleifend dolor id dui dictum lobortis. Etiam enim erat, fermentum eget libero non, pretium vestibulum nisi. Nam eget nisi diam. Cras egestas, nibh a malesuada hendrerit, tellus turpis gravida dolor, at fermentum ipsum libero id eros. Mauris a nunc turpis. Fusce turpis dui, blandit nec maximus at, sagittis et arcu. Duis eros sapien, accumsan sed varius eget, elementum eu sapien. Nulla congue, nulla efficitur gravida porta, leo ex feugiat purus, sit amet sagittis leo arcu at magna. Pellentesque eleifend, libero quis consectetur tincidunt, orci ipsum scelerisque turpis, vulputate feugiat risus orci non odio. Integer id enim turpis. Cras et nisl quis massa ornare maximus id sit amet justo. Mauris at mi eget nisi imperdiet ullamcorper.
Name of variable, such as menu. May optionally contain a JSON path, such as menu.File.Open.
(required)
format="..."
Format with supported variables: • $name for variable name • $value for variable value • $isdefined expanding to 1 or 0 depending if variable is defined or not • $isset expanding to 1 or 0 depending if variable is logically true or false • $ispersistent expanding to 1 or 0 depending if variable is persistent or not • all FormatTokens such as $dollar, $n, $percnt.
"$value"
default="..."
Text shown if variable is not defined, e.g. not found. This parameter overrides the format parameter.
"" (empty string)
store="..."
Specify a store name that holds the persistent variable. This assumes the variable was previously set with the same store name.
""
Example: %GET{"lunch"}% returns Sushi if the following has been previously set: %SET{ "lunch" value="Sushi" }% - see more examples
Date format defined as {DefaultDateFormat} in configure, default $year-$mo-$day
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Note:%<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Expands to a formatted list of user groups in your TWiki. The variable is intended to be used in TWikiGroups, to allow a group listing for various user mapping managers.
Table header. Standard format tokens are expanded. To omit the header, specify an empty value or "none".
"| *Group* | *Members* |"
format=""
Format of one row, may include tokens: • $group - topic name of group • $grouplink - link to group • $members - list of members, up to limit • standard format tokens
By default, the members of a group are listed in the same order as in the definition in the group topic. With this parameter, members are listed in the alphabetical order of their wiki names.
HEADLINES{"url"} -- show RSS and ATOM feeds in TWiki pages
The %HEADLINES{"url"}% variable is handled by the HeadlinesPlugin.
Syntax: %HEADLINES{ "http://..." }%
Parameters: (all but the first one are optional)
"..."
Source of RSS or ATOM feed; this can be a URL (starting with http) or a web.topic location for internal feeds
refresh="60"
Refresh rate in minutes for caching feed; "0" for no caching
limit="12"
Maximum number of items shown
header="..."
Header. May include these variables: - $channeltitle, $title: title of channel (channel.title) - $channellink, $link: link of channel (channel.link) - $channeldescription, $description: description (channel.description) - $channeldate, $date: publication date of the channel (channel.pubDate) - $rights: copyrights of the channel (channel.copyright) - $imagetitle: title text for site (image.title) - $imagelink: link for site (image.link) - $imageurl: URL of image (image.url) - $imagedescription: description of image (image.description)
format="..."
Format of one item. May include these variables: - $title: news item title (item.title) - $link: news item link (item.link) - $description: news item description (item.description) - $date: the publication date (item.pubDate, item.date) - $category: the article category (item.category)
Example: %HEADLINES{ "http://slashdot.org/slashdot.rdf" header="*[[$link][$title]]:* $description" format="$t* [[$link][$title]]" limit="4" }% shows the latest Slashdot news in bullet list format
Text inside the HIDE is removed when viewing the topic. This can be used to remove large amounts of text from being sent to the browser, such as the user list in Main.TWikiUsers if there are many thousands of users.
Syntax: %HIDE{ any text }%
Expands to: (empty string)
Notes:
Using HIDE is not a replacement for access control, because edit and raw view still show the content.
Variables inside HIDE still get expanded because variables execute inside out, e.g. you can't use it to speed up slow variables.
<!-- HTML comments --> also hide content from the user, but unlike HIDE, HTML comments are sent to the browser.
Limitation: For security reasons, the COOKIE field value cannot be retrieved. You can add or delete hidden fields by changing the {HTTP}{HiddenFields} configuration parameter.
The same as %HTTP% but operates on the HTTPS environment variables present when the SSL protocol is in effect. Can be used to determine whether SSL is turned on.
Syntax: %HTTPS%
Syntax: %HTTPS{"Header-name"}%
Limitation: For security reasons, the COOKIE field value cannot be retrieved. You can add or delete hidden fields by changing the {HTTP}{HiddenFields} configuration parameter.
ICON{"name"} -- small documentation graphic or icon of common attachment types
Generates the HTML img tag of a small graphic image attached to TWikiDocGraphics. Images typically have a 16x16 pixel size. You can select a specific image by name, or you can give a full file path or URL, in which case the type of the file will be used to select one of a collection of common file type icons.
Format of icon. Supported variables (with %ICON{"person"}% example): • $name - name of icon (person) • $type - type of icon (gif) • $filename - icon filename (person.gif) • $web - web where icon is defined (TWiki) • $topic - topic where icon is defined (TWikiDocGraphics) • $description - icon description (Person) • $width - width of icon ('16') • $height - height of icon ('16') • $img - full img tag of icon (<img src="... />) • $info - icon tag with usage info in title • $url - URL of icon (http://example.com/pub/TWiki/TWikiDocGraphics/person.gif) • $urlpath - URL path of icon (/pub/TWiki/TWikiDocGraphics/person.gif)
format="$img"
default="else"
Alternate icon if named icon is not defined
default="$name"
Examples:
%ICON{"flag-gray"}% returns:
%ICON{"pdf"}% returns:
%ICON{"smile.pdf"}% returns:
%ICON{"/home/sweet/home.pdf"}% returns:
%ICON{"http://twiki.org/doc/xhtml.xsl"}% returns:
%ICON{"bubble" format="$description icon is defined in $web.$topic"}% returns: Speech bubble icon is defined in TWikiDocGraphics
Graphic samples: arrowbright, bubble, choice-yes, hand
File type samples: bmp, doc, gif, hlp, html, mp3, pdf, ppt, txt, xls, xml, zip
ICONURL{"name"} -- URL of small documentation graphic or icon
Generates the full URL of a TWikiDocGraphics image, which TWiki renders as an image. The related %ICON{"name"}% generates the full HTML img tag. Specify image name or full filename (see ICON for details on filenames.)
ICONURLPATH{"name"} -- URL path of small documentation graphic or icon
Generates the URL path of a TWikiDocGraphics image, typically used in an HTML img tag. Specify image name or full filename (see ICON for details on filenames.)
The name of a topic located in the current web, i.e. %INCLUDE{"WebNotify"}%
"Web.Topic"
A topic in another web, i.e. %INCLUDE{"TWiki.SiteMap"}%
"http://..."
A full qualified URL, i.e. %INCLUDE{"http://twiki.org:80/index.html"}%. Supported content types are text/html and text/plain by default. See allowanytype. if the URL resolves to an attachment file on the server this will automatically translate to a server-side include.
attachment="filename.ext"
Include the specified attachment instead of topic text. The attachment content is subject to processing just like when topic text is included. For example, text up to %STARTINCLUDE% is excluded. When including an attachment, you can do without topic specification - %INCLUDE{attachment="filename.ext"}% works, which results in including the attachment of the same topic.
allowanytype="on"
Suppress the content type checking in including the web page specified by a URL.
disabled
charset="CHARSET"
Specify the charset of the included content so that a proper charset conversion happens when it's different from the site charset. Needless to say, this works for a TWiki topic, a topic attachment, and a content specified with a URL. This parameter overrides otherwise specified or implied charset.
none
pattern="..."
Include a subset of a topic or a web page. Specify a RegularExpression that scans from start ('^') to end and contains the text you want to keep in parenthesis, e.g., pattern="^.*?(from here.*?to here).*". IncludeTopicsAndWebPages has more.
none
headingoffset="2"
Adjust the level of headings in the included topic. A "2" or "+2" increases the level by two, e.g. a ---+ H1 turns into a ---+++ H3. Positive and negative values are supported. Adjusted min and max levels are H1 and H6, respectively.
no adjustment
hidetoc="on"
Remove %TOC% in included content. Useful to show table of contents in individual topics, while suppressing them if included in a big master document.
TOC_HIDE_IF_ INCLUDED setting
rev="2"
Include a previous topic revision; N/A for URLs
top revision
raw="on" (for HTTP inclusion)
When a page is included via HTTP, normally TWiki will process it, doing the following: 1) Alter relative links to point back to originating host, 2) Remove some basic HTML tags (html, head, body, script) and finally 3) Remove newlines from HTML tags spanning multiple lines. If you prefer to include exactly what is in the source of the originating page set this to on. raw="on" is short for disableremoveheaders="on", disableremovescript="on", disableremovebody="on", disablecompresstags="on" and disablerewriteurls="on".
disabled
raw="on" (for topic or attachment inclusion)
When a topic is included, normally TWiki variables in the included topic are expanded in the context of the inlcluded topic. If raw="on" is specified, that variable expansion does not happen. You may wonder what's that for and what are the implications, which are found out on IncludeTopicRaw. Because of the "in the raw" nature of the parapmeter, if it's specified, parameters such as encode, headingoffset, hidetoc, newline, nofinalnewline, and section are ignored.
disabled
literal="on"
While using the raw option will indeed include the raw content, the included content will still be processed and rendered like regular topic content. To disable parsing of the included content, set the literal option to "on".
disabled
nofinalnewline="on"
Delete the new line at the end of the result if exists
disabled
newline="$br"
Convert newlines in textarea to other delimiters. Variable $br expands to <br /> tag, and $n to a newline. Other text is encoded based on encode parameter.
no conversion
encode="html"
Encode special characters into HTML entities. If a FORMFIELD is passed into an HTML form field it should be encoded as "html". Additional encodings available: encode="quote", encode="moderate", encode="safe", encode="entity" and encode="url". See ENCODE for details.
no encoding
disableremoveheaders="on"
Bypass stripping headers from included HTML (everything until first </head> tag)
disabled
disableremovescript="on"
Bypass stripping all <script> tags from included HTML
disabled
disableremovebody="on"
Bypass stripping the </body> tag and everything around over and below it
disabled
disablecompresstags="on"
Bypass replacing newlines in HTML tags with spaces. This compression step rewrites unmatched <'s into < entities unless bypassed
disabled
disablerewriteurls="on"
Bypass rewriting relative URLs into absolute ones
disabled
disablefixlinks="on"
Bypass fixing WikiWord links if include is done across webs. Fixing links in included text such as from SomeLink to Otherweb.SomeLink is usually desirable so that links in included text still point to the same target
disabled
warn="off"
Warn if topic include fails: Fail silently (if off); output default warning (if set to on); else, output specific text (use $topic for topic name)
Includes only the specified named section, as defined in the included topic by the STARTSECTION and ENDSECTION variables. Nothing is shown if the named section does not exists. section="" is equivalent to not specifying a section
PARAMONE="val 1" PARAMTWO="val 2"
Any other parameter will be defined as a variable within the scope of the included topic. The example parameters on the left will result in %PARAMONE% and %PARAMTWO% being defined within the included topic. A default value for a variable can be specified in the included topic in case the corresponding parameter is not specified, such as %PARAMONE{ default="..." }%
Security Considerations:
The ability to INCLUDE arbitrary URLs, such as %INCLUDE{"http://www.google.com/"}% is turned off by default. To turn this on, ask your TWiki administrator to enable the {INCLUDE}{AllowURLs} flag in the Security setup section of configure.
JavaScript in included web pages is filtered out as a security precaution per default. Disable filtering with raw or disableremovescript parameter.
Infinite INCLUDE loop prevention:
To prevent obvious infinite INCLUDE loop, %INCLUDE{"http://THIS_SERVER/.../THIS_WEB/THIS_TOPIC}% is detected and blocked.
If the server has aliases, $TWiki::cfg{UrlHostRegex} should be set so that it matches all possible server names. e.g.
INCLUDE attachment: As described above, there are two ways to include an attachment. They are similar, but behave slightly differently.
attachment="filename.ext" This works in the same manner as ordinary topic text inclusion. %STARTINCLUDE% and %STOPINCLUDE% in the attachment are observed. The section parameter is observed. The variables are expanded in the context of the topic having the attachment. For example, %TOPIC% is expanded to the name of the topic having the attachment.
Specifying the URL of an attachment. (e.g. %INCLUDE{%ATTACHURL%/foo.txt}%) The attachment content is processed in the same manner as when data is retrieved from another web server. Unless raw="on" is specified, the content of <body>...</body> is extracted, all occurrences of <script>...</script> are removed. Topic context change doesn't happen because in general inclusion via HTTP doesn't cause topic context change.
INCLUDINGTOPIC -- name of topic that includes current topic
The name of the topic that includes the current topic - same as %TOPIC% in case there is no include.
Syntax: %INCLUDINGTOPIC%
Example: If topic A includes B, and B includes C, then a %INCLUDINGTOPIC% in topic C is reported as B when looking at topics A or B, and as C when looking at topic C itself.
The web name of the topic that includes the current topic - same as %WEB% if there is no INCLUDE.
Syntax: %INCLUDINGWEB%
Syntax: %INCLUDINGWEB{format="..."}% -- see WEB for format documentation
Example: If topic A includes B, and B includes C, then a %INCLUDINGWEB% in topic C is reported as web of topic B when looking at topics A or B, and as of topic C when looking at topic C itself.
When switching tabs, this is the Javascript fragment to be executed just before the tab is displayed
""
after
This Javascript handler is to be executed after the tab has been made visible
""
afterload
This Javascript handler will be called when content loaded asynchronously has finished loading (using the url parameter described below). Depending on the network latency and server response time, this can be significantly later than execution of the after handler above
""
url
Link from where to load the content of the tab asynchronously when selecting this tab; the result of the addressed handler will replace the content area; if no url is set the content of the TAB ... ENDTAB area will be shown when the tab is selected
""
container
Container element (".someClass" or "#someID") where content will be loaded asynchronously using Ajax; this is only used together with url
".jqTabContents"
class
Add additional class to existing tab class "jqTab"
Create nice looking horizontal tab panes in TWiki topics. Write a sequence of %JQTAB{"..."}% and %JQENDTAB% pairs, and enclose them in %JQTABPANE% and %JQENDTABPANE%. Tab panes can be nested, e.g. within one tab you can add another tab pane. These variable are handled by the JQueryPlugin.
Returns the language code for the language used as the current user. This is the language actually used by TWiki Internationalization (e.g. in user interface).
The language is detected from the user's browser, unless some site/web/user/session-defined setting overrides it:
If the LANGUAGE preference is set, it's used as user's language instead of any language detected from the browser.
Avoid defining LANGUAGE at a non per-user way, so each user can choose his/her preferred language.
Example: <select>%LANGUAGES{format="<option $marker value='$langtag'>$langname</option>" selection="%LANGUAGE%"}%</select> creates an option list of the available languages with the current language selected
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
LOCALSITEPREFS -- web.topicname of site preferences topic
The full name of the local site preferences topic. These local site preferences overload the system level preferences defined in TWiki.TWikiPreferences.
a comma-separated list of arguments to be interpolated in the string, replacing the [_N] placeholders in it.
none
Examples:
%MAKETEXT{string="Notes:"}% expands to Notes:
%MAKETEXT{"If you have any questions, please contact [_1]." args="%WIKIWEBMASTER%"}% expands to If you have any questions, please contact webmaster@astro.caltech.edu.
%MAKETEXT{"Did you want to ~[~[[_1]~]~[reset [_2]'s password~]~]?" args="%SYSTEMWEB%.ResetPassword, %WIKINAME%"}% expands to Did you want to reset TWikiGuest's password?
Notes:
TWiki will translate the string to the current user's language only if it has such string in its translation table for that language.
Ampersands (&) followed by one letter (one of a...z, A...Z -- say, X) in the translatable string will be translated to <span class='twikiAccessKey'>X</span>. This is used to implement access keys. If you want to write an actual amperstand that stays just before a letter, write two consecutive amperstands (&&): they will be transformed in just one.
Square brackets ~[ and ~] in the text have a special meaning and need to be escaped using ~[ and ~], respectively.
Translatable string starting with underscores (_) are reserved. You must not use translatable phrases starting with an underscore.
Make sure that the translatable string is constant. Specially, do not include %VARIABLES% inside the translatable strings - string would not get translated because variables get expanded before the %MAKETEXT{...}% itself is handled.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Format of one record. It may contain the following items. In addtion, the standard special tokens are handled accordingly.
Item
Description
$_ or $_()
the record ID
$__ or $__()
The record value in the following format: FIELD_NAME=FIELD_VALUEFIELD_NAME=FIELD_VALUE ...
$marker or $marker()
Expands to marker for the item matching selection only
$_FILED_NAME or $_FIELD_NAME()
Please be noted that you need to put _ (underscore) in front of a field name. $_FIELD_NAME$ yields the value of the specified field. If the specified field does not exist in the record, it returns the null string ("").
?FIELD_NAME?IF_FIELD_HAS_VALUE?
If the specified field has value and it's neither 0 nor the null string (""), it's evaluated as IF_FIELD_HAS_VALUE. Otherwise, it's evaluated as the null string. This is like q/.../ in Perl. A non-word character following ?FIELD_NAME becomes the terminator; i.e. you can write: ?FIELD_NAME:IF_TRUE: Specifically, the following characters can be used as the delimiter: ! # % ' / : ? @ ^ ` | ~ = is excluded because it clashes with a parameter specification in a URL (?name=value).
?!FIELD_NAME?IF_FIELD_HAS_NO_VALUE?
Similar to above but it's opposite. If the field has value, it's evaluated as the null string. Otherwise, it's evaluated as IF_FIELD_HAS_NO_VALUE.
$question
Replaced with ? after the ?FIEL_DNAME and ?!FIELD_ANME constructs are processed.
"| $_ | $__ |"
selection="..."
The record ID to be regarded as the selected. It affects how $marker in the format is evaluated.
none
marker="..."
Text for $marker in the format if the item matches selection
"selected"
filter="..."
The regular expression of record IDs to filter records. Matching is case-insensitive
none
exclude="..."
Comma separated list of record IDs to be excluded. You can use regular expression. If you specify Trash\d*, then Trash, Trash1, Trash2, ... are exluded but LightTrash and TrashBag are not excluded
none
Example: %MDREPO{"webs" filter="^A" format="| $_ | $_admin | $_master |"}% This would show the metadata of webs whose names start with A.
Provided mainly for use in templates, this variable generates the parts of the topic view that relate to meta-data (attachments, forms etc.) The formfield item is the most likely to be useful to casual users.
name="...": name of the field. The field value can be shortened as described in FormattedSearch for $formfield. newline="...": by default, each newline character will be rewritten to <br /> to allow metadata that contains newlines to be used in tables, etc. $n indicates a newline character. bar="...": by default, each vertical bar is rewritten to an HTML entity so as to not be mistaken for a table separator. encode="type": have the value encoded in the specified type. Possible types are the same as ENCODE's. If this is specified, newline and bar options are ignored. topic="...": Get meta info of "Topic" or "Web.Topic"; default "%BASEWEB%.%BASETOPIC%".
Show a single form field
"form"
topic="...": Get meta info of "Topic" or "Web.Topic"; default "%BASEWEB%.%BASETOPIC%".
Generates the table showing the form fields. See Form Templates
"attachments"
all="on" to show hidden attachments. title="..." to show a title - only if attachments are displayed. template="..." to use a custom template for the rendering of attachments; default attachtables is used. topic="...": Get meta info of "Topic" or "Web.Topic"; default "%BASEWEB%.%BASETOPIC%".
Generates the list of attachments
"moved"
topic="...": Get meta info of "Topic" or "Web.Topic"; default "%BASEWEB%.%BASETOPIC%".
Details of any topic moves
"parent"
dontrecurse="on": By default recurses up tree, this has some cost. nowebhome="on": Suppress WebHome. prefix="...": Prefix that goes before parents, but only if there are parents, default "". format="...": Format string used to display each parent topic where $web expands to the web name, and $topic expands to the topic name; default: "[[$web.$topic][$topic]]" suffix="...": Suffix, only appears if there are parents; default "". separator="...": Separator between parents; default " > ". topic="...": Get meta info of "Topic" or "Web.Topic"; default "%BASEWEB%.%BASETOPIC%".
Generates the parent link
Attention: The base topic, not the current topic, is used if %META{}% is placed in an included topic. Add a topic="%WEB%.%TOPIC%" parameter if you need meta info of the current topic.
Note: Formatting tokens can be used for newline, prefix, format, suffix and separator options, such as separator="$n * "
Type of search: • "topicmoved" - search for a topic that may have been moved. • "parent" - search for topics that have a specific parent i.e. its children. • "field" - search for topics that have a particular form field value (use the name and value parameters to specify which field to search).
Required
web="%WEB%"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs.
Current web
topic="%TOPIC%"
The topic the search relates to.
Current topic
name="..."
form field to search, for type="field" searches. May be a regular expression (see SEARCH).
value="..."
form field value, for type="field" searches. May be a regular expression (see SEARCH).
title="Title"
Text that is prefixed to any search results.
"" (empty)
format="..."
Custom format of each search hit. Supports same format strings as SEARCH. See FormattedSearch for usage, variables & examples
"$topic"
separator="..."
Separator between search hits.
"$n" (newline)
default="none"
Default text shown if no search hit.
"" (empty)
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
The WYSIWYG editor tends to change into normal space. Use this variable where non-breaking space needs to be retained, such as in empty table headings.
NOP -- template text not to be expanded in instantiated topics
Syntax: %NOP%
In normal topic text, expands to <nop>, which prevents expansion of adjacent variables and wikiwords
When the topic containing this is used as a template for another topic, it is removed.
Syntax: %NOP{...}%deprecated
In normal topic text, expands to whatever is in the curly braces (if anything).
Note: This is deprecated. Do not use it. Use %STARTSECTION{type="templateonly"}% .. %ENDSECTION{type="templateonly"}% instead (see TWikiTemplates for more details).
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Add %PARENTBC% to a heading of a topic to show the breadcrumb of its parents. Parent topics are linked, topic names are shown spaced out in a smaller font, and are separated by » quotes. In addition, a parentlistSetGetPlugin variable is set to the parent list, and a parent variable is set to the immediate parent. This can be retrieved later in the topic using %GET{parentlist}% and %GET{parent}%, respectively.
Format string used to display parent topic, where $web expands to the web name, and $topic expands to the topic name. Additional formatting tokens can be used.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
SpreadSheetPlugin(2015-06-07, $Rev: 29570 (2015-11-29) $): Add spreadsheet calculation like "$SUM( $ABOVE() )" to TWiki tables or anywhere in topic text
BackupRestorePlugin(2015-01-09, $Rev: 28636 (2015-11-29) $): Administrator utility to backup, restore and upgrade a TWiki site
ColorPickerPlugin(2015-01-10, $Rev: 29507 (2015-11-29) $): Color picker, packaged for use in TWiki forms and TWiki applications
CommentPlugin(2015-01-10, $Rev: 28648 (2015-11-29) $): Quickly post comments to a page without an edit/preview/save cycle
DatePickerPlugin(2015-01-10, $Rev: 29510 (2015-11-29) $): Pop-up calendar with date picker, for use in TWiki forms, HTML forms and TWiki plugins
EditTablePlugin(2015-01-10, $Rev: 29516 (2015-11-29) $): Edit TWiki tables using edit fields, date pickers and drop down boxes
HeadlinesPlugin(2015-11-06, $Rev: 29650 (2015-11-29) $): Show headline news in TWiki pages based on RSS and ATOM news feeds from external sites
InterwikiPlugin(2015-06-18, $Rev: 29526 (2015-11-29) $): Write ExternalSite:Page to link to a page on an external site based on aliases defined in a rules topic
JQueryPlugin(2015-01-10, $Rev: 29532 (2015-11-29) $): jQuery JavaScript library for TWiki
PreferencesPlugin(2015-01-14, $Rev: 29550 (2015-11-29) $): Allows editing of preferences using fields predefined in a form
SetGetPlugin(2015-07-09, $Rev: 29564 (2015-11-29) $): Set and get variables and JSON objects in topics, optionally persistently across topic views
SlideShowPlugin(2015-01-14, $Rev: 29566 (2015-11-29) $): Create web based presentations based on topics with headings.
SmiliesPlugin(2015-02-16, $Rev: 29568 (2015-11-29) $): Render smilies as icons, like :-) as or :eek: as
TablePlugin(2015-02-16, $Rev: 29580 (2015-11-29) $): Control attributes of tables and sorting of table columns
TagMePlugin(2015-02-16, $Rev: 29582 (2015-11-29) $): Tag wiki content collectively or authoritatively to find content by keywords
TinyMCEPlugin(2015-02-16, $Rev: 29584 (2015-11-29) $): Integration of the Tiny MCE WYSIWYG Editor
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
encode="..." the encoding to apply to parameter values; see ENCODE for a description of the available encodings. If this parameter is not given, no encoding is performed.
<-- Note: encoding="..." works too but has been deprecated in Item6621 -->
The following escape sequences are expanded in the format string:
QUERYSTRING -- full, unprocessed string of parameters to this URL
String of all the URL parameters that were on the URL used to get to the current page. For example, if you add ?name=Samantha;age=24;eyes=blue to this URL you can see this in action. This string can be appended to a URL to pass parameter values on to another page.
Note: URLs built this way are typically restricted in length, typically to 2048 characters. If you need more space than this, you will need to use an HTML form and %QUERYPARAMS%.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
REDBG is one of the rendering shortcut settings predefined in TWikiPreferences. See the section rendering shortcut settings in that topic for a complete list of background colors.
Expands to the URL of the specified script. Optionally, you can specify a web and/or a topic. In that case, the URL of the script for the specified web and topic is returned.
If ReadOnlyAndMirrorWebs is in effect and a web is specified, whether the web is a slave or not is taken into account. For a slave web, with scripts edit, save, attach, upload, and rename, the URL on the master site is returned. For the other scripts, if the master="on" parameter is specified, the URL on the master site is returned.
When a topic name is specified and a web is not, the current web is assumed
topic="TOPIC" or topic="WEB.TOPIC"
Specifies a topic or both a web and a topic
master="on"
A URL on the master site is needed or not
off
If web="WEB" is specified but topic is not specified, the resulting URL ends with WEB.
Example: To get the authenticated version of the current topic you can write %SCRIPTURL{"viewauth"}%/%WEB%/%TOPIC% which expands to https://sites.astro.caltech.edu/twiki_cstc/bin/viewauth/TWiki/TWikiVariables. It can be written %SCRIPTURL{"viewauth" topic="%TOPIC%"}% as well.
Example: Let's assume this site has a web named 'Flowers' whose master site is http://florawiki/cgi-bin. Then %SCRIPTURL{"edit" web="Flowers"}% expands to http://florawiki/cgi-bin/edit/Flowers. This is because the 'Flower' web on this site is a slave and editing needs to happen on the master site.
Example: Asuming above, %SCRIPTURL{"view" web="Flowers" master="on"}% expands to http://florawiki/cgi-bin/view/Flowers. The view script works on a slave site, but master="on" parameter forces to yield the master site URL.
Example: How to link to another topic with a URL parameter: [[%SCRIPTURL{view}%/%WEB%/MyQuery?food=sushi][Sushi]]
Note: In most cases you should use %SCRIPTURLPATH{"script"}% instead, as it works with URL rewriting much better
When a topic name is specified and a web is not, the current web is assumed
topic="TOPIC" or topic="WEB.TOPIC"
Specifies a topic or both a web and a topic
master="on"
A URL on the master site is needed or not.
off
If web="WEB" is specified but topic is not specified, the resulting URL ends with WEB.
Example: %SCRIPTURLPATH{"view"}% expands to "/twiki_cstc/bin/view" (This might be a null string. Hence surrounded by double quotes)
Example: %SCRIPTURLPATH{"view" web="%WEB%"}% expands to /twiki_cstc/bin/view/TWiki
Example: %SCRIPTURLPATH{"view" topic="%TOPIC%"}% expands to /twiki_cstc/bin/view/TWiki/VarSCRIPTURLPATH2
Example: Let's assume this site has a web named 'Flowers' whose master site is http://florawiki/cgi-bin. Then %SCRIPTURLPATH{"edit" web="Flowers"}% expands to http://florawiki/cgi-bin/edit/Flowers. This is because the 'Flower' web on this site is a slave and editing needs to happen on the master site.
Search term. Is a keyword search, literal search, regular expression search, or query, depending on the type parameter. SearchHelp has more
required
search="text"
(Alternative to above)
N/A
web="Name" web="Main, Know" web="all"
Comma-separated list of webs to search. You can specifically \*exclude\* webs from an all search using a minus sign - for example, web="all,-Secretweb". The special word all means all webs that do not have the NOSEARCHALL variable set to on in their WebPreferences. Note that TWikiAccessControls are respected when searching webs; it is much better to use them than NOSEARCHALL.
Current web
topic="WebPreferences" topic="*Bug"
Limit search to topics: A topic, a topic with asterisk wildcards, or a list of topics separated by comma. Note this is a list of topic names and must not include web names.
Exclude topics from search: A topic, a topic with asterisk wildcards, or a list of topics separated by comma. Note this is a list of topic names and must not include web names.
None
scope="topic" scope="text" scope="all"
Search topic name (title); the text (body) of topic; or all (title and body)
Control how the search is performed when scope="text" or scope="all"keyword: use Google-like controls as in soap "web service" -shampoo; searches word parts: using the example, topics with "soapsuds" will be found as well, but topics with "shampoos" will be excluded word: identical to keyword but searches whole words: topics with "soapsuds" will not be found, and topics with "shampoos" will not be excluded literal: search for the exact string, like web serviceregex: use a RegularExpression search like soap;web service;!shampoo; to search on whole words use \bsoap\bquery: query search of form fields and other meta-data, like (Firstname='Emma' OR Firstname='John') AND Lastname='Peel'
Sort the search results by: • topic: topic name, • created: topic creation time, • modified: last modified time, • editby: last editor, • parent: parent topic name, • parent(N): parent breadcrumb up to indicated level, • formfield(NAME): named TWikiForms field, • or a combination to sort by more than one field using a comma list. The sorting is done web by web; if you want to sort across webs, create a formatted table and sort it with TablePlugin's initsort. Note that dates are sorted most recent date last (i.e at the bottom of the table). Legacy order parameter is used in case sort is not specified.
"topic"
reverse="on" reverse="off, on"
Reverse the direction of the search. Specify a comma list of on, off tokens to toggle direction by sort field. If sort has more fields than reverse tokens, the state of the last reverse token is taken for the remaining fields.
"off"
start="0" start="20"
Specify the number of results to skip. This is done after sorting if sort parameter is specified. This is intended for pagination of results. If this parameter is specified, %NTOPICS% in the search template is replaced with the number of topics matched. Without this parameter, %NTOPICS% doesn't exceed the limit value.
"0"
limit="all" limit="16"
Limit the number of results returned. This is done after sorting if sort parameter is specified. This parameter specifing the number of results remains the same in the presense of the start parameter. Assuming there are more than 20 results matched, start="10" limit="10" results in 11th to 20th results are returned
"all"
date="..."
limits the results to those pages with latest edit time in the given time interval.
All results
createdate="..."
similar to date but it's about create time instead of last edit. You can specify both date and createdate, in which case topics matching both conditions are shown.
Shorthand for nosummary="on" nosearch="on" nototal="on" zeroresults="off" noheader="on" noempty="on"
Off
nosummary="on"
Show topic title only
Show topic summary
nosearch="on"
Suppress search string
Show search string
noheader="on"
Suppress default search header Topics: Changed: By:, unless a header is explicitly specified
Show default search header, unless search is inline and a format is specified (Cairo compatibility)
nototal="on"
Do not show number of topics found
Show number
zeroresults="off"
Suppress all output if there are no hits
zeroresults="on", displays: "Number of topics: 0"
noempty="on"
Suppress results for webs that have no hits.
Show webs with no hits
headingoffset="2"
Adjust the level of headings in text of topics found, taking effect in $text and $pattern() of a FormattedSearch. A "2" or "+2" increases the level by two, e.g. a ---+ H1 turns into a ---+++ H3. Positive and negative values are supported. Adjusted min and max levels are H1 and H6, respectively.
no adjustment
header="..." format="..." footer="..."
Custom format results. See FormattedSearch for usage, variables & examples
Results in table
default="..."
Default message if there are no hits in a web. See FormattedSearch for usage, variables & examples
No output
expandvariables="on"
Expand variables before applying a FormattedSearch on a search hit. Useful to show the expanded text, e.g. to show the result of a SpreadSheetPlugin%CALC{}% instead of the formula
Raw text
multiple="on"
Multiple hits per topic. Each hit can be formatted. The last token is used in case of a regular expression ";" and search
Only one hit per topic
nofinalnewline="on"
If on, the search variable does not end in a line by itself. Any text continuing immediately after the search variable on the same line will be rendered as part of the table generated by the search, if appropriate.
off
recurse="on"
Recurse into subwebs, if subwebs are enabled.
off
separator=", "
Line separator between search hits. Specify format="$topic" separator=", " to get a comma separated list of topic names. The following variables can be used in the separator value: $n expands to a newline, $br expands to a <br /> line break tag.
"$n" (Newline)
newline="$br"
Line separator within a search hit. Useful if you want to put multi-line content into a table cell, for example if the format="" parameter contains a $pattern() that captures more than one line, or contains a $formfield() that returns a multi-line textfield. The following variables can be used in the newline value: $n expands to a newline, $br expands to a <br /> line break tag.
"$n" (Newline)
encode="html"
Encode special characters into HTML entities. If a FORMFIELD is passed into an HTML form field it should be encoded as "html". Additional encodings available: encode="quote", encode="moderate", encode="safe", encode="entity" and encode="url". See ENCODE for details.
Example with format: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"}%(displays results in a table with header - details)
Hint: If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
Date format defined as {DefaultDateFormat} in configure, default $year-$mo-$day
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Example: %SERVERTIME{"$hou:$min"}% expands to 22:45
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Set a named variable that can be retrieved later with %GET{}%. No output is shown, e.g. %SET{}% resolves to an empty string. It is also possible to set a JSON object using a JSON path. The %SET{}% and %GET{}% variables are handled by the SetGetPlugin.
Name of variable. Alphanumeric characters, dashes and underscores can be used.
(required)
value="..."
Value of variable. Escape double quotes with backslash.
(required, may be empty)
remember="1"
If set, the variable will be stored persistently so that it can be used later in any TWiki topic. Alternatively use the store parameter. See important notes.
"0"
store="..."
Specify a store name to persistently store the variable, such as store="Parts". Use alphanumeric characters, dashes and underscores for the name. For better performance, store is preferred over the remember parameter if you need to store a large dataset. See important notes.
JSON Syntax: %SET{ name = { ... } remember="1" }% - see description.
An optional remember="1" or store="..." parameter can be appended. If specified, the JSON object will be stored persistently so that it can be used later in any TWiki topic.
Dump volatile or persistent name/values previously set with %SET{}%. The %SETGETDUMP{}%, %SET{}%, and %GET{}% variables are handled by the SetGetPlugin.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
SPACEOUT{"string"} -- renders string with spaces inserted in sensible places
Inserts spaces between word components. Word component boundaries are transitions from lowercase to uppercase or numeric, from numeric to uppercase or lowercase, and from uppercase to numeric characters.
The separator to put between words e.g. %SPACEOUT{"DogsCatsBudgies" separator=", "}% -> Dogs, Cats, Budgies
' '
Hint: Spaced out WikiWords are not automatically linked. To SPACEOUT a WikiWord but preserve the link use "double bracket" format. For example, [[WebHome][%SPACEOUT{"WebHome"}%]] expands to Web Home
STARTINCLUDE -- start position of topic text if included
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 everything exept the %STARTINCLUDE% variable itself.
Note: If you want more than one part of the topic included, use %STARTSECTION{type="include"}% instead
STARTSECTION -- marks the start of a section within a topic
Section boundaries are defined with %STARTSECTION{}% and %ENDSECTION{}%.
Sections may be given a name to help identify them, and/or a type, which changes how they are used.
type="section" - the default, used for a generic section, such as a named section used by INCLUDE.
type="include" - like %STARTINCLUDE% ... %STOPINCLUDE% except that you can have as many include blocks as you want (%STARTINCLUDE% is restricted to only one).
type="templateonly" - start position of text to be removed when a template topic is used. Use this to embed text that you do not want expanded when a new topic based on the template topic is created. TWikiTemplates has more.
type="expandvariables" - start position where TWikiVariables get expanded when a new topic is created. As documented in TWikiTemplates#VariableExpansion, only certain variables get expanded when a new topic based on the template topic is created. All variables get expanded within a "expandvariables" section.
Name of the section. Must be unique inside a topic.
Generated name
type="..."
Type of the section; type "section", "include", "templateonly", or "expandvariables"
"section"
disablefixlinks="on"
Only for named sections: Bypass fixing WikiWord links if section is included from a topic in another web. Fixing links in included text such as from SomeLink to Thisweb.SomeLink is usually desirable so that links in included text still point to the same target.
fix links
Note: If a section is not given a name, it will be assigned one. Unnamed sections are assigned names starting with _SECTION0 for the first unnamed section in the topic, _SECTION1 for the second, etc..
Note: You can define nested sections. Do not overlap sections. Use named sections to make sure that the correct START and ENDs are matched. Section markers are not displayed when a topic is viewed.
STOPINCLUDE -- end position of topic text if included
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.
Set table sorting by clicking headers "on" or "off".
unspecified
sort="on"
initsort
Column to sort initially ("1" to number of columns).
unspecified
initsort="2"
initdirection
Initial sorting direction for initsort, set to "up" (descending) or "down" (ascending).
unspecified
initdirection="up"
disableallsort
Disable all sorting, both initsort and header sort. This is mainly used by plugins such as the EditTablePlugin to disable sorting in a table while editing the table.
unspecified
disableallsort="on"
headerbg
Header cell background color.
"#6b7f93"
headerbg="#999999"
headerbgsorted
Header cell background color of a sorted column.
the value of headerbg
headerbgsorted="#32596c"
headercolor
Header cell text color.
"#ffffff"
headercolor="#0000cc"
databg
Data cell background color, a comma separated list. Specify "none" for no color, that is to use the color/background of the page the table is on.
"#edf4f9,#ffffff"
databg="#f2f2f2,#ffffff"
databgsorted
Data cell background color of a sorted column; see databg.
the values of databg
databgsorted="#d4e8e4,#e5f5ea"
datacolor
Data cell text color, a comma separated list.
unspecified
datacolor="#0000CC, #000000"
tableborder
Table border width (pixels).
"1"
tableborder="2"
tableframe
Table frame, set to "void" (no sides), "above" (the top side only), "below" (the bottom side only), "hsides" (the top and bottom sides only), "lhs" (the left-hand side only), "rhs" (the right-hand side only), "vsides" (the right and left sides only), "box" (all four sides), "border" (all four sides).
unspecified
tableframe="hsides"
tablerules
Table rules, set to "none" (no rules), "groups" (rules will appear between row groups and column groups only), "rows" (rules will appear between rows only), "cols" (rules will appear between columns only), "all" (rules will appear between all rows and columns).
unspecified
tablerules="rows"
cellpadding
Cell padding (pixels).
"0"
cellpadding="0"
cellspacing
Cell spacing (pixels).
"0"
cellspacing="3"
cellborder
Cell border width (pixels).
unspecified
cellborder="0"
valign
Vertical alignment of cells and headers, set to "top", "middle", "bottom" or "baseline".
unspecified
valign="top"
headervalign
Vertical alignment of header cells; overrides valign.
unspecified
headervalign="top"
datavalign
Vertical alignment of data cells; overrides valign.
unspecified
datavalign="top"
headeralign
Header cell alignment, one value for all columns, or a comma separated list for different alignment of individual columns. Set to "left", "center", "right" or "justify". Overrides individual cell settings.
unspecified
headeralign="left,right"
dataalign
Data cell alignment, one value for all columns, or a comma separated list for different alignment of individual columns. Set to "left", "center", "right" or "justify". Overrides individual cell settings.
unspecified
dataalign="center"
tablewidth
Table width: Percentage of window width, or absolute pixel value.
unspecified
tablewidth="100%"
columnwidths
Column widths: Comma delimited list of column widths, percentage or absolute pixel value.
unspecified
columnwidths="80%,20%"
headerrows
Number of header rows to exclude from sort. (will be rendered in a HTML thead section)
(determined automatically)
headerrows="2"
footerrows
Number of footer rows to exclude from sort. (will be rendered in a HTML tfoot section)
"0"
footerrows="1"
id
Unique table identifier string, used for targeting a table with CSS.
tableN (where N is the table order number on the page)
id="userTable"
summary
Table summary used by screenreaders: A summary of what the table presents. It should provide an orientation for someone who listens to the table.
unspecified
summary="List of subscribed users"
caption
Table caption: A title that will be displayed just above the table.
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Write %THREECOLUMNS% ...text... %ENDCOLUMNS% to get a page layout with three columns. The layout is responsive, e.g. it automatically adjusts to a lower number of columns (3 => 2 => 1) depending on the window width or screen width of the device used. The 300 pixels minimum width of a column determines the number of columns shown. Embedded images scale down automatically to the width of the screen if needed.
Syntax: %THREECOLUMNS% ... %ENDCOLUMNS%
Example:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed viverra ante ac augue sagittis semper. Vestibulum sed urna quam. Phasellus eleifend dolor id dui dictum lobortis. Etiam enim erat, fermentum eget libero non, pretium vestibulum nisi. Nam eget nisi diam. Cras egestas, nibh a malesuada hendrerit, tellus turpis gravida dolor, at fermentum ipsum libero id eros. Mauris a nunc turpis. Fusce turpis dui, blandit nec maximus at, sagittis et arcu. Duis eros sapien, accumsan sed varius eget, elementum eu sapien. Nulla congue, nulla efficitur gravida porta, leo ex feugiat purus, sit amet sagittis leo arcu at magna. Pellentesque eleifend, libero quis consectetur tincidunt, orci ipsum scelerisque turpis, vulputate feugiat risus orci non odio. Integer id enim turpis. Cras et nisl quis massa ornare maximus id sit amet justo. Mauris at mi eget nisi imperdiet ullamcorper.
Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC. An abbreviated heading can be shown in the TOC, such as "---++ text!! this is excluded from TOC".
Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC. An abbreviated heading can be shown in the TOC, such as "---++ text!! this is excluded from TOC".
List of all topics in a web. The "format" defines the format of one topic item. It may include variables: The $topic variable gets expanded to the topic name, $marker to marker parameter where topic matches selection, and $web to the name of the web, or any of the standard FormatTokens.
Format of one line, may include $web (name of web), $topic (name of the topic), $marker (which expands to marker for the item matching selection only)
"$topic"
format="format"
(Alternative to above)
"$topic"
separator=", "
line separator
"$n" (new line)
marker="selected"
Text for $marker if the item matches selection
"selected"
selection="TopicA, TopicB"
Current value to be selected in list
(none)
web="Name"
Name of web
Current web
Example: %TOPICLIST{" * $web.$topic"}% creates a bullet list of all topics
Example: %TOPICLIST{separator=", "}% creates a comma separated list of all topics
Example: %TOPICLIST{" <option>$topic</option>"}% creates an option list (for drop down menus)
Example: <select>%TOPICLIST{" <option $marker value='$topic'>$topic</option>" separator=" " selection="%TOPIC%"}%</select> creates an option list of web topics with the current topic selected
Topic to get the title from. Can be of form TopicName or Web.TopicName.
Current topic
encode="html"
Encode special characters into HTML entities. If a TOPICTITLE is passed into an HTML form field it should be encoded as "html". Additional encodings: encode="quote", encode="moderate", encode="safe", encode="entity" and encode="url". See ENCODE for details.
"" (no encoding)
Example: %TOPICTITLE{Projects.SushiProject}% returns Sushi Project assuming the topic has a form field named "Title" with value "Sushi Project"
Write %TWOCOLUMNS% ...text... %ENDCOLUMNS% to get a page layout with two columns. The layout is responsive, e.g. it automatically adjusts to a single column (2 => 1) depending on the window width or screen width of the device used. The 300 pixels minimum width of a column determines the number of columns shown. Embedded images scale down automatically to the width of the screen if needed.
Syntax: %TWOCOLUMNS% ... %ENDCOLUMNS%
Example:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed viverra ante ac augue sagittis semper. Vestibulum sed urna quam. Phasellus eleifend dolor id dui dictum lobortis. Etiam enim erat, fermentum eget libero non, pretium vestibulum nisi. Nam eget nisi diam. Cras egestas, nibh a malesuada hendrerit, tellus turpis gravida dolor, at fermentum ipsum libero id eros. Mauris a nunc turpis. Fusce turpis dui, blandit nec maximus at, sagittis et arcu. Duis eros sapien, accumsan sed varius eget, elementum eu sapien. Nulla congue, nulla efficitur gravida porta, leo ex feugiat purus, sit amet sagittis leo arcu at magna. Pellentesque eleifend, libero quis consectetur tincidunt, orci ipsum scelerisque turpis, vulputate feugiat risus orci non odio. Integer id enim turpis. Cras et nisl quis massa ornare maximus id sit amet justo. Mauris at mi eget nisi imperdiet ullamcorper.
Convert newlines in textarea to other delimiters. Variables $br (for <br /> tag), $n (for newline) are expanded. Other text is encoded based on encode parameter.
no conversion
encode="off"
Turn off encoding. See important security note below
encode="safe"
encode="quote"
Escape double quotes with backslashes (\"), does not change other characters; required when feeding URL parameters into other TWiki variables. This encoding does not protect against cross-site scripting.
encode="safe"
encode="moderate"
Encode special characters into HTML entities for moderate cross-site scripting protection: "<", ">", single quote (') and double quote (") are encoded. Useful to allow TWiki variables in comment boxes.
encode="safe"
encode="safe"
Encode special characters into HTML entities for cross-site scripting protection: "<", ">", "%", single quote (') and double quote (") are encoded.
(this is the default)
encode="entity"
Encode special characters into HTML entities. See ENCODE for details.
encode="safe"
encode="html"
Encode special characters into HTML entities. In addition to encode="entity", it also encodes space, newline (\n) and linefeed (\r). Useful to encode text properly in HTML input fields.
encode="safe"
encode="url"
Encode special characters for URL parameter use, like a double quote into %22
encode="safe"
multiple="on" multiple="[[$item]]"
If set, gets all selected elements of a <select multiple="multiple"> tag. A format can be specified, with $item indicating the element, e.g. multiple="Option: $item"
first element
separator=", "
Separator between multiple selections. Only relevant if multiple is specified
"\n" (newline)
format="..."
Format the result. $value expands to the URL parameter. If multiple is specified, $value expands to the result of the concatenated items.
"$value"
default="..."
Default value in case parameter is empty or missing. The format parameter is not applied.
empty string
Example: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL
Notes:
IMPORTANT: There is a risk that this variable can be misused for cross-site scripting (XSS) if the encoding is turned off. The encode="safe" is the default, it provides a safe middle ground. The encode="entity" is more aggressive, but some TWiki applications might not work.
URL parameters passed into HTML form fields should be encoded as "html". Example: <input type="text" name="address" value="%URLPARAM{ "address" encode="html" }%" />
Double quotes in URL parameters must be escaped when passed into other TWiki variables. Example: %SEARCH{ "%URLPARAM{ "search" encode="quotes" }%" noheader="on" }%
When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
Watch out for TWiki internal parameters, such as rev, skin, template, topic, web; they have a special meaning in TWiki. Common parameters and view script specific parameters are documented at TWikiScripts.
If you have %URLPARAM{ in the value of a URL parameter, it will be modified to %<nop>URLPARAM{. This is to prevent an infinite loop during expansion.
Expands to: guest, TWikiGuest, (comma-separated list of the username, wikiusername, and emails)
With formatted output, using tokens $emails, $username, $wikiname, $wikiusername, $groups and $admin ($admin returns 'true' or 'false'):
Example: %USERINFO{ format="$username is really $wikiname" }%
Expands to: guest is really TWikiGuest
Retrieve information about another user:
Example: %USERINFO{ "TWikiGuest" format="$username is really $wikiname" }%
Expands to: guest is really TWikiGuest
Note: The parameter should be the wikiname of a user. Since TWiki 4.2.1, you can also pass a login name. You can only get information about another user if the {AntiSpam}{HideUserDetails} configuration option is not enabled, or if you are an admin. (User details are hidden in this TWiki)
TWiki makes names available in three formats: USERNAME like jsmith, WIKINAME like JohnSmith and WIKIUSERNAME like Main.JohnSmith. Un-authenticated users are all TWikiGuest.
Syntax: %USERNAME%
Expands to: guest
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details.
VAR{"NAME" ...} -- get a preference value from another web or topic and more
Gets the value of a variable in various manners.
If the topic parameter is specified, it gets the value of the specified preferences variable in the specified topic. Please note that the WebPreferences of the web of the specified topic is not examined. So the returned value may not be the same as the value of the variable when the specified topic is viewed.
If the topic parameter is not specified and the web parameter is specified, it gets the value of the specified preferences variable in the specified web, which means the specified web's WebPreferences is examined for the variable.
If the neither the topic nor web parameter is specified, it gets the value of the specified variable in the current context -- the variable can either be a preferences variable or a session variable but cannot be a tag with a tag handler (e.g. %GMTIME%). %VAR{"NAME"}% is similar to %NAME%, but they differ if NAME is undefined, in which case %VAR{"NAME"}% is expanded to null (zero width string) while %NAME% remains as is (%NAME%). %VAR{"NAME"}% yields the same value as %IF{"defined NAME" then="$percntNAME$percnt"}% if NAME is a variable, but the latter is cubmersome.
The name of the variable to be retrieved. If not specified, %VAR{...}% is expanded to null.
required
topic="Web.Topic"
Specifies the topic in which the specified preferences vaiable is fetched.
none
topic="Topic"
Same as above, but the web is specified specified explicitly with the web parameter or the current web is specified.
none
web="Web"
Specifies the web in which the specified preferences variable is fetched.
none
default="Value"
Specifies the value to be returned if the specified variable is undefined.
"" (null string)
ignorenull="on"
If specified, a null string ("") value is regarded as undefined. This affects whether or not the value specified by the default parameter is returned.
"off"
Example 1: To get the members of TWikiAdminGroup, %VAR{"GROUP" topic="%USERSWEB%.TWikiAdminGroup"}%, which expands to CstcAdmin, admin, RodrigoReeves.
Example 2: To get %WEBBGCOLOR% of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%, which expands to #FFEFA6
Example 3: Let's say you are writing the "foo" skin. And you want to have the users specify a string inserted in the head tag with FOOSKIN_HTML_HEAD_HOOK. That can be achived by the following: %VAR{"FOOSKIN_HTML_HEAD_HOOK" default="<nop>" ignorenull="on"}%
%WEB% expands to the name of the web where the topic is located. If you are looking at the text of an included topic, it is the web where the included topic is located.
Format, may include tokens $web (the full web path), $parents (parent webs, if any), $current (current web without parent webs), $top (top-level web with any subwebs removed)
"$web"
Example, assuming %WEB% is Engineering/TechPubs/Apps: %WEB{format="Parent webs: $parents, current web: $current, top-level web: $top"}% returns: Parent webs: Engineering/TechPubs, current web: Apps, top-level web: Engineering
List of all webs. Obfusticated 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.
Format of one line, may include following items. In addtion, the standard special tokens are handled accordingly.
Item
Description
$name
the name of the web
$qname
the name of the web in double quotes
$indentedname
the name of the web with parent web names replaced by indents, for use in indented lists
$listindent
expands to multiple-of-3 spaces for bullet (*) and numberd (1., a., etc.) lists. It's relative to the depth of the web specified by the subwebs parameter. See an example below.
$marker
expands to marker for the item matching selection only
$web
expands to the value specified by the web parameter
If you need to have a letter immediately after an item listed above, use $nop(), one of FormatTokens. e.g. $name$nop()a
"$name"
format="format"
(Alternative to above)
"$name"
separator=", "
Line separator
"$n" (new line)
web=""
if you specify $web in format, it will be replaced with this
""
webs="public"
Comma separated list of webs. There are special webs:
Item
Description
public
expands to all non-hidden webs.
cancopyto
similar to public, but webs to which a topic of the current web cannot be copied to are excluded. Specifically, excluded are read-only webs and mirror webs.
canmoveto
similar to cancopyto, but webs to which a topic of the current web cannot be moved to are excluded. Specifically, excluded are webs residing on different disks from the current web.
webtemplate
expands to all template webs, whose name start with underscore (_)
NOTE 1: Administrators will see all webs, not just the public ones. NOTE 2: If MetadataRepository is used and webs are required to be registered, then cancopyto, canmoveto, and webtemplate behave differently.
cancopyto and canmoveto results include all top level webs and subwebs of the current webs are listed regardless of accessibility - subwebs of non-current webs are excluded. They also include the user's subweb.
webtemplate result has top level template webs only.
"public"
marker="selected"
Text for $marker if the item matches selection
"selected"
selection="%WEB%"
Current value to be selected in list
selection="%WEB%"
subwebs="Sandbox"
Show webs that are a sub-web of this one (recursivly)
""
depth="1"
Specify the maximum depth of recursive search. E.g. %WEBLIST{depth="1"}% shows only top level webs. %WEBLIST{subwebs="Foo" depth="1"}% shows the direct subwebs of Foo.
(no maximum depth)
limit="30"
Limit number of webs to show
"" (all)
overlimit="..."
Message shown if over limit, such as: overlimit=" * [[%SYSTEMWEB%.SiteMap][More...]]"
""
Example: %WEBLIST{"$listindent * [[$name.WebHome]]"}% - creates a indented bullet list of all webs.
Example: <form><select name="web"> %WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash, public" selection="%WEB%" separator=" "}% </select></form> - creates a dropdown of all public webs + Trash web, with the current web highlighted.
Expands to: white text (shown with a gray background here)
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
The WikiName is the same as %USERNAME% if not defined in the TWikiUsers topic
Syntax: %WIKINAME%
Expands to: TWikiGuest
Note: When used in a template topic, this variable will be expanded when the template is used to create new topic. See TWikiTemplates#TemplateTopicsVars for details.
WIKIUSERNAME -- your Wiki username with web prefix
Your %WIKINAME% with Main web prefix, useful to point to your user profile page
Syntax: %WIKIUSERNAME%
Expands to: Main.TWikiGuest, renders as TWikiGuest
Note: When used in a template topic, this variable will be expanded when the template is used to create a new topic. See TWikiTemplates#TemplateTopicsVars for details
Note: %<color>% text must end with %ENDCOLOR%. If you want to switch from one color to another one you first need to end the active color with %ENDCOLOR%, e.g. write %RED% some text %ENDCOLOR% %GREEN% more text %ENDCOLOR%.
Special text strings expand on the fly to display user data or system info
Changed:
< <
TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is rendered for viewing. VARIABLES are replaced by data, either user-entered or automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you can configure. You can also define custom variables, with new names and values.
> >
TWikiVariables are text strings - %VARIABLE% or %VARIABLE{ parameter="value" }% - that expand into content whenever a topic is rendered for viewing. There are two types of variables:
Preferences variables: Can be defined and changed by the user
Predefined variables: Defined by the TWiki system or by Plugins (for example, the SpreadSheetPlugin introduces a %CALC{}% variable)
Using Variables
To use a variable type its name. For example,
type %T% to get (a preferences variable)
type %TOPIC% to get TWikiVariables (a predefined variable)
type %CALC{ "$UPPER(Text)" }% to get TEXT (a variable defined by Plugin)
Note:
To leave a variable unexpanded, precede it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%
Variables are expanded relative to the topic they are used in, not the topic they are defined in
Type %ALLVARIABLES% to get a full listing of all variables defined for a particular topic
Deleted:
< <
Notes:
To leave a variable unexpanded, precede it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%.
Variables are expanded relative to the topic they are used in, not the topic they are defined in.
Changed:
< <
Predefined Variables
> >
Preferences Variables
Changed:
< <
Most predefined variables return values that were either set in the lib/twiki.cfg file, when TWiki was installed, or taken from server info (like current username, or date and time). Many of the variables let you format the appearance of the display results.
> >
Unlike predefined variables, preferences variables can be defined by the user in various places.
Changed:
< <
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
> >
Setting Preferences Variables
You can set variables in all the following places:
Settings at higher-numbered levels override settings of the same variable at lower numbered levels, unless the variable was included in the setting of FINALPREFERENCES at a lower-numbered level, in which case it is locked at the value it has at that level.
The syntax for setting Variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [space] value
Examples:
Set VARIABLENAME = value
Set VARIABLENAME = value
Spaces between the = sign and the value will be ignored. You can split a value over several lines by indenting following lines with spaces - as long as you don't try to use * as the first character on the following line.
Example:
* Set VARIABLENAME = value starts here
and continues here
Changed:
< <
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - expands the following variables (enclosed in % percent signs):
> >
Whatever you include in your Variable will be expanded on display, exactly as if it had been entered directly.
To place a logo anywhere in a web by typing %MYLOGO%, define the Variable on the web's WebPreferences topic, and upload a logo file, ex: mylogo.gif. You can upload by attaching the file to WebPreferences, or, to avoid clutter, to any other topic in the same web, e.g. LogoTopic. Sample variable setting in WebPreferences:
You can also set preferences variables on a topic by clicking the link Edit topic preference settings under More topic actions. Preferences set in this manner are not visible in the topic text, but take effect nevertheless.
Added:
> >
Access Control Variables
Changed:
< <
Preferences Variables
> >
These are special types of preferences variables to control access to content. TWikiAccessControl explains these security settings in detail.
Changed:
< <
Additional variables are defined in the preferences topics:
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:
%DENYTOPICCHANGE%
(any topic)
List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%DENYTOPICCHANGE%
%DENYTOPICRENAME%
(any topic)
List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%DENYTOPICRENAME%
%DENYWEBCHANGE%
WL
List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%DENYWEBCHANGE%
%DENYWEBRENAME%
WL
List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%DENYWEBRENAME%
%DONTNOTIFYCHECKBOX%
SL , UL
Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
%EDITBOXHEIGHT%
SL , UL
Vertical size of edit box, is 20
20
%EDITBOXWIDTH%
SL , UL
Horizontal size of edit box, is 70
70
%EDITBOXSTYLE%
SL , UL
Style of text edit box. Set to width: 99% for full window width (default; overwrites the EDITBOXWIDTH setting), or width: auto to disable. Value is: width:99%
width:99%
%FINALPREFERENCES%
SL , WL
List of preferences that are not allowed to be overridden by next level preferences
http-equiv meta tags for view, rdiff, attach, search* scripts.
%NEWTOPICBGCOLOR%
SL , UL
Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICBGCOLOR%
%NEWTOPICFONTCOLOR%
SL , UL
Font color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR%
%NOSEARCHALL%
WL
Exclude web from a web="all" search (set variable to on for hidden webs)
%RELEASEEDITLOCKCHECKBOX%
SL , UL
Default state of the "Release edit lock" (UnlockTopic) 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%
Certain topics (a users home topic, web site and default preferences topics) have a problem; variables defined in those topics can have two meanings. For example, consider a user topic. A user may want to use a double-height edit box when they are editing their home topic - but only when editing their home topic. The rest of the time, they want to have a normal edit box. This separation is achieved using Local in place of Set in the variable definition. For example, if the user sets the following in their home topic:
* Set EDITBOXHEIGHT = 10
* Local EDITBOXHEIGHT = 20
Then when they are editing any other topic, they will get a 10 high edit box. However when they are editing their home topic, they will get a 20 high edit box.
Local can be used wherever a preference needs to take a different value depending on where the current operation is being performed.
Use this powerful feature with great care! %ALLVARIABLES% can be used to get a listing of the values of all variables in their evaluation order, so you can see variable scope if you get confused.
Note: There are some more useful variables defined in the TWikiPreferences like %BR% for line break, colors like %RED% for colored text and small icons like %H% for a Help icon.
The syntax for Preferences Variables is the same anywhere in TWiki (on its own TWiki bullet line, including nested bullets): [multiple of 3 spaces] * [space] Set [space] VARIABLENAME [space] = [value] Examples:
Set VARIABLENAME = value
Set VARIABLENAME = value
> >
Most predefined variables return values that were either set in the configuration when TWiki was installed, or taken from server info (such as current username, or date and time). Some, like %SEARCH%, are powerful and general tools.
Plugins may extend the set of predefined variables (see individual Plugins topics for details)
Take the time to thoroughly read through ALL preference variables. If you actively configure your site, review variables periodically. They cover a wide range of functions, and it can be easy to miss the one perfect variable for something you have in mind. For example, see %INCLUDINGTOPIC%, %INCLUDE%, and the mighty %SEARCH%.
Changed:
< <
You can add your own Preference Variables for us across an entire site or a single web, using the standard Preferences syntax. Whatever you include in your Variable will be expanded on display, exactly as if it had been entered directly. You can place formatted text, page links, image paths.
> >
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - predefines the following variables:
Changed:
< <
Example: Create a custom logo variable the TWiki web
To place a logo anywhere in a web by typing %MYLOGO%, define the Variable on the web's WebPreferences page, and upload a logo file, ex: mylogo.gif. You can upload by attaching the file to WebPreferences, or, to avoid clutter, to any other topic in the same web, ex: LogoTopic:
Special text strings expand on the fly to display user data or system info
Changed:
< <
TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is opened. When a topic is rendered for viewing, VARIABLES are replaced by data, either user-entered, or info automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you configure. You can also define custom variables, with new names and values.
> >
TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is rendered for viewing. VARIABLES are replaced by data, either user-entered or automatically generated by TWiki (like the date, or the current username). There are predefined variables, and Preference variables that you can configure. You can also define custom variables, with new names and values.
Changed:
< <
Note: To leave a variable unexpanded, preceed it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%.
> >
Notes:
To leave a variable unexpanded, precede it with an exclamation point, e.g. type !%TOPIC% to get %TOPIC%.
Variables are expanded relative to the topic they are used in, not the topic they are defined in.
Predefined Variables
Line: 18 to 20
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - expands the following variables (enclosed in % percent signs):
Changed:
< <
ATTACHURL -- attachment URL of the current topic
Syntax: %ATTACHURL%
Expands to: https://sites.astro.caltech.edu/twiki_cstc/pub/TWiki/TWikiVariables
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
What sort of search is required? "topicmoved" if search for a topic that may have been moved "parent" if searching for topics that have a specific parent i.e. its children
required
web="%WEB%"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs.
required
topic="%TOPIC%"
The topic the search relates to
required
title="Title"
Text that is prepended to any search results
required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%
Expands to: https://sites.astro.caltech.edu/twiki_cstc/bin
Example: To get the authenticated version of current topic write %SCRIPTURL%/viewauth%SCRIPTSUFFIX%/%WEB%/%TOPIC% which expands to https://sites.astro.caltech.edu/twiki_cstc/bin/viewauth/TWiki/TWikiVariables
Sort the results of search by the topic names, topic creation time, last modified time, last editor, or named field of TWikiForms. The sorting is done web by web; in case you want to sort across webs, create a formatted table and sort it with TablePlugin's initsort
Sort by topic name
limit="all" limit="16"
Limit the number of results returned. This is done after sorting in case order is specified
Custom format results: see FormattedSearch for usage, variables & examples
Results in table
expandvariables="on"
Expand variables before applying a FormattedSearch on a search hit. Useful to show the expanded text, e.g. to show the result of a SpreadSheetPlugin%CALC{}% instead of the formula
Raw text
multiple="on"
Multiple hits per topic. Each hit can be formatted. The last token is used in case of a regular expression ";" and search
Example with format: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"%(displays results in a table with header - details)
If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
STARTINCLUDE -- start position of topic text if included
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 -- end position of topic text if included
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.
Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC
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.
Default value in case parameter is empty or missing
empty string
newline="<br />"
Convert newlines in textarea to other delimiters
no conversion
encode="entity"
Encode special characters into HTML entities, like a double quote into ". This is needed if text is put into an HTML form field
no encoding
encode="url"
Encode special characters for URL parameter use, like a double quote into %22
no encoding
multiple="on" multiple="[[$item]]"
If set, gets all selected elements of a <select multiple="multiple"> tag. A format can be specified, with $item indicating the element, e.g. multiple="Option: $item"
first element
separator=", "
Separator between multiple selections. Only relevant if multiple is specified
"\n" (new line)
Example: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Test this:
TWiki makes names available in three formats: USERNAME like jsmith, WIKINAME like JohnSmith and WIKIUSERNAME like Main.JohnSmith. A user is a TWikiGuest in case the topic is not authenticated
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.
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="%WEB%"
Current value to be selected in list
section="%WEB%"
Example: %WEBLIST{" * [[$name.WebHome]]"}% creates a bullet list of all webs.
Example: %WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
Warning: Can't find topic TWiki.TWikiVariablesAtoM
Warning: Can't find topic TWiki.TWikiVariablesNtoZ
Note: Above text is included from TWikiVariablesAtoM and TWikiVariablesNtoZ
Preferences Variables
Changed:
< <
Additional variables are defined in the preferences ( site-level ( SL ) in TWikiPreferences, web-level ( WL ) in WebPreferences of each web, and user level ( UL ) preferences in individual user topics):
> >
Additional variables are defined in the preferences topics:
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:
Added:
> >
%DENYTOPICCHANGE%
(any topic)
List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
Added:
> >
%DENYTOPICCHANGE%
%DENYTOPICRENAME%
(any topic)
List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
Added:
> >
%DENYTOPICRENAME%
%DENYWEBCHANGE%
WL
List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
Added:
> >
%DENYWEBCHANGE%
%DENYWEBRENAME%
WL
List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
Added:
> >
%DENYWEBRENAME%
%DONTNOTIFYCHECKBOX%
SL , UL
Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
Added:
> >
%EDITBOXHEIGHT%
SL , UL
Vertical size of edit box, is 20
Added:
> >
20
%EDITBOXWIDTH%
SL , UL
Horizontal size of edit box, is 70
Added:
> >
70
%EDITBOXSTYLE%
SL , UL
Style of text edit box. Set to width: 99% for full window width (default; overwrites the EDITBOXWIDTH setting), or width: auto to disable. Value is: width:99%
Added:
> >
width:99%
%FINALPREFERENCES%
SL , WL
List of preferences that are not allowed to be overridden by next level preferences
http-equiv meta tags for view, rdiff, attach, search* scripts.
Added:
> >
%NEWTOPICBGCOLOR%
SL , UL
Background color of non existing topic. ( UL needs authentication for topic views )
Added:
> >
%NEWTOPICBGCOLOR%
%NEWTOPICFONTCOLOR%
SL , UL
Font color of non existing topic. ( UL needs authentication for topic views )
Added:
> >
%NEWTOPICFONTCOLOR%
%NOSEARCHALL%
WL
Exclude web from a web="all" search (set variable to on for hidden webs)
Added:
> >
%RELEASEEDITLOCKCHECKBOX%
SL , UL
Default state of the "Release edit lock" (UnlockTopic) 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%
This version of TWiki - TWiki-6.0.2, Sun, 29 Nov 2015, build 29687 - expands the following variables (enclosed in % percent signs):
Changed:
< <
Variable:
Expanded to:
%WIKIHOMEURL%
The base script URL of TWiki, is the link of the Home icon in the upper left corner, is /twiki_cstc/bin/view/Main/WebHome
%SCRIPTURL%
The script URL of TWiki, is https://sites.astro.caltech.edu/twiki_cstc/bin
%SCRIPTURLPATH%
The path of the script URL of TWiki, is /twiki_cstc/bin
%SCRIPTSUFFIX%
The script suffix, ex: .pl, .cgi is
%PUBURL%
The public URL of TWiki, is https://sites.astro.caltech.edu/twiki_cstc/pub Example: You can refer to a file attached to another topic as %PUBURL%/%WEB%/OtherTopic/image.gif
%PUBURLPATH%
The path of the public URL of TWiki, is /twiki_cstc/pub
%ATTACHURL%
The attachment URL of the current topic, is https://sites.astro.caltech.edu/twiki_cstc/pub/TWiki/TWikiVariables 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 /twiki_cstc/pub/TWiki/TWikiVariables
%ICON{"type"}%
Small 16x16 pixel icon of common attachment types, like bmp, doc, gif, hlp, html, mp3, pdf, ppt, txt, xls, xml, zip, etc. Specify file type only, file name, or full path name. Example: %ICON{"pdf"}% returns
%URLPARAM{"name"}%
Returns the value of a URL parameter. Note that there is a risk that this variable could be misused for cross-scripting. Supported parameters:
Default value in case parameter is empty or missing
empty string
newline="<br />"
Convert newlines in textarea to other delimiters
no conversion
encode="entity"
Encode special characters into HTML entities, like a double quote into ". This is needed if text is put into an HTML form field
no encoding
encode="url"
Encode special characters for URL parameter use, like a double quote into %22
no encoding
multiple="on" multiple="[[$item]]"
If set, gets all selected elements of a <select multiple="multiple"> tag. A format can be specified, with $item indicating the element, e.g. multiple="Option: $item"
first element
separator=", "
Separator between multiple selections. Only relevant if multiple is specified
"\n" (new line)
Example: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Is
%ENCODE{"string"}%
Encodes a string. Supported parameters:
> >
ATTACHURL -- attachment URL of the current topic
Syntax: %ATTACHURL%
Expands to: https://sites.astro.caltech.edu/twiki_cstc/pub/TWiki/TWikiVariables
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
The index topic of all registered users - TWikiUsers
%WIKIPREFSTOPIC%
The site-wide preferences topic - TWikiPreferences
%WEBPREFSTOPIC%
The local web preferences topic in each web - WebPreferences
%STATISTICSTOPIC%
The web statistics topic WebStatistics
%TOPIC%
The current topic name - TWikiVariables
%BASETOPIC%
The name of the topic where a single or nested INCLUDE started - same as %TOPIC% if 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 TWiki%20*Variables
%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:
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, ex: 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:
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="%WEB%"
Current value to be selected in list
section="%WEB%"
Examples: %WEBLIST{" * [[$name.WebHome]]"}% creates a bullet list of all webs.
%WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
%GMTIME%
GM time, is 2023-09-25 - 22:45
%GMTIME{"format"}%
Formatted GM time based on time variables.
> >
Example: %ENCODE{"spaced name"}% expands to spaced%20name
Variables can be shortened to 3 characters. Example: %GMTIME{"$day $month, $year - $hour:$min:$sec"}% is 25 Sep, 2023 - 22:45:46
%SERVERTIME%
Server time, is 2023-09-25 - 22:45
%SERVERTIME{"format"}%
Formatted server time. Same format qualifiers as %GMTIME% Example: %SERVERTIME{"$hou:$min"}% is 22:45
%DISPLAYTIME%
Display time, is 2023-09-25 - 22:45
%DISPLAYTIME{"format"}%
Formatted time - either GMT or Local server time, depending on setting in TWiki.cfg. Same format qualifiers as %GMTIME% Example: %DISPLAYTIME{"$hou:$min"}% is 22:45
%HTTP_HOST%
HTTP_HOST environment variable, is sites.astro.caltech.edu
%REMOTE_ADDR%
REMOTE_ADDR environment variable, is 34.204.172.188
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 Contents of current topic.
%TOC{"SomeTopic" ...}%
Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC. Supported parameters:
Inline search, shows a search result embedded in a topic. Parameters are the search term, web, scope, order and many more: [1]
> >
type="topicmoved"
What sort of search is required? "topicmoved" if search for a topic that may have been moved "parent" if searching for topics that have a specific parent i.e. its children
required
web="%WEB%"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs.
required
topic="%TOPIC%"
The topic the search relates to
required
title="Title"
Text that is prepended to any search results
required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%
Expands to: https://sites.astro.caltech.edu/twiki_cstc/bin
Example: To get the authenticated version of current topic write %SCRIPTURL%/viewauth%SCRIPTSUFFIX%/%WEB%/%TOPIC% which expands to https://sites.astro.caltech.edu/twiki_cstc/bin/viewauth/TWiki/TWikiVariables
Sort the results of search by the topic names, topic creation time, last modified time, last editor, or named field of TWikiForms. The sorting is done web by web; in case you want to sort across webs, create a formatted table and sort it with TablePlugin's initsort
Sort by topic name
limit="all" limit="16"
Limit the number of results returned. This is done after sorting in case order is specified
All results
Line: 255 to 244
expandvariables="on"
Expand variables before applying a FormattedSearch on a search hit. Useful to show the expanded text, e.g. to show the result of a SpreadSheetPlugin%CALC{}% instead of the formula
Raw text
multiple="on"
Multiple hits per topic. Each hit can be formatted. The last token is used in case of a regular expression ";" and search
Only one hit per topic
separator=", "
Line separator between hits
Newline "$n"
Changed:
< <
Example: %SEARCH{"wiki" web="Main" scope="topic"}%
Formatted example: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"%(displays results in a table with header - details) If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
Example with format: %SEARCH{"FAQ" scope="topic" nosearch="on" nototal="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |"%(displays results in a table with header - details)
If the TWiki:Plugins.TablePlugin is installed, you may set a %TABLE{}% variable just before the %SEARCH{}% to alter the output of a search. Example: %TABLE{ tablewidth="90%" }%
STARTINCLUDE -- start position of topic text if included
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 -- end position of topic text if included
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.
Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax ("---++ text") and HTML ("<h2>text</h2>") are taken into account. Any heading text after "!!" is excluded from the TOC; for example, write "---+!! text" if you do not want to list a header in the TOC
What sort of search is required? "topicmoved" if search for a topic that may have been moved "parent" if searching for topics that have a specific parent i.e. its children
required
web="%WEB%"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs.
required
topic="%TOPIC%"
The topic the search relates to
required
title="Title"
Text that is prepended to any search results
required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%, you may want to use this in WebTopicViewTemplate and WebTopicNonWikiTemplate %METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Children: "}%
%VAR{"NAME" web="Web"}%
Get a preference value from a web other then the current one. Example: To get %WEBBGCOLOR% of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%, is #FFEFA6
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.
Default value in case parameter is empty or missing
empty string
newline="<br />"
Convert newlines in textarea to other delimiters
no conversion
encode="entity"
Encode special characters into HTML entities, like a double quote into ". This is needed if text is put into an HTML form field
no encoding
encode="url"
Encode special characters for URL parameter use, like a double quote into %22
no encoding
multiple="on" multiple="[[$item]]"
If set, gets all selected elements of a <select multiple="multiple"> tag. A format can be specified, with $item indicating the element, e.g. multiple="Option: $item"
first element
separator=", "
Separator between multiple selections. Only relevant if multiple is specified
"\n" (new line)
Example: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Test this:
[1] Note: The search form uses identical names for input fields.
> >
USERNAME -- your login username
TWiki makes names available in three formats: USERNAME like jsmith, WIKINAME like JohnSmith and WIKIUSERNAME like Main.JohnSmith. A user is a TWikiGuest in case the topic is not authenticated
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.
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="%WEB%"
Current value to be selected in list
section="%WEB%"
Example: %WEBLIST{" * [[$name.WebHome]]"}% creates a bullet list of all webs.
Example: %WEBLIST{"<option $marker value=$qname>$name</option>" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
[2] Note: A web can be excluded from a web="all" search if you define a NOSEARCHALL=on variable in its WebPreferences.
Preferences Variables
Line: 292 to 448
Variable:
Level:
What:
Changed:
< <
%WIKIWEBMASTER%
SL
Webmaster email address (sender of email notifications) , is webmaster@astro.caltech.edu
%WIKIWEBLIST%
SL
List of TWiki webs (in upper right corner of topics)
%WEBTOPICLIST%
> >
%ALLOWTOPICCHANGE%
(any topic)
List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl)
%ALLOWTOPICRENAME%
(any topic)
List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl)
%ALLOWWEBCHANGE%
WL
Changed:
< <
Common links of web (second line of topics)
%WEBCOPYRIGHT%
SL , WL
Copyright notice (bottom right corner of topics)
%WEBBGCOLOR%
> >
List of users and groups who are allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBRENAME%
WL
Changed:
< <
Background color of web
%NOSEARCHALL%
> >
List of users and groups who are allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%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:
%DENYTOPICCHANGE%
(any topic)
List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%DENYTOPICRENAME%
(any topic)
List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%DENYWEBCHANGE%
WL
Changed:
< <
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%
> >
List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%DENYWEBRENAME%
WL
List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%DONTNOTIFYCHECKBOX%
SL , UL
Changed:
< <
Horizontal size of edit box, is 70
> >
Default state of the "Minor Changes, Don't Notify" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
%EDITBOXHEIGHT%
SL , UL
Vertical size of edit box, is 20
Changed:
< <
> >
%EDITBOXWIDTH%
SL , UL
Horizontal size of edit box, is 70
%EDITBOXSTYLE%
SL , UL
Style of text edit box. Set to width: 99% for full window width (default; overwrites the EDITBOXWIDTH setting), or width: auto to disable. Value is: width:99%
Changed:
< <
%RELEASEEDITLOCKCHECKBOX%
SL , UL
Default state of the "Release edit lock" (UnlockTopic) 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" (DontNotify) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
%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:
%HTTP_EQUIV_ON_VIEW%
SL
http-equiv meta tags for view, rdiff, attach, search* scripts.
> >
%FINALPREFERENCES%
SL , WL
List of preferences that are not allowed to be overridden by next level preferences
%HTTP_EQUIV_ON_EDIT%
SL , UL
http-equiv meta tags for edit script.
Changed:
< <
> >
%HTTP_EQUIV_ON_PREVIEW%
SL , UL
http-equiv meta tags for preview script.
Changed:
< <
%DENYWEBCHANGE%
WL
List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBCHANGE%
WL
List of users and groups who are allowed to change topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICCHANGE%
(any topic)
List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl)
%ALLOWTOPICCHANGE%
(any topic)
List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl)
%DENYWEBRENAME%
> >
%HTTP_EQUIV_ON_VIEW%
SL
http-equiv meta tags for view, rdiff, attach, search* scripts.
%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 )
%NOSEARCHALL%
WL
Changed:
< <
List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%ALLOWWEBRENAME%
> >
Exclude web from a web="all" search (set variable to on for hidden webs)
%RELEASEEDITLOCKCHECKBOX%
SL , UL
Default state of the "Release edit lock" (UnlockTopic) 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%
%WEBBGCOLOR%
WL
Changed:
< <
List of users and groups who are allowed to rename topics in the TWiki web. (More in TWikiAccessControl)
%DENYTOPICRENAME%
(any topic)
List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl)
%ALLOWTOPICRENAME%
(any topic)
List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl)
%FINALPREFERENCES%
> >
Background color of web
%WEBCOPYRIGHT%
SL , WL
Changed:
< <
List of preferences that are not allowed to be overridden by next level preferences
> >
Copyright notice (bottom right corner of topics)
%WEBTOPICLIST%
WL
Common links of web (second line of topics)
%WIKIWEBLIST%
SL
List of TWiki webs (in upper right corner of topics)
%WIKIWEBMASTER%
SL
Webmaster email address (sender of email notifications) , is webmaster@astro.caltech.edu
Note: There are some more useful variables defined in the TWikiPreferences like %BR% for line break, colors like %RED% for colored text and small icons like %H% for a Help icon.