使用者:Evesiesta/vfs
介紹
[編輯]這是一個用於快速簽名和回簽的維基百科模板。它通常用在訪客留言區或簽名頁,其核心功能是根據使用者是否已在特定頁面簽名過,自動生成不同的簽名文本。這個模板利用了維基百科的解析器函數和Lua模組,並且會自動插入你的簽名和時間戳。
機制/原理
[編輯]該模板的核心機制是使用 {{#invoke:Talkpage|count|...}} Lua模組來檢查特定頁面(例如 User:Evesiesta/訪客簽名區)中是否存在當前使用者的簽名記錄。
自動判斷簽名/回簽:
如果模組返回的計數為 0(即沒有簽名記錄),模板會生成「快速簽名」的文本,並附帶歡迎回簽的提示。
如果計數大於 0(即已有簽名記錄),模板會生成「快速回簽」的文本,並附帶感謝簽名。
參數覆寫:
模板提供了參數 a 和 b,允許使用者手動覆寫自動判斷的結果,強制生成簽名或回簽文本。
模板替換(subst:):
使用時必須加上 {{subst:...}} 前綴。這會將模板代碼在保存頁面時替換為最終生成的文本。這樣做可以減輕伺服器負擔,並確保簽名內容不會因模板後續修改而改變。
用法
[編輯]使用時,請將以下代碼複製並粘貼到你想要簽名的地方。最基本的使用方式是讓模板自動判斷。
參數
[編輯]該模板支持以下幾個參數,你可以選擇性地使用它們:
參數 1:用於添加自訂的留言或文本。這些內容會顯示在「快速簽名/回簽」文本之後,你的簽名之前。
參數 a:用於手動控制是否啟用自動判斷。
a=1、a=y 或 a=yes:強制啟用自動判斷機制。
a=0 或 a=n:忽略自動判斷,轉而看參數 b 的值。
參數 b:當 a=0 或 a=n 時生效。
b 有值(例如 b=1):強制生成「回簽」文本。
b 無值(例如不輸入 b 或 b=):強制生成「簽名」文本。
範例
[編輯]自動判斷(最常用):
{{subst:模板名}}
如果之前未簽名,將生成「快速簽名」。
如果之前已簽名,將生成「快速回簽」。
帶自訂留言:
{{subst:模板名|感谢你来这里留言,欢迎你随时再来!}}
這會在簽名文本之前加上你自訂的內容。
強制生成「回簽」:
{{subst:模板名|a=0|b=1}}
這會忽略自動判斷,直接生成「快速回簽」文本。
強制生成「簽名」:
{{subst:模板名|a=0}}
這會忽略自動判斷,直接生成「快速簽名」文本。
注意事項
[編輯]務必使用 subst: 前綴:這是確保模板代碼被最終文本替換的關鍵。如果沒有使用 subst:, 你只會看到模板調用本身,而無法生成簽名。
確保模板名稱正確:範例中的 模板名 應替換為實際的模板名稱。
技術細節
[編輯]模板的代碼使用了以下幾個維基百科內置的解析器函數和Lua模組:
{{subst:...}}:模板替換機制。
{{#if: ... }}:用於條件判斷參數是否存在。
{{#switch: ... }}:用於根據參數 a 的值進行多重分支判斷。
{{#ifeq: ... }}:用於判斷兩個值是否相等。
{{#invoke:Talkpage|count|...}}:這是Lua模組調用,用於統計特定頁面中某個使用者(透過 {{ROOTPAGENAME}} 獲取)的留言數量。
{{ROOTPAGENAME}}:一個魔術字,用於獲取當前頁面的根頁面名稱,即使用者名稱。
--~~~~:用於自動生成簽名和時間戳。
重新導向
[編輯]{{u:Evesiesta/速簽}} {{u:uevs/速簽}} {{u:uevs/vfs}}
參見
[編輯]{{u:uevs/vfb}}