我们有一个公司内部 wiki。使用的 wiki 引擎是维基百科,运行维基百科的 wiki 引擎。其中一些包含 IT 内容。
我想要的东西之一是指向各种虚拟机的超链接。需要运行的命令示例如下:
vmrc://solo.avatopia.com:5901/Windows 2000 Server
我的第一个想法是将 URL 转换为链接:
[vmrc://solo.avatopia.com:5901/Windows 2000 Server]
但内容的呈现方式与上述完全相同:带有方括号和所有内容。使用其他 URL 协议进行测试:
[http://solo.avatopia.com]
[ftp://solo.avatopia.com]
[ldap://solo.avatopia.com]
[vmrc://solo.avatopia.com]
只有前两个有效,并转换为超链接。其他两个仍为文字。如何将 URL 添加到 MediaWiki 支持的文档中?
原始问题
我们有一个公司内部 wiki。使用的 wiki 引擎是维基百科,运行维基百科的 wiki 引擎。其中一些包含 IT 内容。
我想要的东西之一是指向各种虚拟机的超链接。需要运行的命令示例如下:
\\solo\VMRC Client\vmrc.exe solo.avatopia.com:5901/Windows 2000 Server
如果从命令提示符启动,则必须引用空格:
C:\>"\\solo\VMRC Client\vmrc.exe" solo.avatopia.com:5901/"Windows 2000 Server"
在将上述内容转换为在我们的 wiki 站点上使用时,我的第一个想法是简单地将其 HTML 化:
file://\\solo\VMRC Client\vmrc.exe solo.avatopia.com:5901/"Windows 2000 Server"
但 MediaWiki 只转换文件://\solo\VMRC到超链接,其余部分为文本。
我还尝试了其他随机的方法,包括将 URL 括在方括号中。
正确答案是什么?我不想碰巧偶然发现一些格式发生今天上班,将来休息。
答案1
当协议(http、ftp、gopher 等)被方括号 ([]) 括起来时,它们将变成链接,这些协议在 LocalSettings.php 文件中的 $wgUrlProtocols 数组中定义。以下是允许的默认协议。
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:'
);
要解决您的问题,请将 vmrc 添加为协议。在 LocalSettings.php 文件中添加/替换以下内容:
$wgUrlProtocols = array(
'http://',
'https://',
'ftp://',
'irc://',
'gopher://',
'telnet://', // Well if we're going to support the above.. -ævar
'nntp://', // @bug 3808 RFC 1738
'worldwind://',
'mailto:',
'news:',
'vmrc://',
);
现在,您可以使用方括号语法创建链接:(URL 在前面,与链接文本之间用一个空格隔开。URL 中不允许有空格。)[vmrc://solo.avatopia.com:5901 Windows 2000 Server]
答案2
我使用 pmwiki,他们有一个命令,这样当你用 [@ @] 封装文本时,它会被打印为引用,而不是更改为 wiki 代码 - 这对 MediaWiki 有用吗?
答案3
URL 用于指向资源而不是要运行的命令。
您可以链接到批处理脚本(如上所述),或者您可以显示文本monospace, code form
并让用户复制和粘贴。
答案4
在 mediawiki 中添加 url 的示例
[http://www.example.com/ Example Site] --> Output will be 'Example Site'
http://www.example.com --> output will be 'http://www.example.com'