维基百科:暗黑模式(小工具)
WikimediaUI 暗黑模式是一个用于在现代浏览器中启用暗黑模式的小工具,基于维基媒体设计团队成员 Volker E. 和 Alex Hollender 的实验性工作,并得到志愿者 MusikAnimal 及其他人支持。
要启用此功能,请前往小工具偏好设定,并启用小工具“暗黑模式切换:启用一个切换按钮以使用浅色文字和深色背景的配色方案”。
现在,您应该可以在页面顶部看到一个“暗黑模式”切换开关。如果您希望根据系统的配色方案自动启用/禁用暗黑模式,请将以下内容添加至您的common.js页面:
window.wpDarkModeAutoToggle = true;
任何现代浏览器都能正常运作,唯一的例外是 Opera Mini,因为它不支援过滤器。
在您的 wiki 上设置小工具
编辑这段 CSS 是针对 维基百科所编写的(参见phab:T221425 ),因此在其他 wiki 上的体验可能不是最优化的
要在您的 wiki 上设置这个小工具,请请求介面管理员执行以下操作:
- 建立页面:MediaWiki:Gadget-dark-mode.css 、 MediaWiki:Gadget-dark-mode-toggle-pagestyles.css和MediaWiki:Gadget-dark-mode-toggle.js 。 方法是将英文 Wikipedia 的版本复制过来,并根据需要调整本地化字串。
- 虽然 CSS 页面需要复制,以避免因载入速度慢而产生 FOUC(无样式内容显示),但对于 JS 页面,您可以选择动态加载 enwiki 版本:
mw.messages.set( { // Set localised messages } ); mw.loader.load( 'https://en.wikipedia.org/w/load.php?modules=ext.gadget.dark-mode-toggle&only=scripts' );
- 在 CSS 文件中的 content: 部分,将“Dark mode”和“Light mode”替换为本地化的标签。
- 虽然 CSS 页面需要复制,以避免因载入速度慢而产生 FOUC(无样式内容显示),但对于 JS 页面,您可以选择动态加载 enwiki 版本:
- 添加以下内容到 MediaWiki:Gadgets-definition :
* dark-mode-toggle [ResourceLoader | targets = desktop, mobile | dependencies = mediawiki.util, mediawiki.api, mediawiki.Uri, mediawiki.storage | peers = dark-mode-toggle-pagestyles] | dark-mode-toggle.js * dark-mode-toggle-pagestyles [hidden|targets=desktop,mobile | skins=vector,vector-2022,minerva,monobook] | dark-mode-toggle-pagestyles.css
- 将以下内容添加到MediaWiki:Gadgets-definition的底部。这是一个内部小工具,由于技术原因,无法标记为隐藏。
- 建立小工具描述页面 MediaWiki:Gadget-dark-mode-toggle(主要的“暗黑模式”小工具)和 MediaWiki:Gadget-dark-mode(这是内部小工具 – 请确保描述方式让使用者不要启用此小工具)。
限制
编辑由于实现暗黑模式的方式,小工具有几个限制。已知问题包括:
• 可能会较慢,特别是在较大的页面上
• 图片颜色会变化
• 原生表情符号会被反转
• 只有文字的 SVG 图像(具有透明背景)可能无法阅读(因为它们被当作图片处理,因此不会启用暗黑模式)
• 图片标题中的颜色图例,可能无法与地图和/或图表中的颜色匹配。
大多数问题是由于小工具的实现方式造成的。它首先反转并改变整个页面的颜色,然后再试图“撤销”不需要反转的区域,例如图片。这种方法的好处是,它能够处理整个网站的暗黑模式,而无需为 Wikipedia/MediaWiki 中具有自定义样式的每个角落编写数百行代码。缺点则是上述问题。
关于反转“暗黑模式”和双重反转“撤销”的效果,请参阅这个此StackOverflow 问题问题中的图片示例。该问题使用了与此扩展相同的反转和色相旋转滤镜。