我在新的 UBUNTU 18 LTS 中安装了一个新的 Mediawiki... ''SyntaxHighlight'' 扩展 不适用于 Unix shell、
lang="sh"
、lang="shell"
、lang="bash"
,...没有人适用在职的。它不在 #Supported_languages,并且没有关于如何安装“其他标记”的线索。
在 mediawiki.org/list 没有任何线索。
那么,如何解决这个问题?是配置、环境还是语法问题?
注释。
这是一个企业Wiki,无法提供公共URL...但它是一个新鲜的、标准的和受控的安装,所有复制和标准。
维基配置了皮肤“矢量”和语言“巴西葡萄牙语”。
测试。
mediawiki.org/Extension:SyntaxHighlight的使用测试,Python 示例。
1.1。带标签
<syntaxhighlight>
。结果:没有亮点,同<pre>
。
1.2。带标签
<source>
。结果:没有突出显示,同<pre>
。PHP 示例,片段来自 wikipedia.org/PHP Syntax。
2.1。带标签
<syntaxhighlight>
。结果:没有亮点,同<pre>
。
2.2。带标签
<source>
。结果:没有突出显示,同<pre>
。测试中使用的代码片段:
def quickSort(arr):
less = []
pivotList = []
more = []
if len(arr) <= 1:
return arr
else:
pass
<title>PHP "Hello, World!" program</title>
<?php echo '<p>Hello World</p>'; ?>
MediaWiki 语法荧光笔使用了 Pygments 库,您应该首先下载并安装扩展:
要求
此版本的扩展已通过 Pygments 1.6、2.0.2 和 MediaWiki 1.25 截至 2015 年 6 月 19 日。要获得此扩展的兼容版本 对于早期版本的 MediaWiki,请访问:
https://www.mediawiki.org/wiki/Special:ExtensionDistributor/SyntaxHighlight_GeSHi
下载
https://github.com/wikimedia/mediawiki-extensions-SyntaxHighlight_GeSHi/archive/master.tar.gz
安装
将此行添加到您的 LocalSettings.php 中:
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
默认情况下,此扩展将使用 Pygments 2.0.2 的捆绑副本。如果你 想使用库的不同副本,您可以设置 $wgPygmentizePath 指向“pygmentize”二进制文件的路径。
使用方法
在 wiki 页面上,您现在可以使用“源”元素:
<source lang="php">
<?php
v = "string"; // sample initialization
?>
html text
<?php
echo v; // end of php code
?>
</source>
参数
这些参数的详细信息请参见Pygments的文档 HtmlFormatter 位于 http://pygments.org/docs/formatters/#HtmlFormatter。
注意
Pygments 在创建 HTML 元素方面非常慷慨:突出显示大块 代码可以很容易地生成足够多的代码来导致浏览器崩溃。作为守卫,语法 对于大于 100 kB 的代码片段,突出显示会关闭。
在语法突出显示扩展中使用 Pygments 引入了文档中可能不清楚的依赖项:您必须在路径中安装一个可用的 python3! Extensions/SyntaxHighlight_GeSHi 目录中有两个 Python 程序:pygmentize 和 create_pygmentize_bundle。两者都包含以下“shebang”行:
#!/usr/bin/env python3
两个文件都应该是可执行的(例如模式 755 而不是 644)。并且您应该在 wiki 代码运行的环境中的路径上安装 python3。 如果您的安装中不满足这些条件中的任何一个,结果可能正是您所描述的症状:代码块看起来像没有语法着色的预格式化文本。