[Moin-user] Defining custom variables
Greg Ward
gerg.ward+moin at gmail.com
Fri Oct 24 17:28:15 EDT 2008
On 22 October 2008, R.Bauer said:
> the page MyDict has to be created as a subpage of your homepage
> I have there on my ReimarBauer/MyDict some vars for me defined and I can
> for example write @IMG@ on a page and this is expanded to my image.
Ahh! Thank you. That is not clear from HelpOnVariables. May I suggest
a change:
"""
--- HelpOnVariables.txt.orig 2008-10-24 17:11:16.000000000 -0400
+++ HelpOnVariables.txt 2008-10-24 17:17:53.000000000 -0400
@@ -24,14 +24,14 @@
|| @``MAILTO@ || A fancy mailto: link with the user's data || None - on public sites, better use the Mail``To macro ||
-== Expanding Variables ==
+== Defining New Variables ==
-You can use Home``Page``Name/My``Dict to expand those variables, just put a dictionary (see HelpOnDictionaries) there with your variables and values. For example,
+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 following content:
{{{
- VAR1:: substitution 1
- VAR2:: substitution 2
+ 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.
== Getting Variables ==
"""
> <<GetVal(ReimarBauer/MyDict,IMG)>>
>
> is also expanded to the value of the key.
Hmmm. I just tried something like this in a test wiki running 1.8.0rc1.
Putting wiki markup in a variables works fine if I expand at save time
with @VAR at . But if I use <<GetVal>>, the wiki markup is rendered
literally in the output HTML.
Explanation: page "gward/MyDict" contains just
"""
NAME:: Greg
HOMEPAGE:: [[http://www.gerg.ca/|my personal home page]]
"""
When I edit a page to say
Please visit @HOMEPAGE@!
it works; the wiki markup is inserted into the page text and then
processed into HTML when the page is rendered. But if I put this in a
page:
Please visit <<GetVal(gward/MyDict, HOMEPAGE)>>
then the HTML looks like
Please visit [[http://www.gerg.ca/|my personal home page]]
Oops!
Greg
More information about the Moin-user
mailing list