“LLWiki:管理员技术手册”的版本间差异

删除172字节 、​ 2023年3月17日 (五) 13:29
// 使用Wikiplus小工具快速编辑
(// 使用Wikiplus小工具快速编辑)
标签移动版网页编辑 移动版编辑
 
(未显示2个用户的7个中间版本)
| skin || 皮肤 || 桌面版为“vector”,手机版为“minerva”,这也是区分桌面版和手机版的主要依据
|-
| wgFormattedNamespaces || 储存了所有空间本地化译名的数组,不过目前除了“模块”都是英文 || 可用
|-
| wgNamespaceIds || 储存了所有可接受的中英文空间名称对应的编号,注意英文名称中的空格都显示为下划线 || 可用
|-
| wgScript || <code>/mediawiki/index.php</code>,在LLWiki也可简化为<code>/zh</code>,主要用于不同MediaWiki站点间的代码通用,非必需且不推荐使用 || 可用
| wgCanonicalSpecialPageName || 标准化的特殊页面名,也可被wgPageName取代,主要用于不同MediaWiki站点间的代码通用,非必需 || 可用,而且多了“History”和"MobileDiff"等可能的取值<ref>[[mw:Extension:MobileFrontend/zh|移动前端的扩展说明]]</ref>
|-
| wgCategories || 当前阅读的历史版本所属的分类,不含空间,下划线显示为空格,且总是包含隐藏分类。繁简规则一般遵从实际分类页面,但似乎偶有例外 || 除非已执行[[mediawiki:gadget-MobileCategories.js|MobileCategories小工具]],否则不仅LLWiki可用。另外桌面版的空值为<code>[]</code>,手机版的空值为<code lang="js">null</code>,注意可能的bug
|-
| wgCurRevisionId || 页面最新的版本编号,不存在时值为0 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面不可用
| wgIsProbablyEditable || 是否可能可以编辑 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面不可用
|-
| wgNamespaceNumber || 空间编号 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面会显示为-1
|-
| wgPageContentModel || 页面内容模型,特殊页面为“wikitext” || 由于[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]是特殊页面,会错误地显示为“wikitext”
| '''wgRelevantPageIsProbablyEditable''' || 关联的页面是否可能可以编辑 || 可以用于[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面,此时效果与桌面版一致
|-
| wgRestrictionEdit || 编辑保护,不存在的页面(含受保护的标题)或特殊页面为<code lang="js">null</code>,存在的内容页面受全保护时为<code lang="js">["sysop"]</code>,受半保护时为<code lang="js">["autoconfirmed"]</code>,未保护为<code>[]</code>;不包含空间保护和级联保护 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面不可用,另外未保护的内容页面为<code lang="js">["*"]</code>
|-
| wgRestrictionMove || 移动保护,不存在的页面或特殊页面为<code lang="js">null</code>,存在的内容页面受全保护时为<code lang="js">["sysop"]</code>,受半保护时为<code lang="js">["autoconfirmed"]</code>,未保护为<code>[]</code>;不包含空间保护和级联保护 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面不可用
|-
| wgRevisionId || 当前显示的页面版本的编号,不存在时值为0。注意和index.php的oldid参数可能不同 || 由于[[special:移动版差异|{{int:diff}}]]页面不可同时显示历史页面,此时不可用
|-
| wgTitle || 不含空间的页面名称,下划线显示为空格 || 在[[special:历史|历史]]和[[special:移动版差异|{{int:diff}}]]页面不可用
|-
| wgUserEditCount || 当前用户的编辑次数 || 可用
|-
| local.comments || 签名时间替换为本地时区
|-
| mobile.menu || 手机版的左侧主菜单加载完成
|-
| to.bottom || 添加滚动至底部的按钮
|-
| transclusion.preview || 用于预览入页面的编辑区加载完成
|-
| wikiplus.dialog || 打开Wikiplus小工具的对话框
 
====mediawiki.Title====
彻底解决关于页面名称或文件名称的各种烦恼,包括大小写、空格/下划线、空间别名等等。通常用法为先使用<code lang="js">const title = new mw.Title(str);</code>的语法构建一个mw.Title对象。与mw.util的很多方法以及<code lang="js">new mw.Uri()</code>不同,<code lang="js">new mw.Title(str)</code>不会以当前页面作为默认参数。因为未统一大小写、空格/下划线等,请勿直接访问title.title属性,而是根据需要使用下列方法。
 
*title.getExtension(),获取文件名的扩展名。
*title.getName(),获取文件名,不含扩展名,首字母大写,空格替换为下划线。
*title.getNameText(),获取文件名,不含扩展名,首字母大写,下划线替换为空格。
*title.getNamespaceId(),获取空间,能识别一切别名。也可以直接使用title.namespace属性访问。
*title.getNamespacePrefix(),获取标准空间前缀,含<code>:</code>。
*title.toString(),获取完整页面名称,空间使用标准前缀,不含<code>#</code>,空格替换为下划线。
*title.toText(),相比title.toString()方法,下划线替换为空格。
*<code>title.getRelativeText(nsid)</code>,相比title.toText()方法,会空间编号匹配时移除空间前缀。
*title.getSubjectPage(),生成讨论页对应的主页面的mw.Title对象。
*title.getTalkPage(),生成对应的讨论页的mw.Title对象。
 
此外,mediawiki.Title还有一些静态方法用于生成mw.Title对象。
*<code>mw.Title.makeTitle(nsid, title)</code>,给定空间编号和标题生成对象。不存在的空间会报错。仅当空间为0时,会根据标题生成正确的空间。
*<code>mw.Title.newFromFileName(filename)</code>,给定文件名生成对象。
*<code>mw.Title.newFromImg(node)</code>,给定<code lang="html"><img></code>节点或对应的jQuery对象生成mw.Title对象。
*<code>mw.Title.newFromText(title, nsid)</code>,相比mw.Title.makeTitle()方法,错误的空间编号也不会报错,且当标题含空间前缀时总是覆盖第二个空间参数。
 
====mediawiki.storage====
| MultilineTextInputWidget || 相当于textarea
|-
| NumberInputWidget || 带增减按钮的输入仅限数字的文本框,由min/max/step/required设置代替validate设置
|-
| PanelLayout || 占据整个父容器的layout
 
;<code>mw.confirm(text, [flags])</code><ref name="site-lib" />
:借助OO.ui.confirm()方法生成一个确认对话框。text为确认提示;flags,可以是字符串或jQuery;flags为确认键的样式数组,可选元素包括<code lang="js">'primary'</code>、<code lang="js">'progressive'</code>和<code lang="js">'destructive'</code>,其中<code lang="js">'primary'</code>不能单独生效。返回值为一个状态为resolve的Promise对象,值为真表示确认。需要oojs-ui-windows。
 
;<code>mw.prompt(text, [flags], [config])</code><ref name="site-lib" />
:借助OO.ui.prompt()方法生成一个prompt对话框。text为文字提示;flags,可以是字符串或jQuery;flags为确认键的样式数组,可选元素包括<code lang="js">'primary'</code>、<code lang="js">'progressive'</code>和<code lang="js">'destructive'</code>,其中<code lang="js">'primary'</code>不能单独生效;config为可选的文本框设置。返回值为一个状态为resolve的Promise对象,值为<code lang="js">null</code>表示取消。需要oojs-ui-windows。
 
;<code>mw.dialog(dialog, actions, $message, [$title])</code><ref name="site-lib" />
}
</pre>
这里重点说明一下第二和第四条规则造成的影响。第二条规则使得表格的外层边框、行边框和单元格边框合并,可能造成一系列关于边框的CSS规则出现不符合预期的表现,尤其是<code>&lt;table&gt;</code>的<code>cellspacing</code>属性会无法生效。因此一般建议避免使用<code>cellspacing</code>这一HTML属性,改为使用CSS中的<code>border-spacing</code>。另外,在需要<code>border-spacing</code>或<code>border-radius</code>等样式时,请同时指定<code langclass="csshljs">border-collapse: separate;</code>以使手机版生效。
 
第四条规则的本意是在窄屏上<code>&lt;table&gt;</code>元素不会将页面撑得过宽,但这同时会造成外层的<code>&lt;table&gt;</code>和内层的<code>&lt;tbody&gt;</code>分离。特别是如果外层<code>&lt;table&gt;</code>规定了边框或背景色时,很容易看出样式的错误。为此一般需要主动指定<code langclass="csshljs">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 langclass="csshljs">overflow-x: auto;</code>限制里面的表格宽度。
====图片====
====皮肤界面====
16,874

个编辑