none
[openafs-wiki.git] / TWiki / TWikiVariables.mdwn
index 16aa02d..d73d217 100644 (file)
@@ -1,5 +1,22 @@
+<div>
+  <ul>
+    <li><a href="#TWiki Variables"> TWiki Variables</a><ul>
+        <li><a href="#About Variables"> About Variables</a></li>
+        <li><a href="#Predefined Variables"> Predefined Variables</a></li>
+        <li><a href="#Preferences Variables"> Preferences Variables</a></li>
+        <li><a href="#Setting Variable Preferences"> Setting Variable Preferences</a></li>
+        <li><a href="#Creating Custom Variables"> Creating Custom Variables</a></li>
+      </ul>
+    </li>
+  </ul>
+</div>
+
 ## <a name="TWiki Variables"></a> TWiki Variables
 
+### <a name="About Variables"></a> About Variables
+
+TWikiVariables are text strings enclosed in percentage signs: <code>**%VARIABLE%**</code> that represent stored data. When a topic is rendered for viewing, defined variables replaced by their actual values. TWiki has two types of variable, predefined, and Preference-based, where you can change settings. Through Preference variables, you can even define custom variables. Clearly, they are a power TWiki feature.
+
 ### <a name="Predefined Variables"></a> Predefined Variables
 
 %WIKITOOLNAME% expands the following variables enclosed in % percent signs:
@@ -23,7 +40,7 @@
   </tr>
   <tr>
     <td><code>%SCRIPTSUFFIX%</code></td>
-    <td> The script suffix, i.e. <code>.pl</code>, is <b></b></td>
+    <td> The script suffix, ex: <code>.pl</code>, <code>.cgi</code> is <b></b></td>
   </tr>
   <tr>
     <td><code>%PUBURL%</code></td>
@@ -43,7 +60,7 @@
   </tr>
   <tr>
     <td><code>%URLPARAM{"name"}%</code></td>
-    <td> Returns the value of a URL parameter. I.e. <code>%URLPARAM{"skin"}%</code> returns <b>print</b> for a <code>.../view/%WEB%/%TOPIC%?skin=print</code> URL. Is <b></b></td>
+    <td> Returns the value of a URL parameter. Ex: <code>%URLPARAM{"skin"}%</code> returns <b>print</b> for a <code>.../view/%WEB%/%TOPIC%?skin=print</code> URL. Is <b></b></td>
   </tr>
   <tr>
     <td><code>%WIKITOOLNAME%</code></td>
   </tr>
   <tr>
     <td><code>%WIKIVERSION%</code></td>
-    <td> Wiki tool version, is <b>TWiki-4.1.2, Sat, 03 Mar 2007, build 13046</b></td>
+    <td> Wiki tool version is <b>TWiki-4.1.2, Sat, 03 Mar 2007, build 13046</b></td>
   </tr>
   <tr>
     <td><code>%USERNAME%</code></td>
-    <td> Your login username, is <b>admin</b></td>
+    <td> Your login username is <b>admin</b></td>
   </tr>
   <tr>
     <td><code>%WIKINAME%</code></td>
   </tr>
   <tr>
     <td><code>%TWIKIWEB%</code></td>
-    <td> The web containing all documentation and configuration of %WIKITOOLNAME%. Is <b>TWiki</b></td>
+    <td> The web containing all documentation and configuration of %WIKITOOLNAME% is <b>TWiki</b></td>
   </tr>
   <tr>
     <td><code>%WEB%</code></td>
-    <td> The current web, is <b>%WEB%</b></td>
+    <td> The current web is <b>%WEB%</b></td>
   </tr>
   <tr>
     <td><code>%BASEWEB%</code></td>
   </tr>
   <tr>
     <td><code>%WEBLIST{"format"}%</code></td>
-    <td> Web index, e.g. list of all webs. Hidden webs are excluded, e.g. webs with a <code>NOSEARCHALL=on</code> preference variable. The <code>"format"</code> defines the format of one web item. The <code>$name</code> variable gets expanded to the name of the web. Parameters are format, separator and web: <table border="1" cellpadding="0" cellspacing="0">
+    <td> Web index, e.g. list of all webs. Hidden webs are excluded, e.g. webs with a <code>NOSEARCHALL=on</code> preference variable. The <code>"format"</code> defines the format of one web item. The <code>$name</code> variable gets expanded to the name of the web, <code>$qname</code> gets expanded to double quoted name, <code>$marker</code> to <code>marker</code> where web matches <code>selection</code>. Parameters are format, separator and web: <table border="1" cellpadding="0" cellspacing="0">
         <tr>
           <th bgcolor="#99CCCC"><strong> Parameter: </strong></th>
           <th bgcolor="#99CCCC"><strong> Description: </strong></th>
           <td> line separator </td>
           <td><code>"\n"</code> (new line) </td>
         </tr>
-      </table> Example: <br /><code>%WEBLIST{"   * [[$name.WebHome]]"}%</code> creates a bullet list of all webs. </td>
+        <tr>
+          <td><code>webs="public"</code></td>
+          <td> comma sep list of Web, public expands to all non-hidden </td>
+          <td><code>"public"</code></td>
+        </tr>
+        <tr>
+          <td><code>marker="selected"</code></td>
+          <td> Text for <code>$marker</code> where item matches <code>selection</code>, otherwise equals <code>""</code></td>
+          <td><code>"selected"</code></td>
+        </tr>
+        <tr>
+          <td><code>selection</code></td>
+          <td> Current value e.g. current for current Web, =section="%WEB%" </td>
+        </tr>
+      </table> Examples: <br /><code>%WEBLIST{"   * [[$name.WebHome]]"}%</code> creates a bullet list of all webs. <br /><code>%WEBLIST{"<select><option $marker="$marker" value="$qname">$name</option>" webs="Trash,public" selection="%WEB%" separator=" "}%</select></code> Dropdown of all public Webs + Trash Web, current Web highlighted. </td>
   </tr>
   <tr>
     <td><code>%GMTIME%</code></td>
-    <td> GM time, is <b>29 Jun 2010 - 15:26</b></td>
+    <td> GM time, is <b>29 Jun 2010 - 15:27</b></td>
   </tr>
   <tr>
     <td><code>%GMTIME{"format"}%</code></td>
           <td> 2 digit year </td>
           <td> 99 </td>
         </tr>
-      </table> Variables can be shortened to 3 characters. Example: <br /><code>%GMTIME{"$day $month, $year - $hour:$min:$sec"}%</code> is <br /><b>29 Jun, 2010 - 15:26:53</b></td>
+      </table> Variables can be shortened to 3 characters. Example: <br /><code>%GMTIME{"$day $month, $year - $hour:$min:$sec"}%</code> is <br /><b>29 Jun, 2010 - 15:27:59</b></td>
   </tr>
   <tr>
     <td><code>%SERVERTIME%</code></td>
-    <td> Server time, is <b>29 Jun 2010 - 11:26</b></td>
+    <td> Server time, is <b>29 Jun 2010 - 11:27</b></td>
   </tr>
   <tr>
     <td><code>%SERVERTIME{"format"}%</code></td>
-    <td> Formatted server time. <br /> Example: <code>%SERVERTIME{"$hou:$min"}%</code> is <b>11:26</b></td>
+    <td> Formatted server time. <br /> Example: <code>%SERVERTIME{"$hou:$min"}%</code> is <b>11:27</b></td>
   </tr>
   <tr>
     <td><code>%HTTP_HOST%</code></td>
   </tr>
   <tr>
     <td><code>%TOC%</code></td>
-    <td> Table of Content of current topic. </td>
+    <td> Table of Contents of current topic. </td>
   </tr>
   <tr>
     <td><code>%TOC{"SomeTopic" ...}%</code></td>
-    <td> Table of Content. Shows a TOC that is generated automatically based on headings of a topic. Headings in [[Main/WikiSyntax]] (<code>"---++ text"</code>) and HTML (<code>"&lt;h2&gt;text&lt;h2&gt;"</code>) are taken into account. Parameters are topic name, web and depth: <table border="1" cellpadding="0" cellspacing="0">
+    <td> Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in [[Main/WikiSyntax]] (<code>"---++ text"</code>) and HTML (<code>"&lt;h2&gt;text&lt;h2&gt;"</code>) are taken into account. (But not <code>"&lt;H2&gt;text&lt;/H2&gt;"</code>, which can be used to exclude a heading from the TOC.) Parameters are topic name, web and depth: <table border="1" cellpadding="0" cellspacing="0">
         <tr>
           <th bgcolor="#99CCCC"><strong> Parameter: </strong></th>
           <th bgcolor="#99CCCC"><strong> Description: </strong></th>
@@ -514,17 +545,44 @@ Additional variables are defined in the preferences ( site-level ( **_SL_** ) in
     <td> List of users and groups who are <strong>allowed</strong> to change the current topic. (More in [[Main/TWikiAccessControl]]) </td>
   </tr>
   <tr>
+    <td><code>%DENYWEBRENAME%</code></td>
+    <td><strong><em>WL</em></strong></td>
+    <td> List of users and groups who are <strong>not allowed</strong> to rename topics in the %WIKITOOLNAME% web. (More in [[Main/TWikiAccessControl]]) </td>
+  </tr>
+  <tr>
+    <td><code>%ALLOWWEBRENAME%</code></td>
+    <td><strong><em>WL</em></strong></td>
+    <td> List of users and groups who are <strong>allowed</strong> to rename topics in the %WIKITOOLNAME% web. (More in [[Main/TWikiAccessControl]]) </td>
+  </tr>
+  <tr>
+    <td><code>%DENYTOPICRENAME%</code></td>
+    <td><strong><em>(any topic)</em></strong></td>
+    <td> List of users and groups who are <strong>not allowed</strong> to rename the current topic. (More in [[Main/TWikiAccessControl]]) </td>
+  </tr>
+  <tr>
+    <td><code>%ALLOWTOPICRENAME%</code></td>
+    <td><strong><em>(any topic)</em></strong></td>
+    <td> List of users and groups who are <strong>allowed</strong> to rename the current topic. (More in [[Main/TWikiAccessControl]]) </td>
+  </tr>
+  <tr>
+    <td>
+      <p>
+      </p>
+    </td>
     <td><code>%FINALPREFERENCES%</code></td>
     <td><strong><em>SL</em></strong> , <strong><em>WL</em></strong></td>
     <td> List of preferences that are not allowed to be overridden by next level preferences</td>
   </tr>
 </table>
 
-**_Notes:_**
+### <a name="Setting Variable Preferences"></a> Setting Variable Preferences
+
+- The syntax for Preferences variables is the same anywhere in TWiki. In Edit mode, from the start of a new line: <br />[6 spaces] \* [space] Set [space] VARIABLENAME [space] = [value] <br />**_Example:_**
+  - <code>**Set VARIABLENAME = value**</code>
+
+### <a name="Creating Custom Variables"></a> Creating Custom Variables
 
-- Preferences variables ( on site-level, web-level and user level ) are defined by bullet lines with this syntax:
-  - `Set VARIABLENAME = value`
-- Additional preferences variables can be defined on all three level as needed. Example:
-  - `Set MYLOGO = %PUBURLPATH%/%MAINWEB%/LogoTopic/logo.gif`
+- You can add your own preference variables for an entire site, a single web, or a single topic, using the standard syntax. Whatever you include in your variable will be expanded on display, and treated exactly as if it had been written out. So you can place formatted text, page links, image paths.<br />**_Example:_** To place a logo anywhere in a web by typing <code>**%MYLOGO%**</code>, define the variable in the web's [[WebPreferences]] topic, like this (in this case, you also have to upload <code>**logo.gif**</code> to the same directory):
+  - <code>**Set MYLOGO = %PUBURLPATH%/%MAINWEB%/LogoTopic/logo.gif**</code>
 
--- [[PeterThoeny]] - 23 Jul 2001 <br />
+-- [[MikeMannix]] - 30 Aug 2001 <br />