When a topic is included, normally TWiki variables in the included topic are expanded in the context of the inlcluded topic. But if raw="on"
is specified, that variable expansion does not happen.
This topic explains what it is for and what it really means.
You can specify a template topic when you create a new topic.
Variable expansion during topic creation is different from usual.
It's explained here.
Basically, variables are not expanded for the most part but you can force variable expansion by prepending EOTC__
to a variable name.
Leveraging INCLUDE
with raw="on"
, a template topic can be composed of multiple topics.
Let's say there is a topic named ThreePartTemplate as follows.
%EOTC__INCLUDE{"TmplPartA" raw="on"}% %EOTC__INCLUDE{"TmplPartB" raw="on"}%Thanks to
raw="on"
, TWiki variables in TmplPartA and TmplPartB are not expanded when those topics are included.
Since most variables are not expanded in topic creation, most variables in TmplPartA and TmplPartB are put as they are in the new topic.
Let's assume TmplPartA contains %CALENDAR%
. It will show up as is in a topic created based on ThreePartTemplate.
%CALENDAR%
is not subject to expansion in topic creation, so it's left as is in the created topic.
If raw="on'
wasn't present,
%CALENDAR%
would be expanded in the context of TmplPartA.
%CALENDAR%
on it.
In viewing a topic, variable expansion always happen.
Let's say there is a topic named IncludedTopic whose content is %TOPIC%
.
IncludedTopic: %TOPIC%
If that's included by another topic IncludingTopic with raw="on"
parameter and this enhancement is in effect, IncludingTopic shows IncludedTopic.
IncludingTopic: %INCLUDE{"IncludedTopic" raw="on"}%
-> IncludingTopic
This is because when IncludedTopic is included by IncludingTopic, the variable %TOPIC%
is not expanded and
the processing of %INCLUDE{"IncludedTopic" raw="on"}%
ends there.
Then, %TOPIC%
is expanded in the IncludingTopic's context.
On the other hand, if you don't have raw="on"
, %TOPIC%
is expanded in IncludedTopic's context.
IncludingTopic: %INCLUDE{"IncludedTopic"}%
-> IncludedTopic
Related Topics: VarINCLUDE, TWikiTemplates#Variable_Expansion