跳转到内容

使用笔记/杂项篇:修订间差异

添加的内容 删除的内容
第14行: 第14行:
== SVG ==
== SVG ==
{{main|mw:SVG}}
{{main|mw:SVG}}
总之SVG缩略图会出问题,不知道为什么。有的时候这和PHP禁用函数有关,有的时候和shell语言有关,有的时候和你上传的SVG有问题有关。这类问题需要具体问题具体分析去解决。
总之SVG缩略图会出问题,不知道为什么。有的时候这和PHP禁用函数有关,有的时候和shell locale有关,有的时候和你上传的SVG有问题有关。这类问题需要具体问题具体分析去解决。


== 好用的Gadget ==
== 好用的Gadget ==

2021年5月4日 (二) 17:49的版本

该页面的编辑正在进行中。 讨论

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

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

邮件发送 

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

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

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

SVG 

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

好用的Gadget

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

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

好懒我不想搬运模板怎么办

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

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

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

LuaSandbox

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

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

修改扩展程序生成的HTML结构

如果你有基础的英文能力,那么把代码当作英文去读,就能找到生成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的一些结构。

有些项目页面比如隐私政策这种怎么办

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

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

前端有什么参考手册吗

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

我能向这里补充内容吗

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

Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。