Mediawiki 从文本文件更新wiki消息
是否可以让我的wiki从*.txt文件中加载一行文本并将其显示在主页上的某个位置?类似“每日消息”的东西,直接来自txt文件,不涉及手动编辑wiki 我的wiki在Ubuntu Mate上运行,如下所示: 更新:根据Alexander的回答,我可以很好地解决这个问题,但缓存的性能并没有达到预期。我希望外部数据在单击浏览器刷新按钮时立即显示(因此我已将缓存时间设置为零),但这不起作用。我发现强制刷新外部文本的唯一方法是A)编辑wiki页面(强制重新加载),或B)停止/启动apache服务器 在我的Mediawiki 从文本文件更新wiki消息,mediawiki,Mediawiki,是否可以让我的wiki从*.txt文件中加载一行文本并将其显示在主页上的某个位置?类似“每日消息”的东西,直接来自txt文件,不涉及手动编辑wiki 我的wiki在Ubuntu Mate上运行,如下所示: 更新:根据Alexander的回答,我可以很好地解决这个问题,但缓存的性能并没有达到预期。我希望外部数据在单击浏览器刷新按钮时立即显示(因此我已将缓存时间设置为零),但这不起作用。我发现强制刷新外部文本的唯一方法是A)编辑wiki页面(强制重新加载),或B)停止/启动apache服务器 在我
LocalSettings.php
文件中,我有:
wfLoadExtension( 'ExternalData' );
$edgCacheExpireTime=0;
$edgFilePath['inject'] = '/home/rw/my_external_data.txt';
在我的主页wiki中,我有:
{{#get_file_data:
file=inject
|format=text
|data=inject=text
|cache seconds=0
}}{{#external_value:inject}}
您可以安装“”,然后在LocalSettings.php中定义
wfLoadExtension('ExternalData');
$edgFilePath['inject']='/path/to/your/file.txt';
$edgCacheExpireTime=10;//只有十秒钟。
并添加到您的主页:
{{#get_file_data:
file=inject
|format=text
|data=inject=text
|cache seconds=10
}}{{#external_value:inject}}
谢谢你,亚历山大。我不知道如何在ExternalData目录中运行
composer update
。该目录中有一个composer.json
文件,但我不知道如何按指定运行composer update
。如果您安装了composer,只需在终端中键入composer update
或php composer.phar update
,而在extensions/ExternalData
中键入即可。我不知道什么是composer。请参阅。好的,很好!谢谢你,亚历山大。工作起来很有魅力。当我运行composer update
时,它显示有一个2.0版可用(我在apt get install composer
之后的版本是1.10.10)。我将其保留在1.10.10版,因为您上面链接的composer wiki页面上说,“目前,MediaWiki只支持composer 1.x。”