Help talk:替换引用
哈,这是“模板戳”啊? Burea Acupotter'n TALK? 14:42 2006年5月4日 (UTC)
一些有關 subst: 的問題
from Wikipedia:互助客栈/技术
請教一些有關 subst: 的問題
- 使用「subst替換引用」是會加重伺服器負擔還是會減輕伺服器的壓力?
- 目前中文維基對「subst替換引用」的政策?鼓勵使用還是不鼓勵使用?
—SEEDER 2007年8月4日 (六) 07:25 (UTC)
- 1.我想應該會減低伺服器負擔了(我對Wiki系統不太熟悉,這些全屬自己的猜測。),subst:會把模版轉為模版中的內容然後儲存,那以後讀取時不需再:讀取模版,相對儲存模版名稱然後每次載入頁面時讀取模版,subst:應該可以減低系統的處理。不過多數subst:時會令頁面儲存更多東西,所以會較佔用系統儲存的空間—域奇 @ 2007年8月4日 (六) 07:30 (UTC)
- 舉例,用{{welcome}}模版時,如果頁面只儲存{{welcome}},那只佔用了幾個byte,不過每次載入都要查詢welcome模版內容。而用{{subst:welcome}}時,頁面會儲存成
<span style="display:none">
</span>
<!---------- Welcome 模板开始 ---------->
......(下刪不知多少字)
<span style="display:none"></span>
<!---------- Welcome 模版結束 ---------->
- 這些東西佔數KB,不過載入頁面時不需再於資料庫查welcome模版內容了。—域奇 @ 2007年8月4日 (六) 07:39 (UTC)
補充一個問題,對模板使用「subst替換引用」會否令條目的更新受到影響?比如模板擴充時,用了替換引用的條目的模板應該不會更新才是。這樣一來,對模板格式的統一性也出現了問題喔。—Altt311 2007年8月4日 (六) 07:48 (UTC)
- 「伺服器的壓力?」<---這主要是Brion Vibber的責任,你不必理。儘管編好百科內容。
- 「補充一個問題」<---你可自己去wikipedia:沙盒試試。WP:BOLD. * : -) ---Hillgentleman | 書 | 二零零七年八月四號(星期六)格林尼治 11時27分01秒。
- (!)意見,你確定這是應有的態度嗎?我會去問問Brion Vibber的意見。—SEEDER 2007年8月4日 (六) 12:47 (UTC)
對常修改的模板不適用 {{subst}} 除非有一個完整的機制可以處理這些問題。 Gavin54321 2007年8月4日 (六) 11:39 (UTC)
- Seedermaster,
- -->en:wikipedia:template substitution#Benefits of substitution , en:WP:PERF * : -) ---Hillgentleman | 書 | 二零零七年八月四號(星期六)格林尼治 12時58分03秒。
- ""'Policy' shouldn't really concern itself with server load except in the most extreme of cases; keeping things tuned to provide what the user base needs is our job." - Brion Vibber " [1] * : -) ---Hillgentleman | 書 | 二零零七年八月四號(星期六)格林尼治 12時58分03秒。
- (!)意見,謝謝你提供的資料,這樣說以後就不必再理會例如「Wikipedia:刪除投票和請求」的說明。
以下模板的使用,提倡在模板名前加subst:实现替换引用,以减轻服务器的压力。
- —SEEDER 2007年8月4日 (六) 13:25 (UTC)
- 请注意“提倡”二字,这个的中文意思是希望你能这么做,但并不强制你不得违反。 fdcn talk — 2007年8月4日 (六) 21:29 (UTC+8) —
- 所以才說以後就不必再理會所謂的「提倡」,不那麼做沒人反對,做了反倒會被指責。—SEEDER 2007年8月4日 (六) 13:51 (UTC)
- ??谁在投票模板指责过你吗?不过,其它的模板是否用subst要看具体情况。一个主要原则是:看内容是否是固定不变的。当然,还有其它的一些考量,多看看已有的惯例可能会有帮助。— fdcn talk — 2007年8月5日 (日) 00:01 (UTC+8) — 2007年8月4日 (六) 16:01 (UTC)
- 還沒被人在投票模板指责过,不過,8月4日遭遇 管理員「費勒姆」以「請不要使用subst:,以免加重伺服器負擔」為理由回退幾條老船的編輯,請看鎮遠號戰艦、金剛號戰艦、長門號戰艦、大和號戰艦、三笠號戰艦的歷史頁面,這些船都是已經沉了近百年的,模板的資料是船的尺寸等基本資料。我是第一次聽到「請不要使用subst:,以免加重伺服器負擔」這種宣告,當時還真讓我迷惑了好久。—SEEDER 2007年8月4日 (六) 16:52 (UTC)
- 我先代他向你道歉,这个理由并不正确。不过,这几个条目不用subst倒是对的,因为被引用替换后,这些信息难以被其它维基人编辑和维护。— fdcn talk — 2007年8月5日 (日) 01:16 (UTC+8) — 2007年8月4日 (六) 17:16 (UTC)
- 你太客氣了,我並不介意这几个条目用不用subst,不過「費勒姆」的理由還真讓我迷惑了好久,還以為自己玩伺服器多年的經驗都是錯的。—SEEDER 2007年8月4日 (六) 17:28 (UTC)
- 還沒被人在投票模板指责过,不過,8月4日遭遇 管理員「費勒姆」以「請不要使用subst:,以免加重伺服器負擔」為理由回退幾條老船的編輯,請看鎮遠號戰艦、金剛號戰艦、長門號戰艦、大和號戰艦、三笠號戰艦的歷史頁面,這些船都是已經沉了近百年的,模板的資料是船的尺寸等基本資料。我是第一次聽到「請不要使用subst:,以免加重伺服器負擔」這種宣告,當時還真讓我迷惑了好久。—SEEDER 2007年8月4日 (六) 16:52 (UTC)
- 比如在歡迎用戶時應使用{{subst:welcome}}而不是{{welcome}},以反映當時歡迎用戶的信息。--Shinjiman ⇔ ♨ 2007年8月4日 (六) 16:07 (UTC)
- ??谁在投票模板指责过你吗?不过,其它的模板是否用subst要看具体情况。一个主要原则是:看内容是否是固定不变的。当然,还有其它的一些考量,多看看已有的惯例可能会有帮助。— fdcn talk — 2007年8月5日 (日) 00:01 (UTC+8) — 2007年8月4日 (六) 16:01 (UTC)
- 所以才說以後就不必再理會所謂的「提倡」,不那麼做沒人反對,做了反倒會被指責。—SEEDER 2007年8月4日 (六) 13:51 (UTC)
- 请注意“提倡”二字,这个的中文意思是希望你能这么做,但并不强制你不得违反。 fdcn talk — 2007年8月4日 (六) 21:29 (UTC+8) —
- —SEEDER 2007年8月4日 (六) 13:25 (UTC)
总的来说,我觉得文章内的模板均不适合使用Subst,因为文章中的模板在被改进后我们希望老文章中的模板也随着被自动改进,假如我们使用subst的话这些老文章中的模板不会被自动更改,而要找到所有老文章中的老模板很困难(尤其是假如一个模板使用得多的话),而且模板的码本身往往很复杂,使用subst的话使得文章内出现一大堆的与文章内容无关的码(这些码主要不是内容,而是格式),这使得更改这些文章更加困难。这些码显示在文章中也使得对于码不熟悉的用户的编辑本身变得很困难,他们假如不小心删除了一个字母的话就有可能使得整篇文章变得混乱。这是我们使用Template主要想要避免的东西。比如沉船的码,使用模板的话编辑者就不必去管整个表格的格式啊、颜色啊等等了。比如说一部沉船的第一次编辑里的数据有错(比如长度不是150米而是160米),假如文章的模板使用subst的话第二位做校正的编辑者要在表格中找到相应的关于长度的地方来进行修改,而且要避免不要不小心删除什么使得表格被破坏。使用模板而不subst的话就比较简单了,他出错导致破坏的可能性也减小。--Wing 2007年8月5日 (日) 02:08 (UTC)
- 有參數的模板不應該使用subst,其他模板如果使用使用於多數條目,而且模板內容可能會被修改,則也不應該使用subst。簡單的投票模板則可以使用subst,因為它們再怎麼修改,也不會改變它們表達的內容。--Jnlin(討論) 2007年8月5日 (日) 02:58 (UTC)
- 被修改的近70%為我寫及常留意的條目,在我看來用subst對我會很麻煩,所以我很少使用。另外,用subst的話令條目容量增大,用這來騙DYK應該不錯的說(開玩笑)。而這是否減輕伺服器負擔我就不得而知了。--すぐる@武蔵×桂言葉 2007年8月5日 (日) 05:52 (UTC)
不使用「subst替換引用」是會加重伺服器負擔,但加重的負擔極少(模板再套模板則作別論,頁面載人時慢得可以)--✉Hello World! 2007年8月9日 (四) 16:02 (UTC)
在WP:subst時,無法清除Nowiki標籤問題
如題。
- 問題描述:
- 如何在WP:subst時清除Nowiki標籤
- 問題症狀:
- 目前已知在WP:subst時,清除Nowiki標籤的動作皆無效,純文字處理清除的方式已由User:Sunny00217測試發現也無效。
- en:Wikipedia:Village_pump_(technical)#How_to_using_unstripNowiki_in_subst:_?英文維基人覺得subst時本來就不能移除Nowiki標籤而無法提供協助。
- 問題起因:
- User:Sunny00217在User talk:A2569875/存檔/2020年/1-3月#模块:TemplateParameters報告模板在WP:subst階段時,本來應該被unstripNowiki函數清除的部分在WP:subst階段時不會執行清除,進一步的測試表明,unstripNowiki在WP:subst與沒有WP:subst的輸出是不同的,且可以視為unstripNowiki在WP:subst階段不會執行。然而透過nowiki防止維基代碼被提前解析的這個需求本來就存在,而對應模板當然也有可能有WP:subst的需求,因此我認為此屬BUG,見下方測試。-- 娜娜奇🐰鮮果茶☕(宇帆·☎️·☘️) 2020年2月5日 (三) 08:53 (UTC)
- 一般情況
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數:- 輸出→「[[1]]」
- 輸出的原碼為→「
<nowiki>[[1]] </nowiki>
」 - 描述:十分正常地將
<nowiki></nowiki>
清除了。
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數,並將unstripNowiki函數回傳值移除首個與末個字元:- 輸出→「'"`UNIQ--nowiki-00000008-QINU`"'」
- 輸出的原碼為→「
'"`UNIQ--nowiki-00000009-QINU`"'
」 - 描述:十分正常地將
<nowiki></nowiki>
清除,移除首個與末個字元正常。
- 輸入「
- WP:subst情況
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數:- 輸出→「[[1]]」
- 輸出的原碼為→「
<nowiki>[[1]]</nowiki>
」 - 描述:異常。內容似乎是原封不動地被輸出。
- (附註:可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄))
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數,並將unstripNowiki函數回傳值移除首個與末個字元:- 輸出→「'"`UNIQ--nowiki-00000021-QINU`"'」
- 輸出的原碼為→「
'"`UNIQ--nowiki-00000022-QINU`"'
」 - 描述:異常。unstripNowiki函數似乎沒有執行,本來應該被unstripNowiki轉為純文字的mw:Strip_marker似乎原封不動地被輸出,導致移除首個與末個字元後mw:Strip_marker損毀。
- (附註:可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄))
- 輸入「
- safesubst情況
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數:- 輸出→「[[1]]」
- 輸出的原碼為→「
<nowiki>[[1]]</nowiki>
」 - 描述:異常。同上,疑似unstripNowiki函數無效或失靈沒有運行。
- (附註:可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄))
- 輸入「
<nowiki>[[1]]</nowiki>
」到unstripNowiki函數,並將unstripNowiki函數回傳值移除首個與末個字元:- 輸出→「'"`UNIQ--nowiki-00000029-QINU`"'」
- 輸出的原碼為→「
'"`UNIQ--nowiki-0000002A-QINU`"'
」 - 描述:異常。同上,疑似unstripNowiki函數無效或失靈沒有運行。
- (附註:可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄))
- 輸入「
- 可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄)
- 從上方結果分析可見,unstripNowiki函數在Subst階段時,回傳值仍為mw:Strip_marker,移除首個與末個字元破壞了mw:Strip_marker而導致Strip_marker失效,這意味著unstripNowiki函數在Subst階段時根本不起作用。不曉得是Bug還是技術限制。
- 可參考Special:滥用日志/3160999(subst前的diff紀錄)、Special:Diff/58001233(subst後的diff紀錄)
- 前往英文維基詢問如何完成「subst階段移除Nowiki」en:Wikipedia:Village_pump_(technical)#How_to_using_unstripNowiki_in_subst:_?卻得到了「我誤解模板運作」的答案,不知道是我表達不清還是雞同鴨講,或者根本是技術限制,因此想到這裡請求支援。-- 娜娜奇🐰鮮果茶☕(宇帆·☎️·☘️) 2020年2月5日 (三) 08:53 (UTC)
根據程式碼[2]有很高的機率是技術限制。--180.217.106.185(留言) 2020年2月13日 (四) 05:00 (UTC)