维基百科:暗黑模式(小工具)
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 问题問題中的圖片示例。該問題使用了與此擴展相同的反轉和色相旋轉濾鏡。