css - 根据 mediawiki 中页面的存在应用 css

标签 css mediawiki mediawiki-templates mediawiki-extensions

我正在研究一个转录和翻译文档的过程,它结合了 Extension:Proofread PageExtension:Translate .校对页面根据页面状态(扫描上传、转录、校对等)为列表中的每个链接应用不同的背景颜色,我想将其扩展到也适用于翻译。

使用如下模板更改背景颜色非常简单:

[[page:{{{1|}}}|<span style="background-color:#48d1cc;">{{{2|}}}</span>]]

问题在于它取决于是否存在英文翻译,该翻译将存储在 {{PAGENAME}}/en。这个 #ifexist: 函数解决了这个问题:

{{#ifexist: page:{{{1|}}}/en
  | [[page:{{{1|}}}|<span style="background-color:#48d1cc;">{{{2|}}}</span>]]
  | [[page:{{{1|}}}|{{{2|}}}]]
}}

但是 #ifexist 被归类为“昂贵”的解析器函数并且每页限制为 100 个,而我有一些索引超过 700 个链接。

显然,我可以只要求在创建翻译时为每个页面手动调用我提到的第一个模板(即将 [[page: ]] 替换为 {{page| } } 在索引中一次一个链接),但我更喜欢在最初创建每个索引时可以使用的即发即弃解决方案。


还有没有

  1. 超越 mediawiki 中昂贵的解析器函数上限的方法?
  2. 在这种情况下应用条件 css 而不调用 #ifexist 的一些技巧?

或者,我猜,

  1. Extension:Proofread Page 的简单 hack 可以解决这个问题吗?

    MediaWiki:1.19.2
    Semantic MediaWiki:1.8 beta 1
    PHP: 5.3.10-1ubuntu3.6 (apache2handler)
    MySQL:5.5.29-0ubuntu0.12.04.2

最佳答案

您可以通过碰撞 $wgExpensiveParserFunctionLimit 来提高上限在 LocalSettings.php 中。

关于css - 根据 mediawiki 中页面的存在应用 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999292/

相关文章:

html - 应用圆形 CSS 边框和不透明效果时图像无法正确显示

页面内的Mediawiki链接到特定位置而不是某个部分

sorting - 语义媒体维基 : Sort values by date

php - MediaWiki 批量页面重命名

jquery - 媒体查询和元视口(viewport)都不起作用

javascript - Web应用程序中进度条的解决方案

html - 在 CSS 下拉列表 (megamenu) 中使用表单选择在 IE7 中失败——解决方法?

MediaWiki 安装上的 PHP 和 MySQL

php - MediaWiki 数据库中的访问被拒绝,甚至影响 SQL 查询