mediawiki - 你如何在mediawiki中制作 "infoboxes"?

标签 mediawiki sidebar

我正在使用 Mediawiki 制作 wiki。我在其他 wiki 上看到过每个页面的右侧栏。
像这样:http://minecraft.gamepedia.com/Diamond_Ore

右侧栏包含有关 wiki 帖子解释的内容或其他内容的信息。

我想知道是否可以在每个页面上制作它,以及如何制作?

我制作了一个示例页面:[链接已删除]

那是我的维基,我想知道如何向页面添加侧边栏。

最佳答案

要制作简单而优雅且灵活的信息框,请首先检查 ParserFunctions extension已安装。然后使用以下 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>
将“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;
}
最后,转到需要信息框的 wiki 页面并复制以下 wikitext,将“Infobox”替换为您为模板提供的名称,并将“param1”、“param2”等替换为您提供的名称你的参数:
{{Infobox
|title = 
|image = 
|param1 = 
|param2 = 
|param3 = 
|param4 = 
|param5 = 
}}
您可以放心地将任何参数留空或删除您不使用的任何参数,因为它们都是可选的。如果未提供“标题”,信息框将默认为页面名称,这通常是您想要的。
我不得不为无数客户开发这样的信息框,我慢慢地找到了这个解决方案,因为它在复杂性和灵活性方面是最佳的。希望它可以帮助某人!
PS 对于任何高级用户:我建议使用 HTML 而不是 wikitext 来定义主表,因为这样我们可以避免与 #ifs 的管道冲突。在维基百科中,通过使用名为 {{!}} 的模板插入管道来避免这种冲突,但这会导致维基文本不可读。

关于mediawiki - 你如何在mediawiki中制作 "infoboxes"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27801082/

相关文章:

css - 侧边栏在个别帖子中推送到内容下方(WordPress)

javascript - 仅使用 CSS 的 wordpress 博客的粘性侧边栏?

mysql - 复制和粘贴文章/命名空间

javascript - 使用 Bootstrap、Scrollspy 和 Collapse 的嵌套折叠侧边栏导航?

javascript - 如何在Vista Sidebar 中绘制程序图形?

维基媒体 : formatting a code

python-sphinx - 如何使toctree链接像引用小节一样引用单独的文件

c# - 用于 Mediawiki 标记的开源解析器代码

recommendation-engine - 学习mediawiki的最佳资源?

export - 如何从 MediaWiki 的所有页面导出文本?