帮助讨论:替换引用
哈,这是“模板戳”啊? 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标签的动作皆无效,纯文字处理清除的方式已由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)