模块:PJBSClass/main/doc
< Module:PJBSClass | main
这是Module:PJBSClass/main的文档页面
此页面是Module:PJBSClass/main的模块文档。 此页面可能包含了模板的使用说明、分类和其他内容。 |
本模块的功能:
- 通过调用Module:PJBSClass/page间接调用Module:PJBSClass
- 读取{{PJBS}}中的评级值
- 自动通过命名空间盼判断评级值
- 高级自动评级
- 通过解析页面内容判断页面是否为软重定向
- 通过解析页面内容判断页面是否为消歧义
- 判断专题横幅是继承{{PJBS}}中的评级值还是自定评级值并加入维护分类
- 辅助{{PJBS}}中的一些与专题评级值相关的功能
用法
本模块主要用于读取页面中定义于{{PJBS}}或专题横幅中的评级值,或自动根据命名空间或维基代码判断评级。
判断种类 | 判断依据 | 对应的评级 |
---|---|---|
典范条目 | 典范条目模板(如{{Featured article}}) | 典范 |
优良条目 | 优良条目模板(如{{Good article}}) | 优良 |
特色列表 | 特色列表模板(如{{Featured list}}) | 特色列表 |
特色图片 | 特色图片模板(如{{Featured picture}}) | 特色图片 |
重定向 | 页面物件的isRedirect 栏位。
| 重定向 |
软重定向 | 软重定向模板(如{{软重定向}}) | 重定向 |
沙盒 | 沙盒模板(如{{Sandbox}}) | 沙盒 |
消歧义 | 消歧义模板(如{{消歧义}}) 以及相关魔术字(如 __DISAMBIG__ )
| 消歧义 |
列表 | 名称以“列表”结尾的页面 | 列表 |
同类索引 | 同类索引模板(如{{同类索引}}) | 同类索引 |
小作品 | 条目的字节数是否小于2000 (2000~3000间的过渡数值不自动评) | 小作品 |
命名空间 | 前缀 | 对应的评级 |
---|---|---|
模板 | Template: | 模板 |
模块 | Module: | 模块 |
分类 | Category: | 分类 |
文件 | File: | 文件 |
草稿 | Draft: | 草稿 |
主题 | Portal: | 主题 |
专题 | PJ: | 专题 |
用户 | User: | 用户 |
说明 | Help: | 使用说明 |
MediaWiki | MediaWiki: | 界面 |
字幕 | TimedText: | 非条目 |
媒体 | Media: | 非条目 |
特殊 | Special: | 非条目 |
模块中的主要函数
- getClass
-
- 模块调用:
p.getClass(class_name)
- 模板调用:
{{#invoke:PJBSClass/main|getClass| class_name | auto=yes/no | inheritance=yes/no | demo=yes/no }}
- 模块调用:
- 间接调用Module:PJBSClass#getClassByPage。
- 取得所在页面的评级,可以输入一个评级值(class_name)作为覆盖与否的判断依据。auto为是否要以自动判断的评级为优先;inheritance为是否要以继承值为优先;demo为是否为模板演示。
- getClassAuto
-
- 模块调用:
p.getClassAuto(page_name, class_default, demo)
- 模板调用:
{{#invoke:PJBSClass/main|getClassAuto| class_name | class=class_default | demo=yes/no }}
- 模块调用:
- 间接调用Module:PJBSClass#getAutoClass,并额外加入了从维基代码判断评级的功能,见维基代码可判断的评级值。
- 自动判断名为“page_name”页面的评级,若“page_name”未输入则判断所在页面的评级。若无法判断则回传“class_default”。
- class_json
-
- 模块调用:
p.class_json()
- 模板调用:
{{#invoke:PJBSClass/main|class_json}}
- 模块调用:
- 提供Module:PJBSClass#{{Module:PJBSClass/page}}转换Lua到JSON的函数。此函数没有参数,仅回传所在条目
mw.loadData("Module:PJBSClass/page")
的JSON结果。模板调用应使用{{Module:PJBSClass/page|json=yes}}
。
- getPageType
- 判断该级别的分类页面种类。
模块中的元函数
- _getClass
-
- 模块调用:
p._getClass(class_name, auto, inheritance, demo)
- 模板调用:
{{#invoke:PJBSClass/main|_getClass| class_name | auto=yes/no | inheritance=yes/no | demo=yes/no }}
- 模块调用:
- 同#getClass。
- _getProjects
-
- 模块调用:
p._getProjects(html)
- 模板调用:(无法使用)
- 模块调用:
- 解析“html”中的评级模板,列出当中的所有专题名称。
专题横幅内部函数
- subjectPageTitle
-
- 模块调用:
p.subjectPageTitle(page_name)
- 模板调用:
{{#invoke:PJBSClass/main|subjectPageTitle| page_name }}
- 模块调用:
- 无论名为“page_name”页面是否是讨论页都会回传其所对应之主要页面的名称。如果“page_name”不是讨论页,则回传原页面名称。如果“page_name”未输入则输出所在页面(无论是否是讨论页)所对应之主要页面的名称。如果所在页面不是讨论页,则回传所在页面名称。
- listProjects
-
- 模块调用:
p.listProjects(html, code, comma, max_num)
- 模板调用:
{{#invoke:PJBSClass/main|listProjects| html | code=code | comma=comma | tail=tail | max_num=max_num }}
- 模块调用:
- 列举“html”中所有专题横幅的专题,主要由{{PJBS}}调用。“code”为输出的格式,
$1
代表专题名称、$2
代表分隔符号。“comma”为分隔符号。“tail”为自动加在尾端的文字,默认为專題
。“max_num”为最大列举数量。
- checkClassInput
- 检查是否评级继承与否
- wrongClass
- 检查是否误将横幅与评级输入在一起
- hasCustomClassName
- 检查专题横幅有无自定义评级级别
- customClassName
- 处理专题横幅的自定义评级级别
- processNotice
- 将输入到{{PJBS}}的专题横幅处理成符合{{PJBS}}的样式,并移除专题横幅内自带的提示模板,{{PJBS}}会使用#getNotice将之统一加入。同时解析内容添加适当的维护分类。
- getNotice
- 解析输入到{{PJBS}}的专题横幅有无横幅内自带的提示模板,移除重复的提示模板后,加以显示。
判断页面属性函数
- is_softredirect
- 判断页面是否为软重定向。
- is_disambiguation
- 判断页面是否为消歧义页。
- is_sandbox
- 判断页面是否为沙盒。
可供其他模块调用的私有函数
- _re_softredirect_template
- 匹配软重定向模板的正则函数。
- _re_disambiguation_title
- 匹配消歧义标题的正则函数。
- _re_disambiguation_template
- 匹配消歧义模板的正则函数。
- _re_sandbox_template
- 匹配沙盒模板的正则函数。
- _remove_wikiproject_flag
- 用于避免消歧义判断模板循环的跳脱函数,会破坏输入的内容、移除魔术字,仅保留模板,以供展看测试有无消歧义魔术字。
除错用函数
- _checker
- 检查函数是否会出错的函数。如无出错,将页面加入分类:可以正常读取评级的条目;如出错,将页面加入分类:无法正常读取评级的条目。
- check_disambig_process
- 列出#is_disambiguation的中间过程,以便除错。