1

我使用 mediawiki 来记录我遵循的过程,我在 mediawiki 中编写的源代码用扩展 Genshi Syntax HighLight 突出显示。我想在 mediawiki 中修改这个扩展,以便可以在源代码上方创建一个框,在其中编写我使用的编程语言。我试图在我的 mediawiki 中查看扩展源,但我没有找到“草图”的片段<div>。我还在 mediawiki 中看到了有关创建新扩展的材料,以了解它是如何运行的,但我不明白盒子是在哪里创建的。

我使用这样的语法 hightligher some_code

这是从 mediawiki 生成的 html 代码的结果

<div class="mw-geshi mw-code mw-content-ltr" dir="ltr">
  <div class="bash source-bash">
   <pre class="de1">
    some_code
  </pre>
 </div> 
</div>

我想把 div 放在第一个 div 前面,像这样

<div class='gsh-lang-label'>Language bash</div>
<div class="mw-geshi mw-code mw-content-ltr" dir="ltr">
  <div class="bash source-bash">
   <pre class="de1">
    some_code
  </pre>
 </div> 
</div>

你能解释一下我是否可以这样做,我该如何面对这个问题?

4

1 回答 1

0

我认为普通的jQuery会解决这个问题。就像是:

$(".mw-geshi").each(function(){
    $(this).before("<div class='gsh-lang-label'>" + 
                   $(this).children().first().attr("class").split(' ')[0] + 
                   "</div>")
})

把它放在 [[MediaWiki:Common.js]] 中,这样这个脚本就会为每个用户运行。

于 2014-07-27T05:31:30.380 回答