本页使用了标题或全文手工转换

使用笔记/杂项篇

From 存档计划
该页面的编辑正在进行中。

请帮助我们扩充或改进这篇文章。

这篇介绍一些没有具体主题的小点。

邮件发送 [edit | edit source]

如果你没有一个正经的付过费的域名和企业邮箱,那么事情会变得异常麻烦。你要自己搭建邮件服务器,如果是免费域名和其他特定域名还得遭受被拒收的痛苦。自己搭建的邮件服务器也会出现被他人不当利用的问题,实在是很难办。

因此,还是建议你去搞一个企业邮箱和一个正经域名,然后按照手册填写参数。

如果你没有企业邮箱,那么其实解决方案也很简单(但不靠谱)——用你的个人邮箱。像你登录你自己邮箱的时候要填写的参数一样,把这些参数填上,然后邮件就会神奇地通过你的邮箱发送出去——前提是你在账户设置里面“允许本次异地登录”。除了你的个人邮箱会被不当利用的风险以外,好像也没啥。比如我站被100多位垃圾用户注册

SVG [edit | edit source]

总之SVG缩略图会出问题,不知道为什么。有的时候这和PHP禁用函数有关,有的时候和shell locale有关,有的时候和你上传的SVG有问题有关。这类问题需要具体问题具体分析去解决。

PHP禁用函数请自行查阅相关的文档,比如面板的话可能会提供相关选项,而最终禁用函数设置都会在php.ini里面。

Shell的语言与各大发行版有关,也请自行查阅如何配置Locale和生成Locale。

有的svg文件可能不符合规范,导致计算出来的缩略图与原图不符。这种情况只能怪svg自己。

好用的Gadget[edit | edit source]

从各大wiki上搬。维基百科有很多。我站的Special:Gadgets也可以看着搬。

Gadget有时会依赖其他Gadget。有的Gadget的dependencies里面会指定类似于ext.gadget.<小工具名>的,这个时候要注意搬运完全。

好懒我不想搬运模板怎么办[edit | edit source]

首先wiki不能懒,不然不会有长进。

然后呢,这里有一个$wgEnableScaryTranscluding。这是干什么的呢?没错,只要你的Interwiki设置的iw_trans有设置,那么就可以通过跨wiki链接的方式调用页面了!

听上去好棒哦。但是首先并不是能调用模板这么简单,其次你的服务器会爆炸(高开销)。所以别想着偷懒啦。

LuaSandbox[edit | edit source]

LuaSandbox是一个PHP扩展程序。简单来说,模块引擎切换到它会变快。

如果你使用的是宝塔面板,那么很遗憾宝塔面板的PHP不支持自动安装这个扩展程序。你需要查阅官网的资料手动编译然后安装到宝塔安装的PHP的对应目录里面去,然后再启用。如果不是面板的话按照文档来即可。

修改扩展程序生成的HTML结构[edit | edit source]

如果你有基础的英文能力,那么把代码当作英文去读,就能找到生成HTML的地方。

比如扩展管理员链接,自带的页面Special:AdminLinks实在是太丑了,我就想着写一个CSSJS对其做一个彻底改造!

但是原本生成的页面一个class都没有写什么CSS啊……(直接按次序选择元素是不好的。)

所以我就想着,我让这个扩展生成的元素带上class,不就好做了!于是我就去几个php文件里面找了找,发现生成HTML的地方还算良心,有好几处是简单的字符串拼接。我就直接拼上去了class。

但是有一个class有点难啃,用了一个MediaWiki自带的申必玩意儿。我就这么改了。

/**
  * Helper function for backward compatibility.
  *
  * @param LinkTarget|Title $title
  * @param string|null $msg Must be HTML escaped already
  * @param array $attrs
  * @param array $params Query parameters
  * @return string
  */
public static function makeLink( $title, $msg = null, $attrs = array(), $params = array() ) {
	$linkRenderer = MediaWikiServices::getInstance()->getLinkRenderer();
	if ( $msg !== null ) {
		$html = new HtmlArmor( $msg );
	} else {
		// null
		$html = $msg;
	}
	$attrs['class'] = 'adminlinks adminlinks-' . $title;
	return $linkRenderer->makeKnownLink( $title, $html, $attrs, $params );
}

事情瞬间好了起来,我写了一些CSS和JS之后,这个特殊页面就能和Fandom的管理员控制面板相媲美了,真棒!

我修改的也包括SimpleBlogPage的一些结构。

有些项目页面比如隐私政策这种怎么办[edit | edit source]

抄。反正你自己大概是不会写了。

抄也要注意wiki实际,不要抄的和实际wiki情况不符。

前端有什么参考手册吗[edit | edit source]

有,MDN Web Docs(简称MDN,全称为Mozilla开发者网络)。点击这里查看MDN学习区

统计数据不更新怎么办[edit | edit source]

编写定时任务,让合适的系统用户执行php /path/to/mediawiki/maintenance/updateSpecialPages.php/path/to/mediawiki/请换成实际的路径。

此方法一般只用于大型wiki农场,因为这类网站的缓存周期与系统默认不同。但是如果遇到了这种bug,这么做也没问题。

格式指导怎么写[edit | edit source]

相当一部分可以抄。

具体来说,标点符号用法、书面汉语指导,以及一些基础的模板排布都可以借鉴着写。

格式指导要与你wiki的实际内容相适应。如果不太清楚怎么写的话,也许你应该先扩充内容。

我能向这里补充内容吗[edit | edit source]

当然可以。不过如果自己不太确定的话,可以在讨论页说明。