我试图在生成的标记中抽象出一个常见的场景,我需要一些标记来"包装"任意内容.所以不要写这个
<div class="container">
<p class="someClass">Some header</p>
<div id="foo">
<!-- The real content that changes -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以写一些"喜欢"的东西
#????
<!-- The real content that changes
#end
Run Code Online (Sandbox Code Playgroud)
哪里显然我不知道#???? 将会.
据我所知,不可能用宏做这个,不能为块的开始定义一个宏,而为块的结尾定义一个宏.
#macro(startContained)
<div class="container">
<p class="someClass">Some header</p>
<div id="foo">
#end
#macro(endContained)
</div>
</div>
#end
#startContained
<!-- The real content -->
#endContained
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?
Dav*_*ton 12
使用#@宏调用语法以及$!bodyContent变量:
#macro(wrapper)
<div class="container">
<p class="someClass">Some header</p>
<div id="foo">
$!bodyContent##
</div>
</div>
#end
#@wrapper()
The real content that changes.
#end
#@wrapper()
Other different content.
#end
Run Code Online (Sandbox Code Playgroud)
呈现为:
<div class="container">
<p class="someClass">Some header</p>
<div id="foo">
The real content that changes.
</div>
</div>
<div class="container">
<p class="someClass">Some header</p>
<div id="foo">
Other different content.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
(##在宏体中删除尾随空格;对于HTML,它可能无关紧要.)
| 归档时间: |
|
| 查看次数: |
1415 次 |
| 最近记录: |