LLWiki正在建设中,欢迎
加入我们
!
查看“LLWiki:管理员技术手册”的源代码
←
LLWiki:管理员技术手册
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您没有权限编辑
LLWiki
命名空间内的页面。
该页面已被保护以防止编辑和其他操作。您可以点击右侧按钮在讨论页提出编辑请求,让管理人员或其他有经验的用户代为编辑:
提出编辑请求
您可以查看和复制此页面的源代码。
{{内容缺失}}{{目录折叠}} ==全站CSS== ===优先加载的CSS=== ===滞后加载的CSS=== ===CSS小工具分类=== ==Widget(小部件)== ===小部件页面格式=== ===小部件分类=== ===小部件JS的特殊之处=== ==Gadget(小工具)和全站JS== ===ResourceLoader和JS模块=== ===不作为模块的JS脚本=== ===小工具定义=== ===小工具简介=== ===小工具分类=== ===MediaWiki核心模块介绍=== 本章节介绍LLWiki使用或曾经使用的MediaWiki核心模块,更完整的列表参见[[mw:ResourceLoader/Core_modules/zh|MediaWiki]]和[https://doc.wikimedia.org/mediawiki-core/master/js/ JSDuck]。 ====mediawiki==== mediawiki是任何页面都会预加载的两个环境模块之一,包含不少功能<ref name="core-modules">[[mw:ResourceLoader/Core_modules/zh|MW:ResourceLoader/核心模块]]</ref>。这里只介绍LLWiki常使用的一些属性和方法。 ;mw.config :这个属性提供了大量重要的站点、页面和用户信息<ref>[[mw:Manual:Interface/JavaScript/zh#mw.config|完整列表]]</ref>,一般常用mw.config.get()方法获取对应的变量值。下表整理了LLWiki常用的一些变量: {| class="wikitable" ! 变量名 !! 说明 !! 手机版可用性 |- | skin || 皮肤 || 桌面版为“vector”,手机版为“minerva”,这也是区分桌面版和手机版的主要依据 |- | wgFormattedNamespaces || 储存了所有名字空间本地化译名的数组,不过目前除了“模块”都是英文 || 可用 |- | wgScript || <code>/mediawiki/index.php</code>,在LLWiki也可简化为<code>/zh</code>,主要用于不同MediaWiki站点间的代码通用,非必需 || 可用 |- | wgAction || index.php的action参数<ref>[[mw:Manual:Parameters_to_index.php/zh|完整参数列表]]</ref> || 相比于桌面版,手机版由于添加了[[Special:历史]]而少了“history”这个变量值 |- | wgArticleId || 用于判断是否是内容页面且页面是否已建立 || 需要注意查看[[special:历史|历史]]和[[special:移动版差异|差异]]时值为0 |- | wgCanonicalSpecialPageName || 标准化的特殊页面名,也可被wgPageName取代,主要用于不同MediaWiki站点间的代码通用,非必需 || 可用,而且多了“History”和"MobileDiff"等可能的取值<ref>[[mw:Extension:MobileFrontend/zh|移动前端的扩展说明]]</ref> |- | wgCategories || 页面所属分类,且总是包含隐藏分类,但在action=edit/history/info等时为空。繁简规则一般遵从实际分类页面,但似乎偶有例外 || 在[[special:移动版差异|差异]]页面同样不可用。另外桌面版的空值为<code lang="js">[]</code>,手机版的空值为<code lang="js">null</code>,注意可能的bug |- | wgCurRevisionId || 页面最新的revision ID || 在[[special:历史|历史]]和[[special:移动版差异|差异]]页面不可用 |- | wgIsArticle || 是否是内容页面(包含由某个页面的Wikitext源代码解析生成的HTML,可能是历史页面) || 由于[[special:移动版差异|差异]]页面不同时显示历史页面,此时不可用 |- | wgIsProbablyEditable || 是否可能可以编辑 || 在[[special:历史|历史]]和[[special:移动版差异|差异]]页面不可用 |- | wgNamespaceNumber || 名字空间编号 || 可用 |- | wgPageContentModel || 页面内容模型,特殊页面为“wikitext” || 由于[[special:历史|历史]]和[[special:移动版差异|差异]]是特殊页面,会错误地显示为“wikitext” |- | wgPageName || 页面名称,空格显示为下划线 || 在[[special:历史|历史]]和[[special:移动版差异|差异]]页面不可用 |- | wgRedirectFrom || 跳转自重定向时为对应的重定向页 || 可用 |- | '''wgRelevantPageName''' || 关联的内容页面 || 可以用于[[special:历史|历史]]和[[special:移动版差异|差异]]页面,此时效果与桌面版一致 |- | wgRelevantUserName || 关联的用户名 || [[special:用户贡献|贡献]]页面不可用 |- | '''wgRelevantPageIsProbablyEditable''' || 关联的内容页面是否可能可以编辑 || 可以用于[[special:历史|历史]]和[[special:移动版差异|差异]]页面,此时效果与桌面版一致 |} ;mw.hook() ;mw.loader ;mw.notify() :调用这个方法可以在桌面版的右上角、手机版的上方显示一个[[mw:Bubble_notifications/zh|泡泡通知]]。LLWiki一般使用这个方法取代window.alert()或OO.ui.alert()。 :方法<code>mw.notify(message, options)</code>接受两个参数。第一个必需参数<code>message</code>指定通知内容,可以是字符串、HTML元素对象或元素对象数组、jQuery对象或mw.message对象;第二个可选参数<code>options</code>则指定自定义选项,是一个JS对象。 :<code>options</code>中可自定义的选项有: :*<code>autoHide</code>:布尔值,决定通知是否会自行消失。默认为<code lang="js">true</code>。 :*<code>autoHideSeconds</code>:如果启用了<code>autoHide</code>(如默认情形),则指定通知自行消失的时间。默认为<code lang="js">'short'</code>(5秒),可以指定为<code lang="js">'long'</code>(30秒)。 :*<code>tag</code>:字符串,指定通知的标签,类似于HTML的ID。如果发送多个拥有同一个tag的通知,会导致之前的通知被后来的在原位覆盖。 :*<code>title</code>:标题。如果指定,则会于内容上方加粗显示。 :*<code>type</code>:字符串,指定通知的种类。除默认效果外其他可选类型为<code lang="js">'success'</code>、<code lang="js">'warn'</code>和<code lang="js">'error'</code>。 ;mw.now() :这个方法理论上和Date.now()差不多,但实际测试表明和Date.now()的取值不同,因此请勿混合使用。非必需,基本可以完全被Date.now()替换。 ====jquery==== ====mediawiki.api==== ====mediawiki.util==== ====mediawiki.Uri==== ====mediawiki.storage==== ====mediawiki.cookie==== ====user.options==== ====jquery.makeCollapsible==== ====jquery.tablesorter==== ====jquery.textSelection==== ====jquery.client==== ====jquery.color==== ====jquery.ui==== ====jquery.tipsy==== ====jquery.chosen==== ====oojs-ui-core==== ====oojs-ui-windows==== ====mediawiki.widgets==== ===LLWiki添加的全局變量和方法=== ;window.wgULS()和window.wgUCS()<ref name="site-lib">需要加載[[mediawiki:gadget-site-lib.js|site-lib.js]]</ref> ;mw.gadgets ;mw.request ;mw.widget ;mw.windowManager ;mw.standardQuery()<ref name="site-lib" /> ;mw.apiFailure()<ref name="site-lib" /> ;mw.safeEdit()<ref name="site-lib" /> ;mw.resizeLyrics()<ref>需要加載[[Widget:Lyrics]]</ref> ===ESLint=== CodeEditor使用ESLint标注可能存在的语法问题。LLWiki并未在后台预先规定太多规则,目前比较常用的仅是在<code lang="js>"use strict";</code>的基础上添加<code lang="js">/*global mw, $, OO, wgULS*/</code>或类似语句注明全局变量。特别要注意ESLint并不会对大多数JS模块不允许使用的ES6语法(async/await语法是已知的唯一例外)作出警告(详见[[#ResourceLoader和JS模块]]),因此请勿过度依赖这一功能来进行除错。 ===注意事项=== ==手机版== ===手机版解析器=== ====图片懒加载==== ===手机版CSS=== 手机版LLWiki使用Minerva Neue皮肤,与桌面版的Vector皮肤相比,不仅界面有很大差异,众多基础HTML元素也都添加了不同的CSS样式。为了适配窄屏设备,Minerva皮肤还添加了大量基于<code lang="css">@media</code>的规则,一般以设备宽度720px为分界使用不同的样式。以下着重介绍<code><table></code>和<code><img></code>这两种需要CSS修正的重灾区。 手机版CSS很多时候依赖外层容器的<code>content</code>类来生效,与此同时<code lang="css">#mw-content-text .mw-parser-output</code>的外层结构也同样有效,设计各种基于API的快速编辑工具(如Wikiplus等)的预览界面时需要考虑。 ====表格==== 对于<code><table></code>元素及其子节点,手机版已知会自动添加以下样式: <pre lang="css"> table, caption, tbody, tfoot, thead, tr, th, td { font-size: 100%; } table { border-collapse: collapse; } .content table { margin: 1em 0; overflow: auto; overflow-y: hidden; overflow-x: auto; } @media only screen and (max-width: 720px) { .content table { display: block; width: 100% !important; } } </pre> 这里重点说明一下第二和第四条规则造成的影响。第二条规则使得表格的外层边框、行边框和单元格边框合并,可能造成一系列关于边框的CSS规则出现不符合预期的表现,尤其是<code><table></code>的<code>cellspacing</code>属性会无法生效。因此一般建议避免使用<code>cellspacing</code>这一HTML属性,改为使用CSS中的<code>border-spacing</code>。另外,在需要<code>border-spacing</code>或<code>border-radius</code>等样式时,请同时指定<code lang="css">border-collapse: separate;</code>以使手机版生效。 第四条规则的本意是在窄屏上<code><table></code>元素不会将页面撑得过宽,但这同时会造成外层的<code><table></code>和内层的<code><tbody></code>分离。特别是如果外层<code><table></code>规定了边框或背景色时,很容易看出样式的错误。为此一般需要主动指定<code lang="css">display: table;</code>以修复这一问题,LLWiki有很多预定义的表格CSS类也都添加了这一规则<ref name="site-styles">[[mediawiki:gadget-site-styles.css|全站CSS]]</ref>。但这样修改的话又会重新面临过宽的表格将整个页面撑大的问题。LLWiki现定义了<code>table-wrapper</code>类<ref name="site-styles" />,用于套在宽表格外:<code lang="html"><nowiki><div class="table-wrapper"></nowiki></code>,这个外层容器会在窄屏上通过<code lang="css">overflow-x: auto;</code>限制里面的表格宽度。 ====图片==== ====皮肤界面==== ====其他==== ===手机版JS=== ====手机版JS模块==== ==繁简转换== ===Wikitext繁简转换=== ====转换表==== ====[[Template:NoteTA]]==== ====基本手工转换语法==== ===系统消息=== ===CSS繁简转换=== ===JS繁简转换=== ==滥用过滤器== ==测试账户== 如果管理员需要一个没有[[project:自动确认用户|自确]]权限的测试账户用于滥用过滤器测试、小工具测试等,可以临时启用[[special:abusefilter/6|6号滥用过滤器]]来移除某个测试账户的自确权限。这个滥用过滤器的使用语法非常简单,请根据样例修改为对应的用户名即可,这里不再赘述。 ==参考资料== [[Category:LLWiki指引]]
本页使用的模板:
Template:Ac
(
查看源代码
)
Template:ArticleCategory
(
查看源代码
)(受保护)
Template:Color
(
查看源代码
)(受保护)
Template:Info
(
查看源代码
)
Template:Membermapping
(
查看源代码
)(受保护)
Template:Membermapping/core
(
查看源代码
)
Template:Nico/color
(
查看源代码
)(受保护)
Template:Plainlinks
(
查看源代码
)
Template:內容缺失
(
查看源代码
)
Template:目錄摺疊
(
查看源代码
)(受保护)
返回
LLWiki:管理员技术手册
。
导航菜单
个人工具
创建账号
登录
命名空间
项目页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
随机页面
最近更改
沙盒
互助客栈
方针与指引
帮助
工具
链入页面
相关更改
特殊页面
页面信息