<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3APJBSClass%2Fmain%2Fdoc</id>
	<title>Module:PJBSClass/main/doc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Module%3APJBSClass%2Fmain%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:PJBSClass/main/doc&amp;action=history"/>
	<updated>2026-06-29T06:22:49Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Module:PJBSClass/main/doc&amp;diff=4365220&amp;oldid=prev</id>
		<title>imported&gt;A2569875：​/* top */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Module:PJBSClass/main/doc&amp;diff=4365220&amp;oldid=prev"/>
		<updated>2025-07-10T23:26:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;top&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA/MediaWiki}}&lt;br /&gt;
{{Documentation subpage}}&amp;lt;!-- 在本行下編輯模組說明 --&amp;gt;&lt;br /&gt;
本模組的功能：&lt;br /&gt;
*透過調用[[Module:PJBSClass/page]]間接調用[[Module:PJBSClass]]&lt;br /&gt;
**讀取{{tl|PJBS}}中的評級值&lt;br /&gt;
**自動透過命名空間來判斷評級值&lt;br /&gt;
*進階自動評級&lt;br /&gt;
**透過解析頁面內容判斷頁面是否為軟重定向&lt;br /&gt;
**&amp;lt;s&amp;gt;透過解析頁面內容判斷頁面是否為消歧義&amp;lt;/s&amp;gt;（[[phab:T71441]]）&lt;br /&gt;
*判斷專題橫幅是繼承{{tl|PJBS}}中的評級值還是自定評級值並加入維護分類&lt;br /&gt;
*輔助{{tl|PJBS}}中的一些與專題評級值相關的功能&lt;br /&gt;
&lt;br /&gt;
== 用法 ==&lt;br /&gt;
本模組主要用於讀取頁面中定義於{{tl|PJBS}}或專題橫幅中的評級值，或自動根據命名空間或維基代碼判斷評級。&lt;br /&gt;
{{Wikipedia:页面评级/自动评级}}&lt;br /&gt;
&lt;br /&gt;
=== 模組中的主要函數 ===&lt;br /&gt;
;{{vanchor|getClass}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p.getClass(class_name)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|getClass| class_name | auto=yes/no | inheritance=yes/no | demo=yes/no }}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:間接調用[[Module:PJBSClass#getClassByPage]]。&lt;br /&gt;
:取得所在頁面的評級，可以輸入一個評級值（class_name）作為覆蓋與否的判斷依據。auto為是否要以自動判斷的評級為優先；inheritance為是否要以繼承值為優先；demo為是否為模板演示。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|getClassAuto}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p.getClassAuto(page_name, class_default, demo)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|getClassAuto| class_name | class=class_default | demo=yes/no }}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:間接調用[[Module:PJBSClass#getAutoClass]]，並額外加入了從維基代碼判斷評級的功能，見[[#維基代碼可判斷的評級值|維基代碼可判斷的評級值]]。&lt;br /&gt;
:自動判斷名為「page_name」頁面的評級，若「page_name」未輸入則判斷所在頁面的評級。若無法判斷則回傳「class_default」。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|class_json}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p.class_json()&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|class_json}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:提供[[Module:PJBSClass#&amp;amp;#123;&amp;amp;#123;Module:PJBSClass/page&amp;amp;#125;&amp;amp;#125;]]轉換Lua到[[JSON]]的函數。此函數沒有參數，僅回傳所在條目&amp;lt;code&amp;gt;[[mw:Extension:Scribunto/Lua_reference_manual#mw.loadData|mw.loadData]](&amp;quot;[[Module:PJBSClass/page]]&amp;quot;)&amp;lt;/code&amp;gt;的[[JSON]]結果。模板調用應使用&amp;lt;code&amp;gt;{{((}}[[Module:PJBSClass/page]]{{!}}json{{=}}yes{{))}}&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|getPageType}}&lt;br /&gt;
:判斷該級別的分類頁面種類。&lt;br /&gt;
&lt;br /&gt;
=== 模組中的元函數 ===&lt;br /&gt;
;{{vanchor|_getClass}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p._getClass(class_name, auto, inheritance, demo)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|_getClass| class_name | auto=yes/no | inheritance=yes/no | demo=yes/no }}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:同[[#getClass]]。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|_getProjects}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p._getProjects(html)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：（無法使用）&lt;br /&gt;
:解析「html」中的評級模板，列出當中的所有專題名稱。&lt;br /&gt;
&lt;br /&gt;
=== 專題橫幅內部函數 ===&lt;br /&gt;
;{{vanchor|subjectPageTitle}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p.subjectPageTitle(page_name)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|subjectPageTitle| page_name }}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:無論名為「page_name」頁面是否是討論頁都會回傳其所對應之主要頁面的名稱。如果「page_name」不是討論頁，則回傳原頁面名稱。如果「page_name」未輸入則輸出所在頁面（無論是否是討論頁）所對應之主要頁面的名稱。如果所在頁面不是討論頁，則回傳所在頁面名稱。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|listProjects}}&lt;br /&gt;
::模組調用：&amp;lt;syntaxhighlight lang=lua inline&amp;gt;p.listProjects(html, code, comma, max_num)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::模板調用：&amp;lt;syntaxhighlight lang=wikitext inline&amp;gt;{{#invoke:PJBSClass/main|listProjects| html | code=code | comma=comma | tail=tail | max_num=max_num }}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:列舉「html」中所有專題橫幅的專題，主要由{{tl|PJBS}}調用。「code」為輸出的格式，&amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt;代表專題名稱、&amp;lt;code&amp;gt;$2&amp;lt;/code&amp;gt;代表分隔符號。「comma」為分隔符號。「tail」為自動加在尾端的文字，預設為&amp;lt;code&amp;gt;專題&amp;lt;/code&amp;gt;。「max_num」為最大列舉數量。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|checkClassInput}}&lt;br /&gt;
:檢查是否評級繼承與否&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|wrongClass}}&lt;br /&gt;
:檢查是否誤將橫幅與評級輸入在一起&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|hasCustomClassName}}&lt;br /&gt;
:檢查專題橫幅有無自訂評級級別&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|customClassName}}&lt;br /&gt;
:處理專題橫幅的自訂評級級別&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|processNotice}}&lt;br /&gt;
:將輸入到{{tl|PJBS}}的專題橫幅處理成符合{{tl|PJBS}}的樣式，並移除專題橫幅內自帶的提示模板，{{tl|PJBS}}會使用[[#getNotice]]將之統一加入。同時解析內容添加適當的維護分類。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|getNotice}}&lt;br /&gt;
:解析輸入到{{tl|PJBS}}的專題橫幅有無橫幅內自帶的提示模板，移除重複的提示模板後，加以顯示。&lt;br /&gt;
&lt;br /&gt;
=== 判斷頁面屬性函數 ===&lt;br /&gt;
;{{vanchor|is_softredirect}}&lt;br /&gt;
:判斷頁面是否為軟重定向。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|is_disambiguation}}&lt;br /&gt;
:判斷頁面是否為消歧義頁。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|is_sandbox}}&lt;br /&gt;
:判斷頁面是否為沙盒。&lt;br /&gt;
&lt;br /&gt;
=== 可供其他模組調用的私有函數 ===&lt;br /&gt;
;{{vanchor|_re_softredirect_template}}&lt;br /&gt;
:匹配軟重定向模板的正則函數。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|_re_disambiguation_title}}&lt;br /&gt;
:匹配消歧義標題的正則函數。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|_re_disambiguation_template}}&lt;br /&gt;
:匹配消歧義模板的正則函數。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|_re_sandbox_template}}&lt;br /&gt;
:匹配沙盒模板的正則函數。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|_remove_wikiproject_flag}}&lt;br /&gt;
:用於避免消歧義判斷模板循環的跳脫函數，會破壞輸入的內容、移除魔術字，僅保留模板，以供展看測試有無消歧義魔術字。&lt;br /&gt;
&lt;br /&gt;
=== 除錯用函數 ===&lt;br /&gt;
;{{vanchor|_checker}}&lt;br /&gt;
:檢查函數是否會出錯的函數。如無出錯，將頁面加入[[:分類:可以正常讀取評級的條目]]；如出錯，將頁面加入[[:分類:無法正常讀取評級的條目]]。&lt;br /&gt;
&lt;br /&gt;
;{{vanchor|check_disambig_process}}&lt;br /&gt;
:列出[[#is_disambiguation]]的中間過程，以便除錯。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- 本行下加入模組的分類 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;A2569875</name></author>
	</entry>
</feed>