我正在使用Mediawiki创建一个wiki.我在其他wiki上看过每个页面的右侧栏.像这样:http://minecraft.gamepedia.com/Diamond_Ore 右侧栏有关于wiki帖子解释或者什么的内容的信息.
我想知道是否可以在每个页面上制作,以及如何?
我做了一个示例页面:http://moreplus.mwzip.com/wiki/ExamplePage 这是我的wiki,我想知道如何在页面上添加侧栏.
信息框只是带有右侧浮动和一些附加格式的表格。
{| style="float:right;border:1px solid black"
| My fantastic infobox
|-
| More info
|}
Run Code Online (Sandbox Code Playgroud)
作为最佳实践,您应该在 wiki 的 CSS 的一个类中包含您的信息框格式,并定义一个信息框模板,而不是在每个页面上创建单独的表格。
要制作简单而优雅且灵活的信息框,请首先检查是否已安装ParserFunctions扩展.然后使用以下HTML和wikitext组合创建一个名为"Infobox"(或其他)的模板:
<div class="infobox">
<div class="infobox-title">{{{title|{{PAGENAME}}}}}</div>{{#if:{{{image|}}}|
<div class="infobox-image">[[File:{{{image}}}|300px]]</div>}}
<table>{{#if:{{{param1|}}}|<tr>
<th>Parameter 1</th>
<td>{{{param1}}}</td>
</tr>}}{{#if:{{{param2|}}}|<tr>
<th>Parameter 2</th>
<td>{{{param2}}}</td>
</tr>}}{{#if:{{{param3|}}}|<tr>
<th>Parameter 3</th>
<td>{{{param3}}}</td>
</tr>}}{{#if:{{{param4|}}}|<tr>
<th>Parameter 4</th>
<td>{{{param4}}}</td>
</tr>}}{{#if:{{{param5|}}}|<tr>
<th>Parameter 5</th>
<td>{{{param5}}}</td>
</tr>}}</table>
</div>
Run Code Online (Sandbox Code Playgroud)
将"param1","param2"等替换为您对信息框实际需要的参数,例如"名称","出生日期"等.如果您需要更多参数,只需复制(使用复制粘贴)现有参数之一并对其进行修改.
然后转到MediaWiki:Common.css并添加一些样式(如果您没有编辑MediaWiki:Common.css的必要权限,则必须将此CSS作为内联样式添加到模板中的HTML):
.infobox {
background: #eee;
border: 1px solid #aaa;
float: right;
margin: 0 0 1em 1em;
padding: 1em;
width: 400px;
}
.infobox-title {
font-size: 2em;
text-align: center;
}
.infobox-image {
text-align: center;
}
.infobox th {
text-align: right;
vertical-align: top;
width: 120px;
}
.infobox td {
vertical-align: top;
}
Run Code Online (Sandbox Code Playgroud)
最后,转到需要信息框的wiki页面并复制以下wiki文本,将"Infobox"替换为您给模板的名称,将"param1","param2"等替换为您之前定义的参数:
{{Infobox
|title =
|image =
|param1 =
|param2 =
|param3 =
|param4 =
|param5 =
}}
Run Code Online (Sandbox Code Playgroud)
您可以安全地留空或删除任何不使用的参数,因为它们都是可选的.如果未提供"标题",则信息框将默认为页面名称,这通常是您想要的.
我不得不为无数客户开发类似这样的信息框,我慢慢地在复杂性和灵活性方面达到最佳解决方案.希望它可以帮到某人!
PS适用于任何高级用户:我建议使用HTML而不是wikitext来定义主表,因为这样我们可以避免与#ifs的管道发生冲突.在维基百科中,通过使用插入管道的名为{{!}}的模板来避免这种冲突,但这会导致无法读取的wiki文本.
| 归档时间: |
|
| 查看次数: |
4921 次 |
| 最近记录: |