在trac wiki中创建cloak是否可行?

4

是否可以在Trac Wiki中像Confluence的cloak macro一样显示和隐藏内容块?

4个回答

6

这篇文章虽然有几个月了,但我也在思考同样的问题。Remy Blank的答案让我找到了正确的方向,只是他缺少了一个额外的div。

{{{#!div
{{{#!html
<h3 class="foldable">Section title</h3>
}}}
{{{#!div
This is the section content.
}}}
}}}

如果您查看样式表,它会告诉您哪个元素使用折叠样式被隐藏。
.collapsed > div, .collapsed > table, .collapsed > ul, .collapsed > dl { display: none }

Remy的代码将"This is the section content"用p标记包裹,这就是为什么它没有被隐藏的原因。

一定要给Remy一些功劳,但我不认为有这样的选项。 - Vitali
你可以联系他,让他编辑他的回答并加入我的修正,并将所有功劳归给他 (: - Gregoo

1
如果您只想(暂时)隐藏某些内容,同时将其保留在页面源中,可以使用{{{#comment}}} wiki进程器。正如bta所提到的,通过下载页面源仍然可以访问该内容,因此这不是一种安全措施。
如果您想折叠一个部分,并允许用户通过单击来展开它,则可以使用以下技巧(已在0.12版本中进行了测试):
{{{#!div class=""
{{{#!html
<h3 class="foldable">Section title</h3>
}}}
This is the section content.
}}}

这将显示带有小三角形的部分标题在其左侧,单击标题将在折叠和展开之间切换该部分。该部分最初将被折叠。


我想要一个用户可以折叠和展开的部分,但不幸的是这个技巧对我没用。我得到了一个带三角形的部分,但它最初是展开的,点击它不会改变任何东西。我运行的是Track 0.12b1版本。 - Vitali

1

0

目前的Trac版本没有这么细粒度的权限控制。用户账户可以被授予wiki访问权限,但这是一个全开或全关的设置。可以使用wiki页面底部的链接下载wiki页面的原始格式版本,因此像这样的宏实际上不会限制内容。

可以编写一个插件,根据用户账户名称或权限阻止访问特定的wiki页面,但这仍然是页面级别的粒度,而不是像你提到的宏那样的块级别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接