說明:擴展
編輯頁面正在建設 |
本幫助文檔是關於如何在Rotaeno中文維基使用擴展特性的說明。
自1.18版本開始,MediaWiki的可下載版本默認隨附了一些捆綁的擴展和皮膚,參考mw:Bundled_extensions_and_skins。具體內容可在特殊:版本查看。
頁面狀態指示器
頁面狀態指示器是顯示在主要內容之外的圖標或短文本片段,可提供有關頁面狀態的快速信息。 例如,你可以在本頁面標題右側看到一個形狀為的指示器。 詳見mw:Help:Page_status_indicators/zh。
語言轉換器
一些語言有多套書寫系統。<langconvert>
標籤支持訪問語言轉換器,
要求from
與to
屬性為同一語言的BCP 47代碼。
詳見mw:Writing_systems/zh。
維基文本 | 渲染 |
---|---|
<langconvert from="zh-Hans" to="zh-Hant">汉语</langconvert>
|
漢語 |
<langconvert from="sr-Latn" to="sr-Cyrl">Srpski</langconvert>
|
Српски |
引述
引述可以讓在頁面中加入腳註。
引述引入了兩個解析器標籤,用<ref />
標籤插入腳註文本,用<references />
標籤指定腳註位置。
可以插入多個<references />
標籤,標籤之前組號相同的所有<ref />
都會插入到這裡。
如果沒有<references />
標籤,那麼參考引述(無組號腳註)仍會顯示在頁面結尾,其餘不顯示。
建議不要在模板中使用<references />
標籤。
說明 | 維基文本 | 渲染 |
---|---|---|
太阳很大。<ref>E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23–25.</ref> 然而月亮不大。<ref>R. Smith, "Size of the Moon", ''Scientific American'', 46 (April 1978): 44–46.</ref> 参考资料: <references /> |
參考資料: | |
使用<ref name="name"> 復用腳註。用相同的name區分腳註。只有首個標籤內的文本起作用。
注意name屬性使用的標識符必須要有字母字符,以數字開頭會報錯。建議名稱保持簡單並限制為ASCII字符集。 |
这是多个引用使用一个脚注的例子。<ref name="multiple">记住当你多次引用相同的脚注时,会使用第一个引用中的文本。</ref> 有多个语句来自同一個的来源时,这種引用特別有用。<ref name="multiple" /> 任何复用标签都不应该包含额外文本,否则会产生错误。 仅使用空标签。 进行多次引用的简洁方法是使用空的ref标签,在末尾加上斜杠。 尽管这样子减少繁杂工作,但是请注意,如果以后有个编辑者移除了第一个引用,后面使用空的ref标签的引用都会丢失。<ref name="multiple" /> 注: <references /> |
這是多個參考使用一個腳註的例子。[1] 有多個語句來自相同來源時,這樣引用來源會特別有用。[1] 任何復用標籤都不應該包含額外文本,否則會產生錯誤。 僅使用空標籤。 進行多次引用的簡潔方法是使用空的ref標籤,在末尾加上斜槓。 儘管這樣子減少繁雜工作,但是請注意,如果以後有個編輯者移除了第一個引用,後面使用空的ref標籤的引用都會丟失。[1] 註: |
使用<references group="group" /> 為腳註分組,生成單獨的引用列表。
注意group屬性使用的標識符必須要有字母字符,以數字開頭會報錯。建議名稱保持簡單並限制為ASCII字符集。 |
科学家称,太阳很大。<ref>E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23–25.</ref> 事实上,非常大。<ref group="footnotes"> 相信他们的话。 千万不要直视太阳!</ref> 脚注: <references group="footnotes" /> 参考资料: <references /> |
科學家稱,太陽很大。[1] 事實上,非常大。[footnotes 1]
腳註:
參考資料:
|
將部分或全部引述文本移動到<references /> 標籤內,防止大段引述影響閱讀。可用於從文本中拆分參考資料。
注意需要自行維護參考的標號和順序。 |
太阳很大。<ref name="miller" /> 然而月亮不大。<ref name="smith" /> 参考资料: <references> <ref name="smith">R. Smith, "Size of the Moon", ''Scientific American'', 46 (April 1978): 44–46.</ref> <ref name="miller">E. Miller, ''The Sun'', (New York: Academic Press, 2005), 23–25.</ref> </references> |
參考資料: |
使用<ref follow="name"> 為具名腳註追加參考文獻內容。
|
这是将多个文本合并到相同脚注的例子。<ref name="main">记住所有的文本都会包含在含有name="…"属性的参考中。</ref> <ref follow="main">在带有follow="…"属性的标签内,简单包含额外文本,并符合第一个参考的名称。</ref> 参考资料: <references/> |
這是將多個文本合併到相同腳註的例子。[1]
參考資料:
|
替換引用和嵌入解析器函數
由於Cite的<ref />
標籤是在MediaWiki的解析器函數(如{{#ifexpr:…}}
)、變量(如{{PAGENAME}}
)或subst:
之前解析的,因此在引述的參考內不會起效果。
反之,你應該使用魔術字{{#tag:…}}
才對。
維基文本 | 結果 |
---|---|
Foo<ref>这不起作用,参见{{subst:#time:Y-m-d|now}}</ref> bar baz… Foo{{#tag:ref|而这样就会起作用,参见{{subst:#time:Y-m-d|now}}}} bar baz… <references /> |
解析器函數
#expr
使用下面這個函數計算並返回數學表達式的結果。
{{#expr: 表达式 }}
使用布爾代數時,0表示false,其他任何非0數值(無論正負)均表示true。
空表達式返回空值,錯誤的表達式返回錯誤信息。
置於數字前的加減號會被視為正負號而不會報錯。
以下是支持的運算符。
運算符的說明參見meta-wiki
類型 | 運算符號 |
---|---|
分組 | ( )
|
數字 | 1234.5 e (2.718) pi (3.142)
|
二進位操作者e 一元 + ,-
| |
Unary | not ceil trunc floor abs exp ln sin cos tan acos asin atan
|
二進位 | ^
|
* / div mod
| |
+ -
| |
取整 | round
|
邏輯 | = != <> > < >= <=
|
and
| |
or
|
#if
此函數判斷一個字符串是否為空。只包含半角空格的字符串被視為空字符串,這意味著,全形空格
是不被當做空字符串的。
{{#if: 字符串 | 空值返回 | 非空值返回 }}
當字符串是空值時返回第二個參數,當字符串不是空值時返回第三個參數。 當字符串填寫參數來判斷是否賦值時,需要添加豎線:
{{#if: {{{参数名|}}} | 空值返回 | 非空值返回 }}
返回值不一定需要填寫可以為空,這樣就不會返回內容。這對於下面判斷類型的解析器函數一致適用。
#ifeq
此函數判斷兩個輸入字符串是否相同,並根據結果輸出兩個字符串的其中一個。如果需要更多的比較和輸出字符串,請考慮使用#switch
。
{{#ifeq: 字符串1 | 字符串2 | 相同返回 | 不相同返回 }}
注意:區分大小寫。
#switch
此函數將一個輸入值與多個測試用例進行比較,如果找到匹配項,則返回關聯的字符串。
{{#switch: 输入值 | 值1 = 输入值是值1时返回的内容 | 值2 = 输入值是值2时返回的内容 | 当找不到一样的值时返回的内容 }}
還有一種高級的switch-true用法可以支持更多功能。
{{#switch: 1 | {{#ifexpr: 表达式 | 1 | 0 }} = | {{#if: 页面 | 1 | 0 }} = 返回值1 | {{#ifeq: 字符串1 | 字符串2 | 1 | 0 }} = 返回值2 }}
#iferror
此函數以一個字符串為輸入,然後在兩條預選結果中取其一而返回。
{{#iferror: 字符串 | error返回 | correct返回 }}
這個函數可以認定解釋器函數和模板等的錯誤。
{{#iferror: {{#expr: 表达式 }} | error | correct }}
與其他不同的是,如果不填寫correct返回的內容,那麼correct返回的內容會是被測字符串本身。
#ifexpr
此函數會判斷數學表達式並根據其布爾值結果返回對應的字符串。
{{#ifexpr: 表达式 | true返回 | false返回 }}
#ifexist
此函數將一組字符串作為輸入,並翻譯成頁面標題,然後根據在本地wiki上是否存在該頁面而返回對應的值。
{{#ifexist: 页面名 | 存在时返回 | 不存在时返回 }}
#rel2abs
此函數將相對文件路徑轉換為絕對文件路徑。
{{#rel2abs: 相对路径 | 基路径 }}
「相對路徑」可以使用以下類型的句法:
.
→ 本級路徑..
→ 回到上一級/foo
→ 向下一級進入子目錄/foo
「基路徑」默認為函數所在頁面的絕對路徑。
例如,若指定基路徑為用户:用户名/sandbox/模板:测试
:
./style.css
→ 用戶:用戶名/sandbox/模板:測試/style.css../style.css
→ 用戶:用戶名/sandbox/style.css
#time
此解析器函數需要日期和/或時間,並根據給定的語法設置其格式。可以指定日期/時間對象;默認值是魔法詞的值,即頁面最後呈現到 HTML 的時間。
{{#time: format string }}
{{#time: format string | date/time object }}
{{#time: format string | date/time object | language code }}
{{#time: format string | date/time object | language code | local }}
代碼 | 描述 | 當前輸出 |
---|---|---|
年 | ||
Y |
4位數年。 | 2024 |
y |
2位數年。 | 24 |
L |
如果是閏年則為1,否則為0。 | 1 |
月 | ||
n |
月指數,非零填充。 | 11 |
m |
月指數,零填充。 | 11 |
M |
月名的縮寫,使用網站語言。 | 11月 |
F |
使用網站語言的完整月名。 | 11月 |
一年或一個月內的第幾天 | ||
j |
月內的第幾天,沒有前綴零。 | 22 |
d |
月內的第幾天,用前綴零填滿兩位。 | 22 |
z |
年內的第幾天(一月一日視為第0天)。要獲得ISO日期值請在此數基礎上加1。 | 326 |
周,以及周內的第幾天 | ||
W |
ISO 8601周數,有前綴零。 | 47 |
N |
ISO 8601 一周中的某天(星期一為1, 星期日為7)。 | 5 |
w |
一周內的某天(星期日為0,星期六為6)。 | 5 |
D |
星期幾的簡寫。很少國際化。 | 五 |
l |
星期幾的全稱。很少國際化。 | 星期五 |
小時 | ||
a |
上午(00:00:00 → 11:59:59)返回「am」, 下午(12:00:00 → 23:59:59)返回「pm」。 | am |
A |
上面的a 項的大寫版本。 |
AM |
g |
十二小時制的小時數(無前綴零)。 | 9 |
h |
十二小時制的小時(有前綴零)。 | 09 |
G |
二十四小時制的小時(無前綴零)。 | 9 |
H |
二十四小時制的小時(有前綴零)。 | 09 |
分鐘和秒鐘 | ||
i |
一小時內已過去的分鐘數(有前綴零)。 | 43 |
s |
一分鐘內已過去的秒數(有前綴零)。 | 57 |
U |
Unix時間。 自1970年1月1日00:00:00 GMT的秒數。 | 1732268637 |
時區 | ||
e |
時區標識符。 | UTC |
I |
是否使用夏令時。 | 0 |
O |
與格林尼治時間(GMT)的差值 | +0000 |
P |
與格林威治時間(GMT)的差異,帶冒號 | +00:00 |
T |
時區縮寫。 | UTC |
Z |
時區偏移(秒)。 | 0 |
雜項 | ||
t |
本月日數。 | 30 |
c |
ISO 8601格式化日期,與Y-m-d"T"H:i:s+00:00 等效。 |
2024-11-22T09:43:57+00:00 |
r |
RFC 5332格式化的日期。與D, j M Y H:i:s +0000 等價,但週名和月名可能不是國際化表述。 |
Fri, 22 Nov 2024 09:43:57 +0000 |
#timel
此函數等效於#time
函數將local
參數設置為true
,因此它始終使用 wiki 的本地時間。
#titleparts
此函數根據斜槓將頁面標題分隔為段,然後返回其中一些段作為輸出。
{{#titleparts: 页面路径 | 要返回的段数 | 第一个返回段 }}
Scribunto
Scribunto擴展可以在wiki中嵌入腳本。
當前唯一被支持的腳本語言是Lua。 Scribunto Lua腳本以模块:
為前綴。
模塊使用#invoke
解析器函數,這也是目前本wiki唯一由擴展引入的解析器函數,例如:
{{#invoke: Module_name | function_name | arg1 | arg2 | arg3 ... }}
SimpleMathJax
SimpleMathJax插件提供了在MediaWiki中排版「數學環境」內的TeX公式的方法。詳見mw:Extension:SimpleMathJax/zh#示例
維基文本 | 渲染 |
---|---|
<math>\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix}</math> |
[math]\displaystyle{ \mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \end{vmatrix} }[/math] |
<chem>x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O</chem> |
[math]\ce{ x Na(NH4)HPO4 ->[\Delta] (NaPO3)_x + x NH3 ^ + x H2O }[/math] |
語法高亮
使用<syntaxhighlight>
擴展標籤對原始碼提供富文本格式。詳見mw:Extension:SyntaxHighlight/zh#參數,目前本wiki的實現不是很好。
維基文本 |
---|
<syntaxhighlight lang="python" line start="3" highlight="1,5-7"> def quick_sort(arr): less = [] pivot_list = [] more = [] if len(arr) <= 1: return arr else: pass </syntaxhighlight> |
模板樣式
TemplateStyles擴展引入了一個<templatestyles />
標籤,用於指定wiki頁面應該加載的樣式表。
將此標籤放入模板中可使該模板加載自定義的樣式,而無需將樣式放入MediaWiki:Common.css。
編輯者添加<templatestyles src="[某页面]" />
到一個頁面,該頁面的內容將被解析為 CSS,它被過濾,並通過直接使用或是通過模板嵌入方式,載入到使用了此<templatestyles>
標籤的頁面。
[某页面]
必須指定內容模型為「已過濾的CSS」,若頁面使用模板:
前綴且以.css
結尾則無需額外設置內容模型。推薦的模式是把Template:Foo
的樣式儲存在子頁面,例如Template:Foo/styles.css
。
使用時如果缺少前綴,默認使用模板:
前綴。例如<templatestyles src="Foo/styles.css" />
將會載入Template:Foo/styles.css
。
<templatestyles />
標籤應該被放置在使用樣式的內容前面,例如在模板的最上方。這是為了避免頁面載入時只有部分被渲染而發生無樣式內容閃爍的可能性。