这个问题其实碰到很久了,一直没有解决,不过兜兜转转地总有些其他方法能规避或者是转换掉。
最近实在是受不了了,因为每次相隔时间太久就会忘了之前试过哪些方案,今天索行耐着性子再搞一遍。
当前最迫切地就是要解决书籍目录中的收缩问题,大致诉求如下:
目录中有些章节会给出比较细的内容,但如果全部显示的话页面会显得非常大,所以最好的方式就把详细内容收缩掉,需要看的时候点击再展开。
维基百科中有现成的模板Template:Collapsible toggle,我就直接拿来用了(能力有限,让我去研究其他方法也不现实)。它的主要参数有两个个:固定文本(Toggle content)、收缩文本(Collapsible content),至于样式(style)之类根据自己需要弄吧(具体可以看模板的文档说明)。
OK,第一个参数没有什么问题,基本上就是书籍的目录(一句话),而问题就出在第二个参数收缩文本上,因为我希望它能够以列表的形式显示,所以添加内容为WikiText,比如:

*当激情压倒理智
*人的两种心理
*大脑的发育

熟悉WikiText的朋友都能理解,当用星号开头的话,文本就会以无序列表的形式显示,只不过真实的效果却令人很不满意。
MediaWiki-Collapsible_toggle1.png
看到第一章下面的内容没,第一条竟然没有被识别成WikiText而直接显示成为了星号+文本。
查阅官方的文档,建议直接用Html代码插入,也就是<ul><li>……</li></ul>。如果只是小批量也就罢了,我是准备要添加成千上万本书籍,而且目录基本上就是网上收集来的,手动加个星号也就罢了,转成Html代码的话想想都脑壳疼。
写这篇日志的时候才发现其实自己在之前就已经知道解决方案了,就是在参数前加入一个换行符<br />,只不过那个时候脑子抽抽,觉得每一次写入目录都需要这样手工添加个换行符真的是太繁琐了,就像下面:

<br />
*当激情压倒理智
*人的两种心理
*大脑的发育

或者

&#10;
*当激情压倒理智
*人的两种心理
*大脑的发育

直到今天才意识到自己是使用模板的,直接在参数前加入<br />&#10;然后再紧跟参数(比如{{{CollapsibleContent|}}})不就好了嘛。
检查一下效果:
MediaWiki-Collapsible_toggle.png
好了,列表的问题解决了,至于样式么,有时间再慢慢调吧。

参考文档

Help:Newlines_and_spaces#Trimming_on_expansion
Help_talk:Templates

最后修改:2021 年 05 月 13 日
如果觉得我的文章对你有用,请随意赞赏