r3 - 12 Jan 2003 - 00:29 - PeterThoeny | r2 - 11 Nov 2000 - 06:33 - PeterThoeny | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
See Macros |
Macros |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Special text strings expand on the fly to display user data or system info |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macros are text strings in one of two forms: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%MACRONAME% %MACRONAME{ parameter="value" }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These usually expand into content when a topic is rendered for viewing. There are two types of macros: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Using Macros |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To use a macro type its name. For example, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Order of expansion |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following describes only these types of macros: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Standard form |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The key to understanding nested expressions in Foswiki is to understand that macros are expanded "inside-out, left-to-right". Example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%MACRO1{ something="%MACRO2{ somethingelse="%MACRO3%, %MACRO4%" }%" }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The macros are expanded in this order: MACRO3, MACRO4, MACRO2, MACRO1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Animated Example |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%INCLUDE{ "%QUERY{ "'%THETOPIC%'/%THEFIELD%" }%" section="Summary" }% * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification %INCLUDE{ "%QUERY{ "'%SYSTEMWEB%.FAQWhatIsWikiWiki'/%THEFIELD%" }%" section="Summary" }% * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification %INCLUDE{ "%QUERY{ "'%SYSTEMWEB%.FAQWhatIsWikiWiki'/TopicClassification" }%" section="Summary" }% * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification %INCLUDE{ "%QUERY{ "'System.FAQWhatIsWikiWiki'/TopicClassification" }%" section="Summary" }% * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification %INCLUDE{ "FrequentlyAskedQuestion" section="Summary" }% * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification These topics are for frequently asked questions including answers. * Set THETOPIC = %SYSTEMWEB%.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification These topics are for frequently asked questions including answers. * Set THETOPIC = System.FAQWhatIsWikiWiki * Set THEFIELD = System.TopicClassification |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Delayed form |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Standard form macros can nearly always be used to build the parameter string of another macro; however, sometimes it is desirable to bypass the inside-out expansion order and delay the inner macro until after the outer macro has finished expansion. This is accomplished by using the $percent format token instead of |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%MACRO1{ format="$percentMACRO2{ format=\"%MACRO3%, %MACRO4%\" }$percent" }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The macros are expanded in this order: MACRO3, MACRO4, MACRO1, MACRO2. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Animated Example |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
From the conditional output example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%SEARCH{ "info.date >= d2n('2009-01-01') AND info.date <= d2n('2009-12-31')" type="query" limit="2" nonoise="on" format=" * $percentICON{ \"$percentIF{ \"'$topic'/parent.name='%PARENT%'\" then=\"info\" else=\"gear\" }$percent\" }$percent [[$topic]]" }% ---- * Set PARENT = UserDocumentationCategory %SEARCH{ "info.date >= d2n('2009-01-01') AND info.date <= d2n('2009-12-31')" type="query" limit="2" nonoise="on" format=" * $percentICON{ \"$percentIF{ \"'$topic'/parent.name='UserDocumentationCategory'\" then=\"info\" else=\"gear\" }$percent\" }$percent [[System.$topic][$topic]]" }% ---- * Set PARENT = System.UserDocumentationCategory * %ICON{ "%IF{ "'ProjectContributor'/parent.name='UserDocumentationCategory'" then="info" else="gear" }%" }% [[System.ProjectContributor][ProjectContributor]] * %ICON{ "%IF{ "'UnknownUser'/parent.name='UserDocumentationCategory'" then="info" else="gear" }%" }% [[System.UnknownUser][UnknownUser]] ---- * Set PARENT = System.UserDocumentationCategory * %ICON{ "gear" }% [[System.ProjectContributor][ProjectContributor]] * %ICON{ "gear" }% [[System.UnknownUser][UnknownUser]] ---- * Set PARENT = System.UserDocumentationCategory * |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See also: FormattedSearch |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macro Names |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macro names must start with a letter. The following characters can be letters, numbers and the underscore '_'. Letters may be upper or lower-case, E.g. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
By convention all settings, predefined macros and macros registered by plugins are always UPPER-CASE. %META:TOPICPARENT{name="AdminToolsCategory"}% #SettingPrefs |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Preference Settings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A preference setting lets you define a simple macro that will be expanded in your output. A preference setting looks like this: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set WEBBGCOLOR = #FFFFC0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macros defined using preference settings are expanded by enclosing their name in percent signs. So when you write |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A preference macro is always taken from the most current topic revision, even when accessing previous revisions of a topic. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Preferences can be defined in a number of places: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In this list, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Writing preference settings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Preference settings are written as a simple bullet. In TML, they are written as |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set MYSETTING = My setting value |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
When using the Wysiwyg editor, click the "Bullet" button and write the setting as a simple bullet. Don't include the asterisk. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 MACRONAME = value starts here and continues here |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Whatever you include in your macro will be expanded on display, exactly as if it had been entered directly (though see Parameters, below). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: Create a custom logo macro |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set MYLOGO = %PUBURL%/%WEB%/LogoTopic/mylogo.gif |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Preference settings are case sensitive. (Foswiki by convention always writes settings in upper case.) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set lower = This is LOWER * Set LOWER = This is UPPER * Set System.LoWeR = This is MIXED Expand %lower%, %LOWER% and %LoWeR% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expand %lower%, %LOWER% and %LoWeR%. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* #Set DENYWEBCHANGE = %USERSWEB%.UnknownUser |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hiding preference settings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
You can also set preference settings in a topic by clicking the link |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Order of perference settings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If you are setting a preference and using it in the same topic, note that Foswiki reads all the preference settings from the saved version of the topic before it displays anything. This means you can use a setting anywhere in the topic, even if you set it at the very end. But beware: it also means that if you change the setting of a macro you are using in the same topic, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Preference settings and topic revision history |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foswiki always reads the settings from the most current topic revision, so viewing older revisions of a topic can show unexpected results. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
And especially important, preference settings are never overridden or set in "%INCLUDE{" topics. in the below example about weather conditions, note the difference in the CONDITIONS expansion |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameters |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Note that %CONDITIONS% expands differently when this example is viewed in Macros. This is because Set statement are not active in included topics. The including topic's set statements are used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Macros defined using preference settings can take parameters. These are symbols passed in the call to the macro to define local macros that will be expanded in the output. For example, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set CONDITIONS = According to [[System.%BASETOPIC%][%BASETOPIC%]] the %WHAT% is %STATE% today (Set in ...). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
You can call this macro passing in values for |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameter defaults |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set WEATHER = It's %DEFAULT{default="raining"}%. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The standard formatting tokens can be used in parameters. They will be expanded immediately when the macro is instantiated. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Access Control Settings |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These are special types of preference settings to control access to content. AccessControl explains these security settings in detail. Parameters are not available in access control settings. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Local values for preferences |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Certain topics (user, plugin, web, site and default preferences topics) have a problem; macros 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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* 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. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Use this powerful feature with great care! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deprecation warning. The setting used in this example, EDITBOXHEIGHT, is being deprecated and will be remove from Foswiki 1.2. Note that if the edit box size is changed using the javascript controls in the lower right corner of the edit box window, those settings will be used, and the EDITBOX* settings will be ignored. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Predefined Macros |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Most predefined macros return values that were either set in the configuration when Foswiki was installed, or taken from server info (such as current username, or date and time). Some, like |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Your installation of Foswiki v1.1.9 has the following registered macros: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ACTIVATEDPLUGINS -- list of currently activated plugins |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDTOHEAD |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This macro is deprecated. Please use VarADDTOZONE instead. It effecively is a shortcut for |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDTOZONE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%ADDTOZONE{ "zone" ... }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameters: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
What is a "Zone"? |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Zones are specific places in the output HTML that are marked by calls to the RENDERZONE macro. Zones are used to collect various content together, such as Javascript and CSS, that must be included in the output HTML in a specific order, and in a specific place. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There are two special zones called |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
All Javascript must always be added to the |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Both zones are added to the HTML head section automatically just before the closing tag as if they were specified explicitly in the skin templates using: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
... %RENDERZONE{"head"}% %RENDERZONE{"script"}% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
You may create as many zones in addition to the standard |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Interesting use cases in wiki applications: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Adding content to a zone |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ADDTOZONE adds content to a zone identified with the |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enforcing a linear order of content within a zone |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
An ADDTOZONE call may ensure that its content appears after the content of some other ADDTOZONE calls by specifying their |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Working with |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In this mode, the |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Even when |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Working with |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In this mode, the |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: Adding to a zone with missing dependencies |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
You must ensure that no |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In real world application this isn't a problem as Javascript is never added to the |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTML comment decoration which normally appears after each id's content in the rendered HTML will contain a small informative text to aid debugging. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%ADDTOZONE{ "script" text=" " requires="some-id-that-exists-in-script" id="MY::TEST" }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Result |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: Adding Javascript to a page |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Make sure that all inline Javascript code in the topic (if it is allowed) is added to the page using |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%JQREQUIRE{"shake"}% %ADDTOZONE{ "script" id="MyApp::ShakePart" text=" " requires="JQUERYPLUGIN::SHAKE" }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
where "MyApp::ShakePart" is a unique |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: Adding CSS to a page |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%ADDTOZONE{"head" id="MyCSS" text=" " }% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
See also RENDERZONE, Using ADDTOZONE, Updating applications to use |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ALLVARIABLES -- list of currently defined macros |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deprecated 2009-04-29 in favour of SHOWPREFERENCE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AQUA -- start aqua colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATTACHURL -- full URL for attachments in the current topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ATTACHURLPATH -- path of the attachment URL of the current topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AUTHREALM -- authentication realm |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BASETOPIC -- base topic where an INCLUDE started |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BASEWEB -- base web where an INCLUDE started |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BB -- bullet with line break |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BB2 -- level 2 bullet with line break |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BB3 -- level 3 bullet with line break |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BB4 -- level 4 bullet with line break |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BLACK -- start black colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BLUE -- start blue colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BR -- line break |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BROWN -- start brown colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BULLET -- bullet character |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BUTTON{"text" ...} -- renders a nice button |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CALC{"formula"} -- add spreadsheet calculations to tables and outside tables |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CARET -- caret symbol |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CODE{…} -- format and highlight syntax for displaying code fragments |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COMMENT{ attributes } -- insert an edit box into the topic to easily add comments. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
COVER -- current skin cover |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DATE -- signature format date |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DISPLAYTIME{"format"} -- formatted display time |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EDITACTION -- Selects an edit template |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EDITTABLE{ attributes } -- edit tables using edit fields and other input fields |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Example: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%EDITTABLE{ format="| text, 20 | select, 1, one, two, three |" changerows="on" }% | *Name* | *Type* | | Foo | two | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Produces: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: See EditTablePlugin for more details |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENCODE{"string"} -- encodes a string |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDCODE -- end a code fragment |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDCOLOR -- end colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDSECTION{"name"} -- marks the end of a named section within a topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDTAB -- ending marker for a tab of a tabpane |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDTABPANE -- ending tag for tabpane widget |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDTWISTY |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Twisty closure, complements the opening TWISTY tag. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENDTWISTYTOGGLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Twisty closure |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ENV{"varname"} -- inspect the value of an environment variable |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXAMPLETAG -- example variable |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EXPAND{"expression" scope="topictoexpandin" ...}% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expands macros in |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* Set MYPREFERENCE = value |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
in "SettingsTopic" and then, in "MyTopic", write: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%EXPAND{"$percentMYPREFERENCE$percent" scope="SettingsTopic"}% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Of course we can also write: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%EXPAND{"$percentMYPREFERENCE$percent" scope="%OTHERTOPIC%"}% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
which lets us select which other topic to get the preference value from. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Additional parameters can be passed to the macro being expanded using the standard macro syntax in the name of the macro; for example, |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
%EXPAND{"$percentMYPREFERENCE{$quotdefault$quot param=$quotvalue$quot}" scope="SettingsTopic"}% |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Notes: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FAILEDPLUGINS -- debugging for plugins that failed to load, and handler list |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FORMAT{"list" format="" header="" footer="" separator=""} -- format a list of objects |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported formatting tokens |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The FORMAT macro is currently only of use in formatting lists of topics, or of simple strings. It will be extended in future releases to add the capability to render other object types. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FORMFIELD{"fieldname"} -- renders a field in the form attached to some topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GENPDF -- Insert a link that generated a PDF for the current or identified topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GMTIME{"format"} -- formatted GM time |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GRAY -- start gray colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GREEN -- start green colored text |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related: ENDCOLOR, DefaultPreferences, StandardColors |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GROUPINFO{"name"} -- retrieve details about a group |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GROUPS -- a formatted list of groups |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deprecated - do not use. Use VarGROUPINFO instead |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
H -- help icon |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HISTORY{ attributes } -- control attributes of tables and sorting of table columns |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deprecated (but supported) parameters: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Additional macros |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following macros are replaced only if there is a corresponding |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HOLIDAYLIST -- add a vacation list to a topic |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HOMETOPIC -- home topic in each web |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTP -- get HTTP headers |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTP_HOST -- environment variable |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HTTPS -- get HTTPS headers |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I -- idea icon |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ICON{"name" alt="" default="name"} -- small documentation graphic or icon of common attachment types |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ICONURL{"name" default="name"} -- URL of small documentation graphic or icon |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ICONURLPATH{"name" default="name"} -- URL path of small documentation graphic or icon |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IF{"condition" ...} -- simple conditionals |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INCLUDE{"topic"} -- include other topic. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
INCLUDE{"url"} -- include a web page |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
tag and everything around over and below it
disablecompresstags="on"
<
entities unless bypassed disablerewriteurls="on"
warn="off"
off
); output default warning (if set to on
); else, output specific text (use $topic
for topic name) appended with the http error information. %INCLUDEWARNING%
preferences setting JavaScript in included webpages is filtered out as a security precaution per default (disable filter with
disableremovescript
parameter)Foswiki by default is configured to deny URL format includes.
%INCLUDE{"doc:Foswiki::Func" ...}%
Parameter: | Description: | Default: |
---|---|---|
"doc:..." | A full qualified Foswiki module, i.e. %INCLUDE{"doc:Foswiki::Func"}% . The module must be found on the Foswiki lib path | |
level="1" | Override the root heading level to the specified number | |
pattern="..." | Include a subset of the module. Specify a RegularExpression that contains the text you want to keep in parenthesis, e.g. pattern="(from here.*?to here)" . IncludeTopicsAndWebPages has more. | none |
%TOPIC%
in case there is no include INCLUDEs
, INCLUDINGTOPIC
is set to the topic directly INCLUDing this one, NOT the topic that has been requested by the user (which is set in BASETOPIC
) While this Macro may appear to work, unless you require the subtle difference between
INCLUDINGTOPIC
andBASETOPIC
, you probably should useBASETOPIC
%INCLUDINGTOPIC%
%WEB%
if there is no INCLUDE
. INCLUDEs
, INCLUDINGWEB
is set to the topic directly INCLUDing this one, NOT the web that has been requested by the user (which is set in BASEWEB
) While this Macro may appear to work, unless you require the subtle difference between
INCLUDINGWEB
andBASEWEB
, you probably should useBASEWEB
%INCLUDINGWEB%
{JQueryPlugin}{IconSearchPath}
and defaults to FamFamFamSilkIcons, FamFamFamSilkCompanion1Icons, FamFamFamFlagIcons, FamFamFamMiniIcons, FamFamFamMintIcons'. The named icon will be picked found first on this path of topics where icons are attached to. The JQICON leverages the general icon loading mechanism as implemented by the JQueryPlugin and used by BUTTON as well. Parameter: | Description: | Default: |
---|---|---|
"name" | name of the icon to display | |
class | additional css class for the img tag | |
alt | alt attribute | |
title | title attribute | |
format | format string used to render the icon; known variables to be used in the format string are:
|
|
%JQICON{"tick" alt="alternative content" title="this is a tick icon"}% %JQICON{"cross"}% %JQICON{"disk"}% %JQICON{"star"}% %JQICON{"lightbulb"}% %JQICON{"camera"}% %JQICON{"date"}%Produces:
%JQICON{"name" format="$iconPath"}%
/foswiki/pub/System/FamFamFamSilkIcons/tick.png
Parameter: | Description: | Default: |
---|---|---|
"plugins" | this is a regular expression that the plugin identifier must match to be displayed | |
format | format string to render information for each matching plugin; known variables to be used in the format string are:
| 1 $name $active $version $author |
header | header string prepended to the output; empty when no plugin matches | |
footer | footer string appended to the output; empty when no plugin matches | |
separator | separator put between each plugin rendered in a row | $n |
tagformat | format string to render a link to any tag documentation a plugin implements | [[%SYSTEMWEB%.Var$tag][$tag]] |
%JQPLUGINS{ "treeview|slimbox" header=" * JQuery Plugins:$n" format=" * [[System.$documentation][$name]] v$version was developed by [[System.$homepage][$author]]" }%Produces:
Parameter: | Description: | Default: |
---|---|---|
"plugin[, plugin, plugin]" | list of plugins to be loaded | |
warn | (on/off) allows you to switch off warnings when a plugin was not found | on |
$Foswiki::cfg{JQueryPlugin}{JQueryTheme}
and defaults to base
. Use configure to change this site wide. Use JQTHEME if you decide to use a different theme on the current page. Parameter: | Description: | Default: |
---|---|---|
"name" | name of theme: JQueryPlugin knows the following themes base , lightness , redmod , smoothness ; additional themes maybe created using the themeroller and installed to /foswiki/pub/System/JQueryPlugin/$name | base |
This macro is used to generate the lang
(and xml:lang
) attribute in generated HTML pages. If {UseLocale}
is enabled, it is calculated from the configure setting of {Site}{Locale}
. Otherwise it defaults to en
(English).
lang
attribute is defined like this: LANG
with LANGUAGE%LANG%
en
LANGUAGE
preference is explicitly set, this will be used as the user language instead of any language detected from the browser. LANGUAGE
in a non- per-user way, otherwise users will not be able to choose their preferred language. LANGUAGE
with LANG%LANGUAGE%
PO
files). These are the languages in which the user interface is available. %LANGUAGES{...}%
Parameter: | Description: | Default: |
---|---|---|
format | format for each item. See below for format tokens available in the format string. | " * $langname" |
separator | separator between items. | "\n" (newline) |
marker="selected" | Text for $marker if the item matches selection | "selected" |
selection="%LANGUAGE%" | Current language to be selected in list | (none) |
format
tokens: Token | Meaning |
---|---|
$langname | language's name, as informed by the translators |
$langtag | language's tag. Ex: en , pt-br , etc. |
creates an option list of the available languages with the current language selected LIME
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%LIME% lime text %ENDCOLOR%Expands to: lime text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%LOCALSITEPREFS%
Main.SitePreferences
, renders as SitePreferences%LOGIN%
You are already logged out, so
%LOGOUT
expands to an empty string
%LOGOUT%
Deprecated. Please use
%USERSWEB%
instead.
Strings captured in the MAKETEXT
macro are automatically mapped to the current user's selected language via locale/*.po
translation files.
%MAKETEXT{"string" args="..."}%
Parameter | Description | Default |
---|---|---|
"text" or string="text" | The text to be displayed (the translatable string). | none |
args="param1, param2" | a comma-separated list of arguments to be interpolated in the string, replacing [_N] placeholders in it. | none |
%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 fairwiki-admin@gsi.de. %MAKETEXT{ "Did you want to [[[_1]][reset [_2]'s password]]?" args="%SYSTEMWEB%.ResetPassword,%WIKIUSERNAME%" }% expands to: Did you want to [[System.ResetPassword][reset Main.WikiGuest's password]]?
[_n]
brackets are validated to a positive integer from 1 to 100. &
) followed by one ascii alphabetic character (a...z, A...Z) in the translatable string will be expanded to an access key string. For example, &X
will expand to X
. If you want to write an actual ampersand, either follow it with a non-alphabetic character or write two consecutive ampersands (&&
). _
) are reserved. You cannot use translatable phrases starting with an underscore. %MACROS%
inside the translatable strings as they will be expanded before the %MAKETEXT{...}%
itself is handled. You can, however, use macros in the args
, as shown in the examples above. .po
translation file for the current user's selected language. %MAKETEXT
macro also supports a limited subset of the quant
style bracket notation: %MAKETEXT{string="Edit [*,_1,file]" args="4"}% expands to: Edit 4 files
quant
, numf
or #
are not supported. MAROON
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%MAROON% maroon text %ENDCOLOR%Expands to: maroon text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
Provided mainly for use in templates, this macro generates the parts of the topic view that relate to meta-data (attachments, forms etc.).
Syntax: %META{ "item" ...}%
Parameters:
"form"
- generates the table showing the form fields. See Form Definition. "attachments"
- generate a table of 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. "moved"
- if a topic was moved or renamed, generates a message with details and a revert link prefix="..."
: Prefix that goes before the moved message, but only if the message is generated, default ""
. suffix="..."
: Prefix that goes after the moved message, but only if the message is generated, default ""
. "parent"
- display details of ancestor topics dontrecurse="on"
: By default recurses up tree, this has some cost. Equivalent to depth=1
depth="..."
: Return only the specified ancestor. nowebhome="on"
: Suppress WebHome. 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]]"
separator="..."
: Separator between parents; default " > "
prefix="..."
: Prefix that goes before parents, but only if there are parents, default ""
. suffix="..."
: Suffix, only appears if there are parents; default ""
. "formfield"
- display the value of a single form field name="..."
: name of the field. newline="..."
: by default, each newline character will be rewritten to
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. display="on"
- only used with "formfield"
, retrieves the displayed value of a *+values
formfield type, as against the default, stored, value. topic="Main.WebPreferences"
- optional parameter to select which topic to get the meta-data from. Use of
"formfield"
is deprecated in favour of the much more powerfulQUERY
macro.
Related: QUERY
![]()
METASEARCH
is deprecated in favour of the new and much more powerful query type search. See SEARCH and QuerySearch.
%METASEARCH{...}%
Parameter: | Description: | Default: |
---|---|---|
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 "field" if searching 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, for topicmoved and parent searches | All topics in a web |
name | form field to search, for field type searches. May be a regular expression (see SEARCH). | |
value | form field value, for field type searches. May be a regular expression (see SEARCH). | |
title="Title" | Text that is prefixed to any search results | empty |
format="..." | Custom format results. Supports same format strings as SEARCH. See FormattedSearch for usage & examples | Results in table |
default="none" | Default text shown if no search hit | Empty |
%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: " }% %METASEARCH{ type="field" name="Country" value="China" }%
%MIMEICON{"filename"}%
Parameter | Description | Default |
---|---|---|
"filename" | filenam or file extension to display an icon for | required |
size="..." | icon size; available sizes are depending on the icon set; common sizes are: 16, 32, 48, 64, 128 | 48; when the size isn't found in the icon set a best fitting size available will be chosen automatically |
theme="oxygen/crystal" | name of the icon set to chose from; for now only these two are supported | oxygen or defined in configure |
format="..." | format string for the img tag returned by this macro; within the format string the variables %NAME% , %URL% and %SIZE% are replaced with the concrete values for the icon being rendered | see mimeicon.theme.tmpl |
Examples:
![]() ![]() ![]() | ![]() ![]() ![]() |
![]() ![]() ![]() | ![]() ![]() ![]() |
![]() ![]() ![]() | ![]() ![]() ![]() |
![]() ![]() ![]() | ![]() ![]() ![]() |
![]() ![]() ![]() | ![]() ![]() ![]() |
NAVY
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%NAVY% navy text %ENDCOLOR%Expands to: navy text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%NOP%
%NOP{...}%
deprecatedThis is deprecated. Do not use it. Use
%STARTSECTION{type="templateonly"}%
..%ENDSECTION{type="templateonly"}%
instead (see TemplateTopics for more details).
%NOTIFYTOPIC%
WebNotify
, renders as WebNotifyOLIVE
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%OLIVE% olive text %ENDCOLOR%Expands to: olive text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
ORANGE
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%ORANGE% orange text %ENDCOLOR%Expands to: orange text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
PINK
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%PINK% pink text %ENDCOLOR%Expands to: pink text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%PLUGINDESCRIPTIONS%
##.,
##..
etc. notation to insert outline numbering sequences (1, 1.1, 2, 2.1) in topic's text. Also support numbered headings. %PLUGINVERSION{"name"}%
to get the version of a specific plugin %PLUGINVERSION{"InterwikiPlugin"}%
expands to v1.1.7
%PLUGINVERSION%
to get the version of the API 2.2
Parameter: | Description: | Default: |
---|---|---|
"topic" , topic="topic" , topic="web.topic" | Topic to open | |
url | URL to open (if topic is not used) | |
label | Link label | the topic or the url |
template | View template to call when viewing a topic; not used for URLs | "viewplain" |
width | Width of window | "600" |
height | Height of window | "480" |
toolbar | Show toolbars? | "0" |
scrollbars | Show scrollbars? | "1" |
status | Show status? | "1" |
location | Show location bar? | "0" |
resizable | Is the window resizable? | "1" |
left | Left position | "0" |
top | Top position | "0" |
center | Center the window? | "0" |
menubar | Show menubar? | "0" |
createnew | Create a new window for each popup? | "1" |
%POPUPWINDOW{"TWikiVariables" label="Open this topic in a new window"}%Generates: Open this topic in a new window
%POPUPWINDOW{url="http://foswiki.org"}%Generates: http://foswiki.org
POPUPWINDOW
by writing %JQREQUIRE{"popupwindow"}%
on the page %PUBURL%
https://fair-wiki.gsi.de/foswiki/pub
%PUBURL%/%WEB%/OtherTopic/image.gif
%PUBURLPATH%
/foswiki/pub
PURPLE
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%PURPLE% purple text %ENDCOLOR%Expands to: purple text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
IF
and SEARCH
statements, FORMFIELD
macro for most applications. %QUERY{ "query" }%
style="stylename"
- set the output format (see below) rev="version"
- operate on the given version of the current topic. Note that this will only affect simple queries that refer to the current topic, such as form.name
. More complex queries that use searches or indirection to refer to other topics always use the latest version of those topics. Get the name of the form in the current topic: %QUERY{"form.name"}% Get the value of the 'Firstname' form field in the current topic: %QUERY{"fields[name='Firstname'].value"}% Get the value of the 'Firstname' form field in the current topic (shorthand version): %QUERY{"Firstname"}% Get a list of all the names of attachments on the topic 'System.DocumentGraphics': %QUERY{"'System.DocumentGraphics'/attachments.name"}% Get configuration setting {NameFilter}: %QUERY{"{NameFilter}"}%
Plain strings (such as field values) are returned without quotes. Simple arrays of scalars are also returned without quotes, in a comma-separated list (beware of values that contain commas!).
More complex data structures (e.g. arrays of hashes) will be returned as Perl code strings generated by running through CPAN:Data::Dumper.
You can make the macro generate different output formats using the style
parameter:
style="perl"
- generates values as Perl code strings style="json"
- generates values as JSON strings, suitable for reading by browsers. Only some configuration settings are available via QUERY: {ScriptSuffix}
, {LoginManager}
, {AuthScripts}
, {LoginNameFilterIn}
, {AdminUserLogin}
, {AdminUserWikiName}
, {SuperAdminGroup}
, {UsersTopicName}
, {AuthRealm}
, {MinPasswordLength}
, {Register}{AllowLoginName}
, {Register}{EnableNewUserRegistration}
, {Register}{NeedVerification}
, {Register}{RegistrationAgentWikiName}
, {AllowInlineScript}
, {DenyDotDotInclude}
, {UploadFilter}
, {NameFilter}
, {AccessibleCFG}
, {AntiSpam}{EmailPadding}
, {AntiSpam}{EntityEncode}
, {AntiSpam}{HideUserDetails}
, {AntiSpam}{RobotsAreWelcome}
, {Stats}{TopViews}
, {Stats}{TopContrib}
, {Stats}{TopicName}
, {UserInterfaceInternationalisation}
, {UseLocale}
, {Site}{Locale}
, {Site}{CharSet}
, {DisplayTimeValues}
, {DefaultDateFormat}
, {Site}{LocaleRegexes}
, {UpperNational}
, {LowerNational}
, {PluralToSingular}
, {EnableHierarchicalWebs}
, {WebMasterEmail}
, {WebMasterName}
, {NotifyTopicName}
, {SystemWebName}
, {TrashWebName}
, {SitePrefsTopicName}
, {LocalSitePreferences}
, {HomeTopicName}
, {WebPrefsTopicName}
, {UsersWebName}
, {TemplatePath}
, {LinkProtocolPattern}
, {NumberOfRevisions}
, {MaxRevisionsInADiff}
, {ReplaceIfEditedAgainWithin}
, {LeaseLength}
, {LeaseLengthLessForceful}
, {Plugins}{WebSearchPath}
, {PluginsOrder}
, {Cache}{Enabled}
, {Validation}{Method}
, {Register}{DisablePasswordConfirmation}
%QUERYPARAMS{...}%
Parameter: | Description: | Default: |
---|---|---|
format="..." | Format string for each entry | $name=$value |
separator="..." | Separator string | separator="$n" (newline) |
encoding="entity" encoding="safe" encoding="html" encoding="quotes" encoding="url" | Control how special characters are encoded. If this parameter is not given, "safe" encoding is performed which HTML entity encodes the characters '"<>% . entity : Encode special characters into HTML entities, like a double quote into " . Does not encode \n or \r . safe : Encode characters '"<>% into HTML entities. (this is the default) html : As type="entity" except it also encodes \n and \r quotes : Escape double quotes with backslashes (\" ), does not change other characters url : Encode special characters for URL parameter use, like a double quote into %22 | type="safe" |
Sequence: | Expands To: |
---|---|
$name | Name of the parameter |
$value | String value of the parameter. Multi-valued parameters will have a "row" for each value. |
$n or $n() | New line. Use $n() if followed by alphanumeric character, e.g. write Foo$n()Bar instead of Foo$nBar
|
$nop or $nop() | Is a "no operation". This token gets removed; useful for nested search |
$quot | Double quote (" ) (\" also works) |
$percent | Percent sign (% ) ($percnt also works) |
$dollar | Dollar sign ($ ) |
$lt | Less than sign (< ) |
$gt | Greater than sign (> ) |
$amp | Ampersand (& ) |
$comma | Comma (, ) |
%QUERYPARAMS{ format="" }%
Security warning! Using QUERYPARAMS can easily be misused for cross-site scripting unless specific characters are entity encoded. By default QUERYPARAMS encodes the characters
'"<>%
into HTML entities (same as encoding="safe") which is relatively safe. The safest is to use encoding="entity". When passing QUERYPARAMS inside another macro always use double quotes ("") combined with using QUERYPARAMS with encoding="quote". For maximum security against cross-site scripting you are adviced to install the Foswiki:Extensions.SafeWikiPlugin.
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%=
%QUERYSTRING%
rev1=2;rev2=3;render=sidebyside;context=;skin=classic
RED
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%RED% red text %ENDCOLOR%Expands to: red text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%REMOTE_ADDR%
3.236.50.79
%REMOTE_PORT%
%REMOTE_USER%
%RENDERLIST%
macro is handled by the RenderListPlugin%RENDERLIST%
%RENDERLIST{"org" focus="Sales.WestCoastTeam"}% * [[Eng.WebHome][Engineering]] * [[Eng.TechPubs][Tech Pubs]] * [[Sales.WestCoastTeam][Sales]] * [[Sales.EastCoastTeam][East Coast]] * [[Sales.WestCoastTeam][West Coast]]
%RENDERZONE{"zone" ...}%
See ADDTOZONE for an explanation of zones.
Parameters:
"zone"
required, name of the zone. format="..."
optional, format string for each item added to the zone, default: $itemTokens:
$id
- id
of the ADDTOZONE call within the zone
currently being rendered. $item
- text of the ADDTOZONE call within the zone
currently being rendered. $zone
- the "zone"
currently being rendered. $missing
- if the ADDTOZONE call being rendered required any id
which was not found, then $missing
is the missingtoken
parameter; empty string otherwise. $missingids
- comma separated list of ids that were required by the ADDTOZONE call currently being rendered but weren't found within this zone
. missingtoken="..."
optional, this will be the string assigned to the $missing
format token for use in the format
parameter. Default: $id: requires= missing ids: $missingids
chomp="on"
remove leading and trailing whitespace from formatted items, can be useful for pretty-printing and compression. header="..."
optional, prepended to the output footer="..."
optional, appended to the output separator="..."
optional, put between each item of a zone Supports the standard format tokens in all parameters.
Notes:
header
and footer
are not output if there is no content in the zone (nothing has been ADDTOZONEd
). However they are output if the output is the empty string (at least one ADDTOZONE
has been processed). head
and script
are automatic zones. They don't require a corresponding RENDERZONE
anywhere in the templates - they are automatically inserted before the
tag in the output HTML page. ADDTOZONE
statements are resolved within each zone. However, if {MergeHeadAndScriptZones}
is enabled in configure, then head
content which requires an id
that only exists in script
will be re-ordered to satisfy this dependency. ![]()
{MergeHeadAndScriptZones}
will be removed from a future version of Foswiki.
See also ADDTOZONE for more information on zones.
&rev=n
URL revision parameter of current topic %REVINFO%
%REVINFO%
is equivalent to %REVINFO{format="r1.$rev - $date - $wikiusername"}%
r1 - 26 Jun 2011 - 21:39:52 - ProjectContributor
%REVINFO{"format"}%
%REVINFO%
is equivalent to %REVINFO{format="r$rev - $date - $wikiusername"}%
r1 - 26 Jun 2011 - 21:39:52 - ProjectContributor
Parameter: | Description: | Default: |
---|---|---|
"format" | Format of revision information, see supported formatting tokens below | "r1.$rev - $date - $wikiusername" |
web="..." | Name of web | Current web |
topic="..." | Topic name | Current topic |
rev="1.5" | Specific revision number | Latest revision |
Token: | Unit: | Example |
---|---|---|
$web | Name of web | Current web |
$topic | Topic name | Current topic |
$rev | Revision number. Prefix r1. to get the usual r1.5 format | 5 |
$username | Login username of revision | jsmith |
$wikiname | WikiName of revision | JohnSmith |
$wikiusername | WikiName with Main web prefix | Main.JohnSmith |
$date | Revision date. Actual date format defined as {DefaultDateFormat} in configure | 21 Sep 2006 |
$time | Revision time | 23:24:25 |
$iso | Revision date in ISO date format | 2006-09-22T06:24:25Z |
$min , $sec , etc. | Same date format qualifiers as GMTIME{"format"} |
%REVINFO{"$date - $wikiusername" rev="1.1"}%
%REVINFO{"$rev" rev="-1"}%
(r1)
The requested revision as displayed in topic breadcrumbs viewauth.cgi
) %SCRIPTNAME%
compare
.pl
or .cgi
%SCRIPTSUFFIX%
%SCRIPTURL%
OR %SCRIPTURL{"script"}%
%SCRIPTURL%
returns the base URL of scripts - expands to https://fair-wiki.gsi.de/foswiki/binhttps://fair-wiki.gsi.de/foswiki/bin/script
%SCRIPTURL{"viewauth"}%/%WEB%/%TOPIC%
which expands to https://fair-wiki.gsi.de/foswiki/bin/viewauth/System/Macros
In most cases you should use
%SCRIPTURLPATH{"script"}%
instead, as it works with URL rewriting much betterThe
edit
script should always be used in conjunction with?t=%GMTIME{"$epoch"}%
to ensure pages about to be edited are not cached in the browser
%SCRIPTURL{"script"}%
, but doesn't include the protocol and host part of the URL %SCRIPTURL%
OR %SCRIPTURLPATH{"script"}%
/foswiki/bin/script
The
edit
script should always be used in conjunction with?t=%GMTIME{"$epoch"}%
to ensure pages about to be edited are not cached in the browser
%SEARCH{"text" ...}%
Parameter: | Description: | Default: |
---|---|---|
"text" | 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 preference set to on in their WebPreferences. Note that AccessControls are respected when searching webs; it is much better to use them than NOSEARCHALL . Wildcards are not currently supported for web names. | 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. | All topics in a web |
excludetopic="Web*" excludetopic="WebHome, WebChanges" | 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) | "text" |
type="keyword" type="word" type="literal" type="regex" type="query" | 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 service regex : use a RegularExpression search like soap;web service;!shampoo ; to search on whole words use \bsoap\b query : query search of form fields and other meta-data, like (Firstname='Emma' OR Firstname='John') AND Lastname='Peel' | %SEARCHVAR- DEFAULTTYPE% preferences setting (literal) |
order="topic" order="created" order="modified" order="editby" order= | Sort the results of search by the topic names, topic creation time, last modified time, last editor's WikiName, or named field of DataForms. 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). | Sort by topic name |
limit="all" limit="16" | Limit the number of topics from which results will be returned. This is done after sorting if order is specified. Note that this does not limit the number of hits from the same topic when you have multiple="on". | All results |
date="..." | limits the results to those pages with latest edit time in the given time interval. | All results |
reverse="on" | Reverse the direction of the search | Ascending search |
casesensitive="on" | Case sensitive search | Ignore case |
bookview="on" | BookView search, e.g. show complete topic text. Very resource demanding. Use only with small result sets | Show entire topic content. |
nonoise="on" | 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" or zeroresults="..." | Suppress/replace all output if there are no hits (the boolean nature of the setting uses true , false , on , off , 0 so those cannot be used as a format string on their own (insert a to escape them))- can also be set to a FormattedSearch string to customise the output | zeroresults="on" - displays the summary, and number of topics found. "Number of topics: 0" |
noempty="on" | Suppress results for webs that have no hits. | Show webs with no hits |
header="..." format="..." footer="..." | Custom format results: see FormattedSearch for usage & examples | Results in table |
expandvariables="on" | Expand embedded macros 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 macro on the same line will be rendered as part of the table generated by the search, if appropriate. This feature is only active when format is defined. | on |
recurse="on" | Recurse into subwebs, if subwebs are enabled. Note: recurse will currently search subwebs of explicitly excluded webs. (web="all, -Sandbox" recurse="on") will still search subwebs of Sandbox . This behavior is likely to change in a future release. | off |
separator=", " | Line separator between search hits (only used when format= is set) uses FormatTokens. If separator is not defined, the default is "$n" (newline). Not defining the separator will additionally cause a newline to be added after a header and before a footer. | "$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. | "$n" (Newline) |
pagesize="25" | number of items to show per page | "25" |
showpage="1" | Page of items to show (starts at 1) (over-ridden by the value specified by the URL parameter hash from $previousurl and $nexturl ) | "1" |
pager="on" | appends the pager to the footer format (the quickest way to add paging to your SEARCHes is to just add pager="on" ) Note: the default pager (when pagerformat is not defined) requires the parameters to the SEARCH to not change while paging, as it uses $previousurl and $nexturl which use a hash of the Macro's parameters to override the value of showpage . If you use time variable parameters, you will need to define your own pagerformat . | "off" |
pagerformat="text" | Custom format results: see FormattedSearch for usage & examples | filled from skin template |
groupby="none" | Warning: this option is liable to change dramatically (and potentially incompatibly) in the next major release of foswiki. Setting to "none" applies only to multi-web SEARCHs, and means the header and footer are only output once - at the beginning and end of the list of results, and the order parameter is applied over the entire set of results (this setting removes the legacy that results are always partitioned by web) see SiteChanges for an example. | "web" |
%SEARCH{"wiki" web="%USERSWEB%" scope="topic"}%
%SEARCH{ "FAQ" nonoise="on" header="| *Topic: * | *Summary: * |" format="| $topic | $summary |" }%(displays results in a table with header - details)
The appearance of the table emitted by the SEARCH may be controlled with TablePlugin's
%TABLE{}%
macro placed just before the%SEARCH{}%
. Example:%TABLE{ tablewidth="90%" }%
Related topics: FormattedSearch, QuerySearch, SearchHelp, SearchPatternCookbook, RegularExpression, TOPICLIST, WEBLIST
%GMTIME%
%SERVERTIME%
OR %SERVERTIME{"format"}%
%SERVERTIME%
uses the Date format defined as {DefaultDateFormat} in configure%SERVERTIME{"$hou:$min"}%
expands to 23:46
Note: When used in a template topic, this macro will be expanded when the template is used to create a new topic. See TemplateTopics for details.
%SESSIONID%
f35faef8d11d763b50aca7c80317020b
%SESSIONVAR%
%SESSION_VARIABLE{"name"}%
%SESSION_VARIABLE{"name" set="value"}%
%SESSION_VARIABLE{"name" clear=""}%
The users ID is in the
AUTHUSER
session variable, and is read-only
Preference values are shown in a bulleted list.
%SHOWPREFERENCE%
%SHOWPREFERENCE{"PREFERENCENAME"}%
%SHOWPREFERENCE{"ATTACHFILESIZELIMIT"}%
* Set ATTACHFILESIZELIMIT = "50000" * ATTACHFILESIZELIMIT was *finalised* in Main.SitePreferences
%SHOWPREFERENCE{"PREFERENCENAME,PREFERENCENAME,..."}%
%SHOWPREFERENCE{"DENYWEBCHANGE,ALLOWWEBCHANGE"}%
* Set DENYWEBCHANGE = "" * DENYWEBCHANGE was defined in Main.WebPreferences * Set ALLOWWEBCHANGE = "%USERSWEB%.AdminGroup, %USERSWEB%.RegistrationAgent, %MAINWEB%.ResearchGroup, %MAINWEB%.CoordinatorsGroup, %MAINWEB%.ManagementGroup, %MAINWEB%.SecretariesGroup, %MAINWEB%.TechnicalGroup, %MAINWEB%.ProjManagmentOffGroup, %MAINWEB%.ControlCommissioningGroup" * ALLOWWEBCHANGE was defined in Main.WebPreferences
SILVER
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%SILVER% silver text %ENDCOLOR%Expands to: silver text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%SKIN%
expands the skin search path. For instance, SKIN
can be set to catskin, bearskin
. SKIN
setting can be overridden using the URL parameter skin
, such as ?skin=catskin,bearskin
%SKIN%
%SLIDESHOWEND%
macro is handled by the SlideShowPlugin%SLIDESHOWEND%
%SLIDESHOWSTART%
macro is handled by the SlideShowPlugin%SLIDESHOWSTART%
%SLIDESHOWSTART{ template="MyOwnSlideTemplate" }%
%SLIDESHOWSTART% ---++ Sample Slide 1 * Bullet 1 * Bullet 2 ---++ Sample Slide 2 * Bullet 1 * Bullet 2 %SLIDESHOWEND%
%SPACEDTOPIC%
Var%20*SPACEDTOPIC
This is a deprecated macro. It can be duplicated with
%ENCODE{%SPACEOUT{"%TOPIC%" separator=" *"}%}%
%SPACEOUT{ "%TOPIC%" }%
Macros
Parameter: | Description: | Default: |
---|---|---|
separator | The separator to put between words e.g. %SPACEOUT{"DogsCatsBudgies" separator=", "}% -> Dogs, Cats, Budgies | ' ' |
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
%STOPINCLUDE%
macro. A normal view of the topic shows everything exept the %STARTINCLUDE%
macro itself. %STARTINCLUDE%
If you want more than one part of the topic included, use
%STARTSECTION{type="include"}%
instead
%STARTSECTION{}%
and %ENDSECTION{}%
. 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 which are all merged into one when included (%STARTINCLUDE%
is restricted to only one). Sections of type include may not be given a name. type="expandvariables"
- all macros inside an "expandvariables" type section gets expanded when a new topic based on the template topic is created. See TemplateTopics for more information. type="templateonly"
- start position of text to be removed when a template topic is used. This is used to embed text that you do not want expanded when a new topic based on the template topic is created. See TemplateTopics for more information. %STARTSECTION{"name"}% ................... %ENDSECTION{"name"}%
%STARTSECTION{"name" type="section"}% .... %ENDSECTION{"name" type="section"}%
(type="section" is the default)%STARTSECTION{type="include"}% ........... %ENDSECTION{type="include"}%
%STARTSECTION{type="expandvariables"}% ... %ENDSECTION{type="expandvariables"}%
%STARTSECTION{type="templateonly"}% ...... %ENDSECTION{type="templateonly"}%
Parameter: | Description: | Default |
---|---|---|
"name" | Name of the section. Must be unique inside a topic. | Generated name |
type="..." | Type of the section; type "section" , "expandvariables" , "include" or "templateonly" | "section" |
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..You can define nested sections. It is not recommended to overlap sections, although it is valid in Foswiki. Use named sections to make sure that the correct START and ENDs are matched. Section markers are not displayed when a topic is viewed.
%STATISTICSTOPIC%
WebStatistics
, renders as WebStatistics%STOPINCLUDE%
macro itself. %STOPINCLUDE%
%SYSTEMWEB%
System
Parameter: | Description: | Default: |
---|---|---|
"text" | label of the tab | Tab |
before | 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 (using the url parameter, below) has finished loading; depending on the network latency, this can be significantly later than execution of the after handler above | |
id | id of this tab; this id can be used in the TABPANEs select parameter to display this tab; this id is also added to the class attribute of the html element representing the tab button | |
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 | |
width | width of the tab area | auto |
height | height of the tab area | auto |
container | element where ajax content will be loaded; this is only used together with url |
%TABLE{}%
macro is handled by the TablePlugin%TABLE{ attributes }%
Argument | Comment | Default value | Example |
---|---|---|---|
tableborder | Table border width (pixels). | "1" | tableborder="2" |
tablebordercolor | Table border color . Is only visible when cellspacing is larger than 1, or cellborder is 0 , or tablerules is none , otherwise the cell borders overlap the table border. | unspecified | tablebordercolor="#333" |
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). See also: headerrules and datarules . | unspecified | tablerules="rows" |
tablewidth | Table width: percentage of window width, or absolute pixel value. | unspecified | tablewidth="100%" |
headerrows | Number of header rows to exclude from sort. (will be rendered in a HTML thead section) | "1" | headerrows="1" |
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 screen readers: 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. | unspecified | caption="Users" |
inlinemarkup | Set to "on" to generate inline markup HTML (in addition to the CSS markup); useful if you need to copy the table, for instance to paste the table into an email). | unspecified | inlinemarkup="on" |
Argument | Comment | Default value | Example |
---|---|---|---|
sort | Set the table sorting user interface (clickable column headers) "on" or "off" . | unspecified | sort="on" |
initsort | Column to sort initially (use "1" for the first column). If specified, sorting is enabled; by setting sort="off" the sorting interface can be hidden. | unspecified | initsort="2" |
initdirection | Initial sorting direction for initsort , set to "up" (descending, or decreasing in value) or "down" (ascending, or increasing in value). | down | 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" |
Argument | Comment | Default value | Example |
---|---|---|---|
cellpadding | Cell padding (pixels). | unspecified | cellpadding="0" |
cellspacing | Cell spacing (pixels). | unspecified | 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" |
columnwidths | Column widths: Comma delimited list of column widths, percentage or absolute pixel value. | unspecified | columnwidths="80%,20%" |
Argument | Comment | Default value | Example |
---|---|---|---|
datarules | Set to "none" (no rules), "rows" (rules will appear between rows only), "cols" (rules will appear between columns only), "all" (rules will appear between all rows and columns). Overrides tablerules for data cells. | unspecified | datarules="none" |
datavalign | Vertical alignment of data cells; overrides valign . | unspecified | datavalign="top" |
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" |
databg | Data cell background colour, a comma separated list. Specify "none" for no colour, that is to use the colour/background of the page the table is on. | "#edf4f9,#fff" | databg="#f2f2f2,#fff" |
databgsorted | Data cell background colour of a sorted column; see databg . | the values of databg | databgsorted="#d4e8e4, #e5f5ea" |
datacolor | Data cell text colour, a comma separated list. | unspecified | datacolor="#00c, #000" |
Argument | Comment | Default value | Example |
---|---|---|---|
headerrules | Set to "none" (no rules), "rows" (rules will appear between rows only), "cols" (rules will appear between columns only), "all" (rules will appear between all rows and columns). Overrides tablerules for header cells. | unspecified | headerrules="none" |
headerbg | Header cell background colour. Specify "none" for no colour, that is to use the colour/background of the page the table is on. | "#6b7f93" | headerbg="#999" |
headerbgsorted | Header cell background colour of a sorted column. Specify "none" for no colour, that is to use the colour/background of the page the table is on. | the value of headerbg | headerbgsorted="#32596c" |
headercolor | Header cell text colour. | "#fff" | headercolor="#00c" |
headervalign | Vertical alignment of header cells; overrides valign . | unspecified | headervalign="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" |
headerrows | See: Attributes for tables |
Argument | Comment | Default value | Example |
---|---|---|---|
include | Other topic defining the TABLE parameters. The first %TABLE% 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. Use topic or web.topic notation. | unspecified | include="Main.WebHome" |
%TABLE{ tableborder="0" cellpadding="4" cellspacing="3" cellborder="0" }% | *A1* | *B1* | | A2 | B2 |
A1 | B1 |
---|---|
A2 | B2 |
%TABPANE% %TAB{"tab 1"}% ... %ENDTAB% %TAB{"tab 2"}% ... %ENDTAB% %ENDTABPANE%Multiple tabpanes can be nested using the following scheme:
%TABPANE% %TAB{"tab 1"}% %TABPANE% %TAB{"tab 1.1"}% ... %ENDTAB% %TAB{"tab1.2"}% ... %ENDTAB% %ENDTABPANE% %ENDTAB% %TAB{"tab 2"}% ... %ENDTAB% %ENDTABPANE%
Parameter: | Description: | Default: |
---|---|---|
select | number or id of tab to select | 1 |
automaxexpand | resizes the tabpane to the maximum height to fit into the window | off |
minheight | when automaxexpand is enabled, this is the minimum size a tab is allowed to be resized | 230 |
class | extra class: use simple for a non-3D tabpane | |
animate | (on/off) enables/disables animation of switching tabs | off |
TEAL
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%TEAL% teal text %ENDCOLOR%Expands to: teal text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
"---++ text"
) and HTML ("text
"
) 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 %TOC%
OR %TOC{"SomeTopic" ...}%
Parameter: | Description: | Default: |
---|---|---|
"TopicName" | topic name | Current topic |
web="Name" | Name of web | Current web |
depth="2" | Limit depth of headings shown in TOC | 6 |
title="Some text" | Title to appear at top of TOC | none |
%TOC{depth="2"}% %TOC{"CompleteDocumentation" web="%SYSTEMWEB%" title="Contents:"}%See also: Foswiki:Support/HowToCreateATableOfContents
TOC will add an HTML anchor called
foswikiTOC
just before the table of contents. This enables adding a link from within a topic back to the table of contents to ease navigation. Example[[#foswikiTOC][Back to TOC]]
creates Back to TOC.If multiple headers have the exact same text, the anchors for the 2nd, 3rd etc will be suffixed by _AN1, _AN2 etc so the anchors become unique.
%TOPIC%
expands to the name of the topic. If you are looking at the text of an included topic, it is the name of the included topic. %TOPIC%
Macros
, renders as Macros$topic
token 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. %TOPICLIST{"format" ...}%
Parameter: | Description: | Default: |
---|---|---|
"format" | 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 |
Create a bullet list of all topics: %TOPICLIST{" * $web.$topic"}% Create a comma separated list of all topics: %TOPICLIST{separator=", "}% Create an option list (for drop down menus): %TOPICLIST{" "}% Create an option list of web topics with the current topic selected:
TOPICURL
= https://fair-wiki.gsi.de/foswiki/bin/view/Main/TWikiVariablesDeprecated. Use
%SYSTEMWEB%
instead
This renders the button as well as the toggled content section contained within this and the closing ENDTWISTY
tag.
Usage: %TWISTY{ ... }% Toggable contents %ENDTWISTY%
Parameter | Value | Description | Remark |
---|---|---|---|
id | Unique identifier | Used to link TWISTYBUTTON and TWISTYTOGGLE | optional |
link | Link label | Link label for both show and hide links | optional |
hidelink | Link label | Hide link label | optional |
showlink | Link label | Show link label | optional |
mode | "div" or "span" | Specify if the Twisty Toggle section will use a
| optional, defaults to
|
showimgleft | Image url | Specify the url of an image that will be displayed with the show link at the left side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
hideimgleft | Image url | Specify the url of an image that will be displayed with the hide link at the left side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
showimgright | Image url | Specify the url of an image that will be displayed with the show link at the right side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
hideimgright | Image url | Specify the url of an image that will be displayed with the hide link at the right side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
remember | "on" , "off" | If "on" , the Twisty state is remembered the next time the page is shown. If "off" , the stored setting will be cleared.
| optional, no default |
start | "hide" or "show" | Initial state of the Twisty; this will override any setting stored in a cookie (see remember ). | optional, default no initial state |
firststart | "hide" or "show" | Initial state of the Twisty the first time the visitor gets to see the Twisty; this will NOT override cookie settings (see remember ). | optional, default no initial state |
noscript | "hide" | Make content hidden in case use does not have JavaScript on | optional, default content is shown in case JavaScript if off |
class | CSS class name | Class for Twisty div or span | optional, default none |
linkclass | CSS class name | Class for link | optional, default none |
prefix | Text | Text to display before the show/hide links | optional, default none |
suffix | Text | Text to display after the show/hide links | optional, default none |
img | Image url | Deprecated, use showimgleft, hideimgleft, showimgright or hideimgright. | optional, defaults to no image |
imgleft | Image url | Deprecated, use showimgleft, hideimgleft, showimgright or hideimgright. | optional, defaults to no image |
imgright | Image url | Deprecated, use showimgleft, hideimgleft, showimgright or hideimgright. | optional, defaults to no image |
hideimg | Image url | Deprecated, use showimgleft, hideimgleft, showimgright or hideimgright. | optional, defaults to no image |
showimg | Image url | Deprecated, use showimgleft, hideimgleft, showimgright or hideimgright. | optional, defaults to no image |
Shorthand version for TWISTYSHOW & TWISTYHIDE This is useful if both the show and the hide button take the same arguments.
noscript
and class
(only used for 'toggle' content) mode
: button mode defaults to div %TWISTYBUTTON{id="myid" ... }%
Parameter | Value | Description | Remark |
---|---|---|---|
mode | "div" or "span" | Specify if the Twisty button will use a
| optional, defaults to
|
%TWISTYBUTTON{ id="myid" link="more" }%%TWISTYTOGGLE{ id="myid" }%content%ENDTWISTYTOGGLE%
Hide/close link
%TWISTYHIDE{id="myid" ... }%
Parameter | Value | Description | Remark |
---|---|---|---|
id | Unique identifier | Used to link TWISTYSHOW, TWISTYHIDE and TWISTYTOGGLE | required |
link | Link label | Hide link label | optional |
mode | "div" or "span" | Specify if the Twisty Hide link will use a
| optional, defaults to
|
img | Image url | Specify the url of an image that will be displayed at the right side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
remember | "on" , "off" | If "on" , the Twisty state is remembered the next time the page is shown. If "off" , the stored setting will be cleared.Note: when used, think carefully about a unique name (id) for the Twisty, otherwise the cookie that is set might affect other Twisties with the same name. Also note that only interaction is stored, not the state of the Twisty when left unclicked. | optional, no default |
start | "hide" or "show" | Initial state of the Twisty; this will override any setting stored in a cookie (see remember ). | optional, default no initial state |
firststart | "hide" or "show" | Initial state of the Twisty the first time the visitor gets to see the Twisty; this will NOT override cookie settings (see remember ). | optional, default no initial state |
%TWISTYHIDE{id="demo" link=" Click to Fold " imgleft="%ICONURLPATH{toggleclose}%"}%
Show/open link
%TWISTYSHOW{id="myid" ... }%
Parameter | Value | Description | Remark |
---|---|---|---|
id | Unique identifier | Used to link TWISTYSHOW, TWISTYHIDE and TWISTYTOGGLE | required |
link | Link label | Show link label | optional |
mode | "div" or "span" | Specify if the Twisty Show link will use a
| optional, defaults to
|
img | Image url | Specify the url of an image that will be displayed at the right side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
imgleft | Image url | Specify the url of an image that will be displayed at the left side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
imgright | Image url | Specify the url of an image that will be displayed at the right side of the link. You may use ICONURLPATH to display one of the DocumentGraphics icons. Alternatively use an image attached to the topic. | optional, defaults to no image |
remember | "on" , "off" | If "on" , the Twisty state is remembered the next time the page is shown. If "off" , the stored setting will be cleared.Note: when used, think carefully about a unique name (id) for the Twisty, otherwise the cookie that is set might affect other Twisties with the same name. Also note that only interaction is stored, not the state of the Twisty when left unclicked. | optional, no default |
start | "hide" or "show" | Initial state of the Twisty; this will override any setting stored in a cookie (see remember ). | optional, default no initial state |
firststart | "hide" or "show" | Initial state of the Twisty the first time the visitor gets to see the Twisty; this will NOT override cookie settings (see remember ). | optional, default no initial state |
%TWISTYSHOW{id="demo" link=" Click to Unfold " imgleft="%ICONURLPATH{toggleopen}%"}%
Twisty Toggle contents section
%TWISTYTOGGLE{id="myid"}%
Parameter | Value | Description | Remark |
---|---|---|---|
id | Unique identifier | Used to link TWISTYSHOW, TWISTYHIDE and TWISTYTOGGLE. | required |
mode | "div" or "span" | Specify if the Twisty Toggle section will use a
| optional, defaults to
|
class | CSS class name | Class for content div or span | optional, default none |
linkclass | CSS class name | Class for link | optional, default none |
remember | "on" , "off" | If "on" , the Twisty state is remembered the next time the page is shown. If "off" , the stored setting will be cleared.Note: when used, think carefully about a unique name (id) for the Twisty, otherwise the cookie that is set might affect other Twisties with the same name. Also note that only interaction is stored, not the state of the Twisty when left unclicked. | optional, no default |
start | "hide" or "show" | Initial state of the Twisty; this will override any setting stored in a cookie (see remember ). | optional, default no initial state |
firststart | "hide" or "show" | Initial state of the Twisty the first time the visitor gets to see the Twisty; this will NOT override cookie settings (see remember ). | optional, default no initial state |
noscript | "hide" | Make content hidden in case use does not have JavaScript on | optional, default content is shown with no JavaScript |
%TWISTYTOGGLE{id="demo" mode="div" remember="on"}%My content%ENDTWISTYTOGGLE%
%URLPARAM{"name"}%
Parameter: | Description: | Default: |
---|---|---|
"name" | The name of a URL parameter | required |
default="..." | Default value, used if the parameter is not present | empty string |
newline=" | Convert newlines in textarea to other delimiters | no conversion |
encode="off" encode="entity" encode="safe" encode="url" encode="quote" | Control how special characters are encoded off : No encoding. Avoid using this when possible. See the security warning below. entity : Encode special characters into HTML entities. See ENCODE for more details. safe : Encode characters '"<>% into HTML entities. url : Encode special characters for URL parameter use, like a double quote into %22 quote : Escape double quotes with backslashes (\" ), does not change other characters; required when feeding URL parameters into other macros. | "safe" |
multiple="on" multiple="[[$item]]" | If set, gets all selected elements of a tag. A format can be specified, with $item indicating the element, e.g. multiple="Option: $item" (also supports the standard format tokens) | first element |
separator=", " | Separator between multiple selections. Only relevant if multiple is specified | "\n" (new line) |
%URLPARAM{"skin"}%
returns print
for a .../view/System/Macros?skin=print
URL %SEARCH{ "%URLPARAM{ "search" encode="quote" }%" noheader="on" }%
rev
, skin
, template
, topic
, web
; they have a special meaning in Foswiki. Common parameters and view script specific parameters are documented at CommandAndCGIScripts. %URLPARAM{
in the value of a URL parameter, it will be modified to %URLPARAM{
. This is to prevent an infinite loop during expansion. '"<>%
into HTML entities (same as encode="safe") which is relatively safe. The safest is to use encode="entity". When passing URLPARAM inside another macro always use double quotes ("") combined with using URLPARAM with encode="quote". For maximum security against cross-site scripting you are adviced to install the Foswiki:Extensions.SafeWikiPlugin. %USERINFO%
guest, WikiGuest,
(comma-separated list of the username, wikiusername, and emails) $emails
, $username
, $wikiname
, $wikiusername
, $groups
and $admin
($admin returns 'true' or 'false'): %USERINFO{ format="$username is really $wikiname" }%
guest is really WikiGuest
%USERINFO{ "WikiGuest" format="$username is really $wikiname" }%
guest is really WikiGuest
You need to be a member of AdminGroup for the
USERINFO
macro to provide details about other users
The parameter should be the wikiname of a user. 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 site)
jsmith
, WIKINAME like JohnSmith
and WIKIUSERNAME like Main.JohnSmith
. Un-authenticated users are all WikiGuest. %USERNAME%
guest
When used in a template topic, this macro will be expanded when the template is used to create a new topic. See TemplateTopics for details
%USERSWEB%
Main
%VAR{"NAME" web="Web"}%
%WEBBGCOLOR%
of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%
, which expands to #FFEFA6
%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. %WEB%
System
%WEBLINK{web="..." name="..."}%
Parameter: | Description: | Default: |
---|---|---|
"web" | name of the web to link to | BASEWEB |
name="..." | name to display instead of the web name | BASEWEB (its tail in case it is a subweb) |
format="..." | format string for the web link | $title |
marker="..." | string to be inserted into the format string if the web link points to the current web | current |
class="..." | css class used within the web link | webLink |
The following variables can be used in the format string:
title
argument of an anchor NOSEARCHALL = on
preference setting. The "format"
defines the format of one web item. The $name
gets expanded to the name of the web, $qname
gets expanded to double quoted name, $marker
to marker
where web matches selection
. Subwebs are listed recursively. %WEBLIST{"format" ...}%
Parameter: | Description: | Default: |
---|---|---|
"format" | Format of one line, may include $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), and $marker (which expands to marker for the item matching selection only) | $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 value. | none |
webs="public" | Comma separated list of webs to consider. This list can include two pseudo-webs, public which expands to all non-hidden and webtemplate which expands to the names of all template webs.NOTE: Administrators will see all webs, not just the public ones | public |
subwebs="Sandbox" | Specifies a single web. If specified, then public and webtemplate (described above) will expand relative to show subwebs *below this web only. | "" |
selection="%WEB%" | Entry to be selected in list. If one of the webs matches this selection, then $marker in the format will be expanded | selection=%WEB% |
marker="selected" | Text for $marker if the item matches selection | selected="selected" |
%WEBLIST{" * [[System.$name.%HOMETOPIC%][$name.%HOMETOPIC%]]"}%
![]()
WEBLIST
will not show a web called 'TWiki' even if it exists in the file system unless theTWikiCompatibilityPlugin
is installed and activated in configure. This is done to ensure that the TWiki compatibility components such as the TWiki web are only visible and active when needed
%WEBPREFSTOPIC%
WebPreferences
, renders as WebPreferencesWHITE
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%WHITE% white text %ENDCOLOR%Expands to: white text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
%WIKIHOMEURL%
/foswiki/bin/view/
%SCRIPTURLPATH{"view"}%
For the top bar logo URL use
%WIKILOGOURL%
defined in WebPreferences instead.
%USERNAME%
if not defined in the WikiUsers topic %WIKINAME%
WikiGuest
When used in a template topic, this macro will be expanded when the template is used to create new topic. See TemplateTopics for details
%WIKIPREFSTOPIC%
DefaultPreferences
, renders as DefaultPreferences%WIKITOOLNAME%
FAIR Wiki
%WIKIUSERNAME%
Main.WikiGuest
, renders as WikiGuestWhen used in a template topic, this macro will be expanded when the template is used to create a new topic. See TemplateTopics for details
%WIKIUSERSTOPIC%
WikiUsers
, with Main prefix renders as WikiUsers%WIKIVERSION%
v1.1.9
%WIKIWEBMASTER%
fairwiki-admin@gsi.de
%WIKIWEBMASTERNAME%
FAIR Wiki Administrator
Controlling topics in the workflow | |
---|---|
%WORKATTACHTOPIC% | Expands to a link that lets you attach to the topic (if the user is not able to modify the topic, either in the workflow sense or according to the standard access controls, the link will be |
%WORKFLOWEDITTOPIC% | Expands to a link that lets you edit the topic (if the user is not able to modify the topic, either in the workflow sense or according to the standard access controls, the link will be |
%WORKFLOWFORK{...}% | Expands to a button that will create a copy of the current topic (see below for more details) |
%WORKFLOWTRANSITION% | Expands to either (a) a pull-down menu if the user can perform more than one transition, (b) a button if the current user can only perform one transition, or (c) empty space if the current user is not allowed to perform any action. You can change the format of the button using a CSS class (see WORKFLOWTRANSITIONCSSCLASS below) |
Querying the workflow | |
%WORKFLOWHISTORY% | Expands to the history of state transitions the topic has undergone. The format of the history is dictated by the WORKFLOWHISTORYFORMAT (described below). |
%WORKFLOWLASTREV_State% | Expands to the version number when the document was last in the state State. |
%WORKFLOWLASTTIME_State% | Expands to the timestamp when the document was last in the State last state. For example, %WORKFLOWLASTTIME_APPROVED% would be replaced by the timestamp when the document was last in the APPROVED state. |
%WORKFLOWLASTVERSION_State% | Expands to a link to the version of the document when it was last in the state State. |
%WORKFLOWSTATE% | Expands to the current state of the document. It can also be given a topic parameter (default), in which case the state of that topic is returned. |
%WORKFLOWSTATEMESSAGE% | Expands to the corresponding message in the state table. |
(All the macros accept an optional default parameter, which is the name of a topic, a web
and a rev
parameter. If these are omitted, they will default to the current topic, latest revision)
Furthermore, the plugin replaces any macro starting with WORKFLOW
that is defined in the workflow description file.
If the topic is not controlled, then any references to WORKFLOW
macros are simply removed (you can use this behaviour to place these tags in the header or footer in your skin templates. They appear only if the currently displayed document is controlled. Otherwise, they are just removed and do not disturb the layout).
In addition there are two macros you can define in your topics (or WebPreferences)
WORKFLOWHISTORYFORMAT tells the plugin how to format each new line added to the WORKFLOWHISTORY. The format is used as a template for each new entry, and should include all the formatting necessary to make the history look nice when it is viewed.
In this example the history is formatted as a table:
The leading $n expands to a newline character that separates each line of the history. You could also format the history as a bullet list:
The standard format tokens are supported, as well as the following special tokens:
Token | Expands to |
---|---|
$wikiusername | Who triggered the transition |
$state | The target state of the transition |
$date | Date of the transition |
$rev | Version at the transition |
The appearance of the button to change state can be configured by providing a CSS class. For example,
The default is foswikiChangeFormButton foswikiSubmit
.
The WORKFLOWFORK
macro is used to generate a button that will create a copy of a workflow topic. It accepts the following parameters:
Parameter | Meaning | Default |
---|---|---|
"TopicName" | (Optional) name of the topic to fork | current topic |
web | (Optional) name of the web containing the topic to fork | current web |
newnames="NameOne,NameTwo" | Comma-separated list of name(s) of the new topic(s) to create, You can use a web specifier on the topic names. | required, no default. |
label="Fork" | Label to use in the button | "Fork" |
lockdown="on" | Set this if you want the forked topic to be set as uneditable after the fork | off |
This macro is used when you have a topic that has to be split to follow different routes through a workflow - for example, when a requirement is refined to create two new requirements that must follow their own lifecycles; or perhaps a problem report is found to affect two different components of a system, and the resolutions have to be separately tracked. Both the copied topic and the new topic will have workflow history entries added.
For example, %WORKFLOWFORK{"OriginalTopic" label="Divide and conquer" newnames="ForkPathOne,ForkPathTwo" lockdown="on"}%
will create two copies of OriginalTopic
, named ForkPathOne
and ForkPathTwo
and set the OriginalTopic
as uneditable (using ALLOWTOPICCHANGE).
The histories in both the fork copies and the original topic record what happened.
The user has to be able to modify the topic (both in the workflow sense and according to the standard access controls) in order to fork.
due to a bug in versions of the plugin prior to Oct 2009, the default "TopicName" parameter was interpreted as the name of the new topic to fork to. This has been corrected, but the macro will revert to the old meaning if you omit the
newnames
parameter.
YELLOW
is one of the shortcut macros predefined in DefaultPreferences. See the section shortcut macros in that topic for a complete list of colors.%YELLOW% yellow text %ENDCOLOR%Expands to: yellow text
![]()
%
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%
Related: ENDCOLOR, DefaultPreferences, StandardColors
The following macros are preference settings and are frequently used in topic content.
%BR%
- line break %BULLET%
- bullet sign %BB%
- line break and bullet combined %BB2%
- indented line break and bullet %RED% text %ENDCOLOR%
- colored text (also %YELLOW%
, %ORANGE%
, %PINK%
, %PURPLE%
, %TEAL%
, %NAVY%
, %BLUE%
, %AQUA%
, %LIME%
, %GREEN%
, %OLIVE%
, %MAROON%
, %BROWN%
, %BLACK%
, %GRAY%
, %SILVER%
, %WHITE%
) %H%
- %I%
- %M%
- %N%
- %P%
- %Q%
- %S%
- %T%
- %U%
- %X%
- %Y%
- See ShortcutMacros for a full list of predefined shortcuts.
Revision r3 - 12 Jan 2003 - 00:29 - PeterThoeny
Revision r2 - 11 Nov 2000 - 06:33 - PeterThoeny