【问题标题】:Messed up source code in mediawiki template sourcemediawiki 模板源中的源代码混乱
【发布时间】:2012-05-31 19:26:38
【问题描述】:

刚开始使用媒体维基,但我遇到了一个奇怪的问题。

我想复制一个简单的模板“Template:Note”所以我访问:

Mediawiki template link

它向我的浏览器显示的模板代码是:

{{#if: {{{1|}}}|<div class="block-note"><span class="block-contents">|
    [[File:Bulbgraph.png|18px|Note|link=]]}} '''Note:''' {{#if: {{{1|}}}|{{{1}}}</span></div>}}

不,我没有复制粘贴错误,这就是它显示的内容。语法错误..|在错误的地方,一般语法不正确。当然,如果我复制粘贴它不起作用,我必须手动更正语法。

如果我尝试从特殊页面导出它会发生这种情况。

为什么会这样?

【问题讨论】:

  • 我认为该代码没有任何问题,我认为它是正确的。
  • 不,不是,看看遍布各处的管道字符。如果你看看 Winter 的关于 if 指令的文档,你会看到
  • 管道没有问题。每个#if 有两个管道(分隔条件,是路径和无路径),一个管道用于条件中的每个参数引用(以确保在没有给出参数时条件评估为空字符串)。
  • #if 的文档说:{{#if | bool || evaluate &amp; return if true || evaluate &amp; return if false }}。为什么我有:如果之后。第一个管道应该在 {{{1}}} 之后,然后在 true 和 false 条件之后使用双管道。我想念什么?
  • @e4rthdog,但您发布的代码不是使用 Winter,而是使用 ParserFunctions。据我所知,维基媒体 wiki 不使用 Winter。

标签: mediawiki mediawiki-templates


【解决方案1】:

【讨论】:

  • 我刚刚检查了一下,它似乎是 1.19 的标准。问题是,如果我使用上面的代码仍然不起作用......
  • 经过大量徒劳的实验并将我的头撞在墙上后,我发现了这个线程。而且,我几乎忽略了这个建议,因为评论说它是“标准的”。所以,我正在插话以确认这是正确的答案。 ParserFunctions 包含在存档中,但默认情况下未启用。根据文档,您仍然需要启用它。而且,您需要添加正确的 CSS(我现在正试图弄清楚如何做)。
  • “标准”表示它包含在 tarball 中,您仍然必须启用它(安装程序会为您提供这样做)。一些特定于发行版的包可能根本不包含 ParserFunctions。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2012-03-06
  • 1970-01-01
  • 2011-03-23
  • 2012-08-14
  • 1970-01-01
相关资源
最近更新 更多