跳转到内容

模块:PJBSClass/main/doc

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是Module:PJBSClass/main的文档页面

本模块的功能:

  • 通过调用Module:PJBSClass/page间接调用Module:PJBSClass
    • 读取{{PJBS}}中的评级值
    • 自动通过命名空间来判断评级值
  • 高级自动评级
    • 通过解析页面内容判断页面是否为软重定向
    • 通过解析页面内容判断页面是否为消歧义phab:T71441
  • 判断专题横幅是继承{{PJBS}}中的评级值还是自定评级值并加入维护分类
  • 辅助{{PJBS}}中的一些与专题评级值相关的功能

用法

[编辑]

本模块主要用于读取页面中定义于{{PJBS}}或专题横幅中的评级值,或自动根据命名空间或维基代码判断评级。

模块中的主要函数

[编辑]
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的中间过程,以便除错。