模組:List/sandbox/doc

此頁面為 Module:List/sandbox 的說明文件

本模塊可以輸出各種類型的列表。目前,它支持帶點的無序列表、不帶點的無序列表、水平列表、有序列表(數字的或字母的)、水平有序列表、直接連接列表和用自然語言連成的列表。它允許對各個列表項目進行單獨的css樣式。

用法

編輯

快速使用

編輯
模板链接:{{#invoke:list/sandbox|函数|第一项|第二项|第三项|…}}

所有參數

編輯
位次參數
列表的內容
start
有序列表的開始數字
type
有序列表的標序類別
liststyletype
有序列表標記的類型(使用CSS)
class
類
style
樣式
liststyle
列表的樣式
itemstyle
列表項的樣式
item1style、item2style、item3style
第1項的樣式、第2項的樣式、第3項的樣式
item1value、item2value、item3value
第1項的值、第2項的值、第3項的值
indent
水平列表的縮進

以下參數為本站特有:

arguments
指定參數的來源
replacement
列表的每一項為將這個值中的%s替換為原始內容之後的值
prefix
列表每一項的前綴
suffix
列表每一項的後綴

從上級模板傳遞下來的參數

編輯

模板链接:{{#invoke:list/sandbox|函数}}

函數

編輯
函數名稱 產生 示例輸出
bulleted 帶點的無序列表
  • 第一項
  • 第二項
  • 第三項
unbulleted 不帶點的無序列表
  • 第一項
  • 第二項
  • 第三項
horizontal 水平無序列表
  • 第一項
  • 第二項
  • 第三項
ordered 有序列表(數字標識和字母標識)
  1. 第一項
  2. 第二項
  3. 第三項
horizontal_ordered 水平有序列表
  1. 第一項
  2. 第二項
  3. 第三項
concat 直接連接(本站特有) 第一項第二項第三項
list_to_text 使用自然語言連接(本站特有) 第一項、​第二項和​第三項

參數

編輯

基本參數

編輯
  • 位次參數(positional parameters)(1、2、3……)——這些是列表項。如果沒有列表項,模塊不輸出任何值。
  • start——設置有序列表的開始。可以是數字序列列表的開始數字,也可以是字母列表的開始字母。水平有序列表只支持數字。
  • type——有序列表使用的標識類別。比如,數字「1」(默認)、大寫字母「A」、小寫字母「a」、大寫希臘字母「I」、小寫希臘字母「i」。水平有序列表不支持。參考liststyletype參數。
  • liststyletype——有序列表標識的類別,使用CSS樣式,並且使用html標記比type參數擁有更多的可行類型。可用的值都列舉在MDN的list-style-type頁面。不同瀏覽器可能支持性不同。
  • class——列表標籤的自定義類。本模塊不使用div標籤。
  • style——列表標籤的自定義css樣式,例如,font-size: 90%;。
  • liststyle——同style參數。
  • itemstyle——對於所有列表項的自動css樣式。格式同style參數。
  • item1style、item2style、item3style……——為每個列表項的自定義css樣式。格式同style參數。
  • item1value、item2value、item3value……對給定列表項的自定義值。給定一個,後面的值會從這個指定的值開始增加。這個值應該是正整數。(僅對有序列表有效。)
  • indent——縮進列表,僅適用於水平列表和水平有序列表。值必須是一個數字,比如2。縮進成倍計算,是指定值的1.6倍。未指定時為零。
  • arguments——參數的來源。self表示只接受通過#invoke調用模塊時的參數,parent表示使用調用了此模塊的模板時傳入的參數,template表示位次參數視為parent,賦名參數為self,both表示同時考慮二者,且parent優先。默認為self。
  • separation或sep——在類型為code或list_to_text時,將各項連接起來。
  • conjunction或conj——在類型為list_to_text時,最後一項與倒數第二項的連接。

修改列表各項內容

編輯

本模塊支持對列表各項內容進行統一的修改。共有以下幾種修改方法。注意以下這些修改方法只能選擇一種,或者全都不選。

為了表述方便,我們將模板參數中輸入的每一項內容稱為原始內容,修改後的每一項的內容稱為修改後內容,這個用於修改的函數(如有)稱為修改函數。

替換格式

編輯

你可以指定一個被替換文本,將被替換文本中的「%s」替換為原始內容之後即為修改後內容。這有點類似於string.format函數,但是可以替換可以多次,且不支持%a、%d等特殊用法。

代碼 結果
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项
|replacement=这个%s和那个%s}}
  • 這個第一項和那個第一項
  • 這個第二項和那個第二項
  • 這個第三項和那個第三項
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项
|replacement=[[User:%s|%s]]}}

前後綴

編輯

你可以直接給原始內容加入前綴和後綴。這個當然也可以通過替換文字來實現,不過直接加前後綴顯然更加簡便。

代碼 結果
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项
|prefix=这是}}
  • 這是第一項
  • 這是第二項
  • 這是第三項
{{#invoke:list/sandbox|concat|第一项|第二项|第三项
|suffix=平安|sep=,}}
第一項平安,第二項平安,第三項平安

注意,前後綴可以同時都有,但是不能設置像|prefix={{|suffix=}}或|prefix=[[|suffix=]]這樣的參數,因為這會直接影響維基文本的解析;即使加了nowiki也不行,因為這會直接導致文本不解析。雖然模塊可以剝離nowiki並反轉義,但誰願意那樣做呢?

示例

編輯

帶點的有序列表

編輯
代碼 結果
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项}}
  • 第一項
  • 第二項
  • 第三項
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项|itemstyle=color:blue;}}
  • 第一項
  • 第二項
  • 第三項
{{#invoke:list/sandbox|bulleted|第一项|第二项|第三项|item1style=background-color:yellow;|item2style=background-color:silver;}}
  • 第一項
  • 第二項
  • 第三項

不帶點的無序列表

編輯
代碼 結果
{{#invoke:list/sandbox|unbulleted|第一项|第二项|第三项}}
  • 第一項
  • 第二項
  • 第三項
{{#invoke:list/sandbox|unbulleted|第一项|第二项|第三项|itemstyle=color:blue;}}
  • 第一項
  • 第二項
  • 第三項
{{#invoke:list/sandbox|unbulleted|第一项|第二项|第三项|item1style=background-color:yellow;|item2style=background-color:silver;}}
  • 第一項
  • 第二項
  • 第三項

水平列表

編輯
代碼 結果
{{#invoke:list/sandbox|horizontal|第一项|第二项|第三项}}
  • 第一項
  • 第二項
  • 第三項
{{#invoke:list/sandbox|horizontal|第一项|第二项|第三项|indent=2}}
  • 第一項
  • 第二項
  • 第三項

有序列表

編輯
代碼 結果
{{#invoke:list/sandbox|ordered|第一项|第二项|第三项}}
  1. 第一項
  2. 第二項
  3. 第三項
{{#invoke:list/sandbox|ordered|第一项|第二项|第三项|start=3}}
  1. 第一項
  2. 第二項
  3. 第三項
{{#invoke:list/sandbox|ordered|第一项|第二项|第三项|type=i}}
  1. 第一項
  2. 第二項
  3. 第三項
{{#invoke:list/sandbox|ordered|第一项|第二项|第三项|liststyletype=lower-greek}}
  1. 第一項
  2. 第二項
  3. 第三項

水平有序列表

編輯
代碼 結果
{{#invoke:list/sandbox|horizontal_ordered|第一项|第二项|第三项}}
  1. 第一項
  2. 第二項
  3. 第三項
{{#invoke:list/sandbox|horizontal_ordered|第一项|第二项|第三项|start=3}}
  1. 第一項
  2. 第二項
  3. 第三項
{{#invoke:list/sandbox|horizontal_ordered|第一项|第二项|第三项|indent=2}}
  1. 第一項
  2. 第二項
  3. 第三項

直接連接

編輯
代碼 結果
{{#invoke:list/sandbox|concat|第一项|第二项|第三项}} 第一項第二項第三項
{{#invoke:list/sandbox|concat|第一项|第二项|第三项|sep= / }} 第一項/第二項/第三項
{{#invoke:list/sandbox|concat|第一项|第二项|第三项|sep=、|conj=及}} 第一項、第二項及第三項

註:separation和sep等價,conjunction和conj等價。

用自然語言連接

編輯
代碼 結果
{{#invoke:list/sandbox|list_to_text|第一项|第二项|第三项}} 第一項、​第二項和​第三項
{{#invoke:list/sandbox|list_to_text|第一项|第二项|第三项|sep=,}} 第一項,第二項和​第三項
{{#invoke:list/sandbox|list_to_text|第一项|第二项|第三项|conj=或}} 第一項、​第二項或第三項