模組:Autotaxobox/doc
此頁面為 Module:Autotaxobox 的說明文件
| 此模組文件被引用於約187,000個頁面,佔全部頁面的2%。 為了避免造成大規模的影響,所有對此模組文件的編輯應先於沙盒或測試樣例上測試。實施修改前,建議先在討論頁發起討論。 模板引用數量會自動更新。 |
| 此模組文件已被保護。此高度可見模組文件具有高風險,或已用於大量頁面或被頻繁替換引用。由於破壞或失誤影響程度嚴重,因此已被保護,只有錯誤:頁面未被保護。可以編輯。 |
| 此模組使用Lua語言: |
Module:Autotaxobox (討論 · · 歷史 · 連結 · 文檔 · 子頁面 · 沙盒 · 測試用例)
本模塊旨在為自動生物分類框系統(包括{{Speciesbox}}與{{Automatic taxobox}}等模板)提供支持,以避免在遍歷分類學模板中編碼的分類階元層級時觸發MediaWiki模板展開深度錯誤。
目前,系統處理被限定為至多支持包含100個層級的分類體系。
有關該模塊內各函數在系統中的具體調用與運作方式,請參見自動生物分類框系統結構圖。
taxoboxColour
[編輯]在給定分類單元名稱的情況下,此函數用於返回該分類單元在自動生物分類框中所對應的正確顏色。其實現方式是沿著分類階元層級向上檢索設定了生物信息框顏色的「真實」分類單元(即非地位未定(incertae sedis)分類單元),並返回該顏色。若未檢索到「真實」分類單元,但在層級中存在地位未定分類單元,則返回incertae sedis對應的顏色;否則返回「transparent」(透明)。(若分類層級過深而超出處理限制,則返回錯誤提示顏色。)
用法:
{{#invoke:Autotaxobox|taxoboxColour|taxon_name}}
參數:
- 該匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
示例:
{{#invoke:Autotaxobox|taxoboxColour|Felis}}→ rgb(235,235,210){{#invoke:Autotaxobox|taxoboxColour|Acacia}}→ rgb(180,250,180)
taxoboxList
[編輯]給定一個分類單元的名稱,該函數會根據所提供分類單元的分類學層級,返回自動生物分類框中的分類單元行。如果生物分類框中所顯示的最低級分類單元低於屬,則所提供的分類單元通常會高於生物分類框的目標分類單元,因此需要將偏移量計算在內。
用法
[編輯]{{#invoke:Autotaxobox|taxoboxList
| <!-- the name of taxon upwards from which the taxonomic hierarchy is to be displayed by this function -->
|display_taxa = <!-- the number of taxa above taxon to force to be displayed -->
|authority = <!-- taxonomic authority for the lowest level taxon in the taxobox (the taxobox_target) (see also offset below) -->
|parent_authority = <!-- taxonomic authority for taxobox_target's parent -->
|gparent_authority = <!-- taxonomic authority for taxobox_target's grandparent -->
|ggparent_authority = <!-- taxonomic authority for taxobox_target's greatgrandparent -->
|gggparent_authority = <!-- taxonomic authority for taxobox_target's greatgreatgrandparent -->
|bold_first = <!-- bold to embolden taxon in its row -->
|offset = <!-- the offset of taxon from taxobox_target – the number of steps from taxobox_target to taxon -->
}}
參數
[編輯]匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱,其餘參數已在上方作過解釋。
示例
[編輯]{| class="wikitable"
{{#invoke:Autotaxobox|taxoboxList|Felis|authority=Linnaeus, 1758}}
|}
|
→ |
|
taxonomyList
[編輯]在給定分類單元名稱的情況下,此函數會根據所提供分類單元名稱對應的分類學層級,返回顯示在「Template:Taxonomy/taxon_name」頁面上的分類學表格各行。
當向下遍歷分類學層級時,若檢測到某個階元處於與此前已遍歷階元相同或更高的級別(例如在亞科下方出現了科),則顯示該階元的單元格將呈現淺紅色背景;若該異常階元即為所提供的分類單元,對應頁面將被歸入追蹤分類 Category:顯示不規則層級的分類學模板。在getRankTable()中定義的數值用於確定階元的正確順序。未在該表中定義數值的階元不會對其順序進行檢查。
用法
[編輯]{{#invoke:Autotaxobox|taxonomyList|taxon_name}}
參數
[編輯]- 匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
| 標記 | {{#invoke:Autotaxobox|taxonomyList|Felis}} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 渲染為 | 粗體層級代表主要層級或者已被設置
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
callTaxonomyKey
[編輯]此函數用於整理所需數據並調用{{Taxonomy key}}以呈現分類學模板頁面(該模板進而會調用本模塊的taxonomyList函數)。其運作機制是匯集該模板所需的各項信息,若存在 same_as連結則予以追蹤解析,隨後執行模板調用。
本函數由{{Don't edit this line}}使用。
用法:
{{#invoke:Autotaxobox|callTaxonomyKey
|taxon=
|parent=
|rank=
|extinct=
|always_display=
|link_target=分类学模板中 'link' 参数的值
|link_text=分类学模板中匿名参数的值
|refs=
|same_as=
}}
showRefs
[編輯]用於顯示分類學模板中的refs(參考文獻)字段,能夠處理地位未定(incertae sedis)的分類單元,並在缺失參考文獻信息時顯示「–」。
用法
[編輯]{{#invoke:Autotaxobox|showRefs|taxon_name|refs}}
示例
[編輯]{{#invoke:Autotaxobox|showRefs|Neoscona|{{Taxon info|Neoscona|refs}}}}→ –{{#invoke:Autotaxobox|showRefs|Incertae sedis/Characidae|}}→ not applicable (incertae sedis)
taxonLink
[編輯]返回指向分類單元的維基連結;根據需要,可在其前方添加「†」、後方添加「 (?)」,亦可選擇將其設為斜體,或設為加粗且不生成維基連結。該函數可通過{{Taxon link}}在外部調用。在特定情況下,部分參數可以省略。
用法
[編輯]{{#invoke:Autotaxobox|taxonLink
|taxon= <!-- having '/?' at the end triggers the output of ' (?)' -->
|extinct= <!-- 'yes' or 'true' triggers the output of '†' -->
|bold= <!-- 'yes' makes the core output bold and not wikilinked -->
|italic= <!-- 'yes' makes the core output italic -->
|link_target= <!-- target for the wikilink -->
|plain_link_text= <!-- text of the wikilink (without †, italics, etc.) -->
}}
示例
[編輯]{{#invoke:Autotaxobox|taxonLink|taxon=Felis|italic=yes}}→ Felis{{#invoke:Autotaxobox|taxonLink|taxon=Incertae sedis/Animalia}}→ 地位未定 incertae sedis{{#invoke:Autotaxobox|taxonLink|link_target=Pterosaur|plain_link_text=Pterosauromorpha|extinct=yes}}→ †Pterosauromorpha{{#invoke:Autotaxobox|taxonLink|taxon=Dinosauria/?|link_target=Dinosaur|plain_link_text=Dinosauria|extinct=yes}}→ †Dinosauria (?)
taxonInfo
[編輯]在給定分類單元名稱及存儲於該分類單元分類學模板中所需信息項名稱的情況下,此函數用於返回該項信息的值;若該值為空字符串且存在可用的「same as」連結,則會追蹤並解析一條該連結以獲取對應值。
用法:
{{#invoke:Autotaxobox|taxonInfo|taxon_name|item_name}}
參數:
- 第一個匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
- 第二個匿名參數的可選值詳見{{Taxon info/doc}}。
示例:
{{#invoke:Autotaxobox|taxonInfo|Felis|rank}}→ genus{{#invoke:Autotaxobox|taxonInfo|Aves/skip|same_as}}→ Aves{{#invoke:Autotaxobox|taxonInfo|Aves/skip|parent}}→ Chordata
實用工具
[編輯]這些函數僅用於分析和理解自動生物分類框系統,包括編碼於分類學模板中的分類層級——例如在測試和調試時使用。它們並非自動生物分類框系統常規運作功能的一部分。
getMaxSearchLevels
[編輯]返回系統在檢索分類學模板所編碼的分類層級時,所能遍歷的最大層級數。
用法:
{{#invoke:Autotaxobox|getMaxSearchLevels}}→ 100
find
[編輯]在給定分類單元名稱與階元的情況下,此函數返回該分類單元在指定階元上的祖先分類單元。
用法:
{{#invoke:Autotaxobox|find|taxon_name|rank}}
參數:
- 第一個匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
- 第二個匿名參數應為階元的拉丁化名稱。
示例:
{{#invoke:Autotaxobox|find|Felis|ordo}}→ Carnivora{{#invoke:Autotaxobox|find|Felis|classis}}→ Mammalia/skip{{#invoke:Autotaxobox|find|Pteranodon|phylum}}→ Chordata{{#invoke:Autotaxobox|find|Pteranodon|classis}}→ Sauropsida
nth
[編輯]在給定分類單元名稱的情況下,此函數返回分類層級中其上方的第 n 個分類單元。
用法:
{{#invoke:Autotaxobox|nth|taxon_name}}
參數:
- 匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
- n 為所需查找的分類單元所在的上級層級數。
示例:
{{#invoke:Autotaxobox|nth|Felis}}→ Felis{{#invoke:Autotaxobox|nth|Felis}}→ Laurasiatheria
nLevels
[編輯]在給定分類單元名稱的情況下,此函數返回分類層級中該分類單元及其上方的總層級數。
用法:
{{#invoke:Autotaxobox|nLevels|taxon_name}}
參數:
- 匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
示例:
{{#invoke:Autotaxobox|nLevels|Felis}}→ 42{{#invoke:Autotaxobox|nLevels|Pteranodon}}→ 51
listAll
[編輯]在給定分類單元名稱的情況下,此函數以逗號分隔的列表形式返回分類層級中該分類單元及其上方的所有層級。
用法:
{{#invoke:Autotaxobox|listAll|taxon_name}}
參數:
- 匿名參數應為已存在「Template:Taxonomy/taxon_name」頁面的分類單元名稱。
示例:
{{#invoke:Autotaxobox|listAll|Plantae}}→ Plantae-regnum, Archaeplastida-cladus, CAM-cladus, Diaphoretickes-cladus, Eukaryota-domain, Life-{{#invoke:Autotaxobox|listAll|Felis}}→ Felis-genus, Felinae-subfamilia, Pseudaelurus/grade-grade, Felidae-familia, Feloidea-superfamilia, Aeluroidea-infraordo, Feliformia-subordo, Carnivora-ordo, Carnivoraformes-cladus, Carnivoramorpha-cladus, Pan-Carnivora-cladus, Ferae-mirordo-mb, Ferungulata-grandordo-mb, Scrotifera-cladus, Laurasiatheria-superordo, Boreoeutheria-magnordo, Placentalia-cladus, Eutheria-infraclassis, Theria-subclassis, Tribosphenida-cladus, Zatheria-cladus, Prototribosphenida-cladus, Cladotheria-cladus, Trechnotheria-cladus, Theriiformes-cladus, Theriimorpha-cladus, Mammalia/skip-classis, Chordata-phylum, Deuterostomia-superphylum, Nephrozoa-cladus, Bilateria-cladus, ParaHoxozoa-cladus, Eumetazoa-subregnum, Animalia-regnum, Choanozoa-cladus, Filozoa-cladus, Holozoa-superregnum, Opisthokonta-cladus, Obazoa-cladus, Amorphea-cladus, Eukaryota-domain, Life-
removeQualifier
[編輯]在給定分類單元名稱的情況下,此函數返回去除了任何限定符(即「/」之後的任何部分)的名稱。
用法:
{{#invoke:Autotaxobox|removeQualifier|taxon_name}}
示例:
{{#invoke:Autotaxobox|removeQualifier|Eukaryota/display}}→ Eukaryota{{#invoke:Autotaxobox|removeQualifier|Felis}}→ Felis