Variables

Contents

  1. Variables
    1. Predefined Variables
    2. Defining New Variables
    3. Getting Variables
      1. At Every Page Refresh
      2. When Saving the Page

This page tells you more how you can use variables in wiki pages. This is especially helpful within templates, but also on "normal" wiki pages (like for signing a contribution).

Predefined Variables

The following variables are substituted when a page is saved. Note that they will appear unreplaced in the preview!

Variable

Description

Example – markup

Example – render

@PAGE@

Name of the page (useful for template pages)

HelpOnPageCreation

HelpOnPageCreation

@TIMESTAMP@

Raw time stamp

2004年08月30日T06:38:05Z

2004年08月30日T06:38:05Z

@DATE@

Current date in the system's format

<<Date(2004年08月30日T06:38:05Z)>>

2004年08月30日

@TIME@

Current date and time in the user's format

<<DateTime(2004年08月30日T06:38:05Z)>>

2004年08月30日 06:38:05

@ME@

Just the user's name

TheAnarcat

TheAnarcat

@USERNAME@

Just the user's name (or his domain/IP)

TheAnarcat

TheAnarcat

@USER@

Signature "-- loginname"

-- TheAnarcat

-- TheAnarcat

@SIG@

Dated Signature "-- loginname date time"

-- TheAnarcat <<DateTime(2004年08月30日T06:38:05Z)>>

-- TheAnarcat 2004年08月30日 06:38:05

@EMAIL@

Replaced with <<MailTo()>> macro with editor's obfuscated email address

<<MailTo(testuser AT example DOT com)

Testuser@example.com
or
testuser AT example DOT com

@MAILTO@

Replaced with <<MailTo()>> macro with editor's email address

<<MailTo(Testuser@example.com)

Testuser@example.com – no obfuscation, better to use @EMAIL@ on public sites

Defining New Variables

If the builtin variables are not enough, you can define new variables by creating a sub-page of your home page with a dictionary of variables in it. For example, if your username is JohnDoe, you would create page JohnDoe/MyDict with the content like:

 VAR1:: some random text
 VAR2:: use ''any'' wiki markup

Then, whenever you edit a page, you can use @VAR1@ or @VAR2@ to expand to the text in that dictionary. (Note that the lines in a dictionary must start with exactly one space.)

Getting Variables

At Every Page Refresh

You can use these values using the GetVal macro:

<<GetVal(WikiDict,var1)>> <<GetVal(WikiDict,var2)>> <<GetVal(WikiDict,var3)>>

Renders as:

When Saving the Page

If the variables are set on UserName/MyDict (UserName must of course be replaced as appropriate), you can get the variables when saving any page with @var1@, @var2@, ...etc. instead of the GetVal macro.


/!\ Note that data in dict pages is cached and does not require opening and parsing the page file for each access to the value. In CGI, the value is fetched from a pickle, in long running process, the pickle is loaded once and then the value is accessed from memory.

/!\ Note that saving template pages and using preview does not expand variables. Other than that, variable expansion is very global and happens anywhere on the page, including code displays, comments, processing instructions and other "special" areas of a page you might think are excluded.

MoinMaster: HelpOnVariables (last edited 2017年07月17日 17:54:56 by RogerHaase )

AltStyle によって変換されたページ (->オリジナル) /