维基百科讨论:模板样式
外观
引入模板样式
[编辑]模板样式是一个新功能,它让每个模板都可以有自己单独的 CSS 页面,从而不用把什么东西都加到MediaWiki:Common.css或者模板的代码里。比如现在 Common.css 里那一大堆 mbox 的样式就可以移出去。这样做的好处是不需要管理员权限也可以添加样式、不需要保存即可预览变化、不需要在所有页面加载样式(相对修改 Common.css 而言),而且大大提升了代码可读性、可以使用更多的 CSS 语法(相对写在模板代码里而言)。
目前,瑞典语维基已经部署该功能,而俄语维基正请求部署。在此提议于中文维基百科部署模板样式。 --砜中嘌呤的白磷萃取 打谱 2018年3月2日 (五) 06:55 (UTC)
- (+)支持-- 宇帆(本人维基贡献满十周年!留言·欢迎签到·联络) 2018年3月2日 (五) 07:30 (UTC)
- (+)支持对于模板的建立修改等等大有帮助。--云间守望 2018年3月2日 (五) 09:49 (UTC)
- (+)支持:提升性能和效率,改进代码可读性。--YFdyh000(留言) 2018年3月2日 (五) 11:11 (UTC)
- (+)支持同上--Liuxinyu970226(留言) 2018年3月5日 (一) 02:24 (UTC)
- (+)支持,方便许多。--Xiplus#Talk 2018年3月6日 (二) 00:29 (UTC)
嘿(懒得模板提及了)没人反对的话我就提了啊。--Liuxinyu970226(留言) 2018年3月6日 (二) 15:38 (UTC)
- 由于中文维基还在使用 Tidy 而没有迁移到 Remex,部署模板样式的计划被搁置了,具体原因请见此处。 --砜中嘌呤的白磷萃取 打谱 2018年3月7日 (三) 00:53 (UTC)
- @WhitePhosphorus:不如先讨论改成Remex的问题吧。个人认为:“Tidy→Remex→部署模板样式”这样循序渐进,就不用搁置了。— 卍・〇・卐 2018年3月7日 (三) 23:35 (UTC)
- Special:LintErrors里的高优先级错误清理干净。 --砜中嘌呤的白磷萃取 打谱 2018年3月8日 (四) 07:36 (UTC)4
- 在HTML5和HTML4中对错误嵌套的标签有不同的渲染74,844个错误
囧rz...,看来需要机器人了。。。。-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年3月8日 (四) 07:50 (UTC) (编辑冲突
囧rz...)
- 卍・〇・卐 2018年3月8日 (四) 07:51 (UTC)
- Hum,我最近正在写修复linter错误的机器人。——꧁༺星耀晨曦༻꧂(留言) 2018年3月16日 (五) 17:30 (UTC)
可能需要机器人或机器用户了。—
要想部署 Remex,需要先把 - 在HTML5和HTML4中对错误嵌套的标签有不同的渲染74,844个错误
- Special:LintErrors里的高优先级错误清理干净。 --砜中嘌呤的白磷萃取 打谱 2018年3月8日 (四) 07:36 (UTC)4
模板样式的相关规范
[编辑]- 下列讨论已经关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。
模板样式已经布属,是时候该订立相关指引或方针,避免混乱,请根据下列项目发表看法(参考自英文维基)
基本规范
[编辑]- 模板样式页应被特定模板或某一系列模板引用
- 孤立的模板样式设定快速删除标准
命名规范
[编辑]- 模板样式页应置于特定模板的子页面,并以
style
或style-功能
命名 - 不能有单独的模板样式页,例如
Template:Hello.css
- (&)建议可设立速删标准-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月22日 (日) 13:47 (UTC)
- 好像
Template:Hello.css
这样的非子页面,在技术上目前不被模板样式支持?--百無一用是書生 (☎) 2018年7月23日 (一) 02:47 (UTC)- Wikipedia:首页/styles.css不是能用吗?只是要转换内容模型而已,需要找管理员,嫌麻烦而已。--Xiplus#Talk 2018年7月23日 (一) 04:50 (UTC)
- Wikipedia:首页/styles.css是子页面,当然能用啊。--百無一用是書生 (☎) 2018年7月23日 (一) 06:31 (UTC)
- 测试了一下,
Template:Hello.css
这样,必须更改内容模型后才可以,而如果是在模板子页面,则不用更改内容模型--百無一用是書生 (☎) 2018年7月23日 (一) 06:40 (UTC)- 如果不是模板子页面,预设建立的内容模型就不会是Sanitized CSS,这时就需要找管理员变更内容模型,但是无论模板样式放在哪里,只要是Sanitized CSS应该都能当作模板样式?--Xiplus#Talk 2018年7月23日 (一) 06:46 (UTC)
- Wikipedia:首页/styles.css不是能用吗?只是要转换内容模型而已,需要找管理员,嫌麻烦而已。--Xiplus#Talk 2018年7月23日 (一) 04:50 (UTC)
- 多个模板共用的样式该怎么处理?难道不会有这种情况吗?--Xiplus#Talk 2018年7月23日 (一) 04:50 (UTC)
- 确立一个主模板页,其他引用。参照{{notetag}}的doc页。——路过围观的Sakamotosan | 避免做作,免敬 2018年7月23日 (一) 08:47 (UTC)
内容规范
[编辑]- CSS中定义的规则或类别应以关联模板名称作为前缀命名
- 不要利用CSS显示图像(不管图像是自由版权还是合理使用),无归属的图像(如公有领域图像)则不再此限
- 避免使用
!important
。 - 避免使用
#id-styles
。
- 我认为上述只应作为建议,而不应当强制(尤其是考虑到与以前的兼容性)--百無一用是書生 (☎) 2018年7月23日 (一) 02:47 (UTC)
- “无归属的图像”是机器翻译吗?--Xiplus#Talk 2018年7月23日 (一) 04:50 (UTC)
- 字典。-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月23日 (一) 07:39 (UTC)
- 没有模板样式之前,也未见有什么强制性要求。而且第一点,了解css的人都明白,没有必要刻意强制--百無一用是書生 (☎) 2018年7月24日 (二) 02:29 (UTC)
- 这倒不一定,模板样式放宽了编写人的要求,编写人可能认为本身有隔离(如自动加上前缀)。--YFdyh000(留言) 2018年7月24日 (二) 09:37 (UTC)
其他规范
[编辑]- 主页面移动时也应移动相应的模板样式页,如
Template:1
移动到Template:2
那么若有Template:1/2.css
也要移动到Template:2/2.css
- 样式页面的保护级别应与其关联模板的保护级别相同。
- 禁止在签名中加入任何模板样式
- (~)补充#因应模板样式扩展将于7月19日在本站启用更改WP:签名方针。-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月22日 (日) 13:56 (UTC)
- 引用模板样式时直接将
<templatestyles>
当符号加入,请不要换行或加入在新的一行- Special:Diff/50551596、Wikipedia:互助客栈/技术#{{IPA}}模板打乱表格标记解析-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月23日 (一) 16:50 (UTC)
- 这个是某些模板固有的问题。是否任何情况下都应该不换行?换行会不会有益处?--百無一用是書生 (☎) 2018年7月24日 (二) 02:31 (UTC)
- 这个问题的答案,只要会熟悉编写模板就会知道,是否要换行,选择了换行的结果是什么,都是可预期的,直接限制“请不要换行或加入在新的一行”似乎没有意义。--Xiplus#Talk 2018年7月24日 (二) 02:43 (UTC)
讨论区
[编辑]想法和未定疑问:
- 如何进行模板样式测试?即沙盒的设立和规范。
- 孤立速删没意见。应该要求向创建人告知规范,通过新设一个或多个留言模版,或者手写留下方针页链接。
- 被同类或同系列的多个模板使用的模板样式,何种适合共享,放在哪个名称或模板的子页面。分别设立及维护不便于统一历史记录和更新,共享建立能依靠CSS区分及适时拆分,但也会有其他弊端。
- 放在同一个模板页面的子页面中?例如设立一个
Template:ShareCSS
,所有需要共享的css作为其子页面,例如Template:ShareCSS/box.css
,Template:ShareCSS/1.css
(可能需要建议一个子页面的命名规范,以便于查找)--百無一用是書生 (☎) 2018年7月23日 (一) 02:47 (UTC)- 这个模板可以/应是空(占位)模板吗。命名规范也可以xxx_share。其实如果不要求是子页面,也可以顶级的”模板:xxx_share.css“这样。关于管理和维护,可以找机器人定期输出列表。--YFdyh000(留言) 2018年7月23日 (一) 07:19 (UTC)
- 差不多就是空(占位)模板吧。这样所有子页面就可以自动列出了,不需要机器人.模板:xxx_share.css这样,需要管理员改变内容模型才可以--百無一用是書生 (☎) 2018年7月23日 (一) 08:27 (UTC)
- 另外,共享css也可以通过模板嵌套来解决。比如做一个core模板,其中调用了css模板样式,其他需要用到的模板都调用这个core模板就好了--百無一用是書生 (☎) 2018年7月23日 (一) 08:34 (UTC)
- 这个模板可以/应是空(占位)模板吗。命名规范也可以xxx_share。其实如果不要求是子页面,也可以顶级的”模板:xxx_share.css“这样。关于管理和维护,可以找机器人定期输出列表。--YFdyh000(留言) 2018年7月23日 (一) 07:19 (UTC)
- 放在同一个模板页面的子页面中?例如设立一个
- “style.css”如何。是否禁止中文等非ASCII命名。
- 最好不要中文了吧--百無一用是書生 (☎) 2018年7月23日 (一) 02:47 (UTC)
- 最好不要和应避免或禁止还是有点差别的。兼容性基本没问题(条目都没事),风格、调试便利度等。如果命名整齐,中文的易读性也不会差(但大结构的工具/模板可能不那么常见)。模板是有中文命名的,以及导航模板的英文/中文命名还并不统一。--YFdyh000(留言) 2018年7月23日 (一) 07:19 (UTC)
- 我也倾向避免用中文,维护起来比较简单,除非有其他必要。--章安德鲁(留言) 2018年7月27日 (五) 09:08 (UTC)
- 最好不要中文了吧--百無一用是書生 (☎) 2018年7月23日 (一) 02:47 (UTC)
- “以关联模板名称作为前缀命名 ”是否要求和或推荐具体格式,如模板名称的位置、转化方式和大小写、间隔方式(大小写/下划线/横线)。
- (:)回应@YFdyh000:类似像Template:Isotope_nav/styles.css中的class命名-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月23日 (一) 07:44 (UTC)
- “不要利用CSS显示图像”的具体语法举例和限定,“无归属的图像(如公有领域图像)则不再此限”何解,托管及引用方式为何种。
- “避免使用!important”可作为建议和最佳实践要求,但暂时可能不需要禁止。
- #id-styles,我觉得问题不大。如果有坑(比如模板出现两次导致同元素出现两个会怎样、重名的风险等),可以列明再议,以及详列以提醒避免。
- CSS内注释的规范。
--YFdyh000(留言) 2018年7月22日 (日) 22:54 (UTC)
吐槽 如果希望在讨论区而非条文下方评论,不应该分别签名……--YFdyh000(留言) 2018年7月23日 (一) 06:14 (UTC)
- 排版有点混乱……--J.Wong 2018年7月23日 (一) 09:53 (UTC)
我认为讨论通过后,整体可以作为信息页--百無一用是書生 (☎) 2018年7月24日 (二) 02:36 (UTC)
- 如果是信息页也没必要在方针版讨论了。--Xiplus#Talk 2018年7月24日 (二) 02:47 (UTC)
- 既为共识,指引吧。--J.Wong 2018年7月24日 (二) 03:54 (UTC)
- 这些大部分都是技术性说明或约定,作为指引不太合适吧?--百無一用是書生 (☎) 2018年7月24日 (二) 11:53 (UTC)
- 若有约定,则为共识。既为共识,则宜立为指引。--J.Wong 2018年7月25日 (三) 09:01 (UTC)
- 个人猜测书生的意思是作为技术说明页面就好,不用变成硬性文字订定的规范,毕竟以方法操作为主,意思大概是这样。我觉得一些技术说明页也算是共识得来的,但是不一定要成为指引,保留一些弹性空间,本身更像是操作手册之类的。--章安德鲁(留言) 2018年7月25日 (三) 17:53 (UTC)
新指引
[编辑]- 基本规范
- 模板样式页应被特定模板或某一系列模板引用
- 孤立的模板样式设定快速删除标准
- 命名规范
- 模板样式页应置于特定模板的子页面,并以
style
或style-功能
命名 - 如需要单独的模板样式页需先取得共识,并由管理员建立,例如
Template:Hello.css
- 说明:例如共享的CSS
- 可能广泛应用到所有模板的模板样式应置于Template:ShareCSS的子页面
- 进行模板样式测试的沙盒应置于子页面,如
Template:Foo/sandbox.css
。
- 内容规范
- CSS中定义的规则或类别应以关联模板名称作为前缀命名
- 说明:模板名称基本上不会重复,以关联模板名称作为前缀命名可以避免引用到条目时有CSS规则名称冲突问题
- 样式页使用的选择器和类别名称应该是唯一的,并以使用ASCII字元为主,避免使用中文。
- 如需使用中文(如模板名称有中文)应使用汉语拼音拼出其音作为名称
- 说明:这减少了CSS规则发生冲突的可能性。
2. 样式页使用的选择器和类别名称应该是唯一的。
说明:这减少了CSS规则发生冲突的可能性。
3. 避免使用中文等非ASCII命名。
如需使用中文(如模板名称有中文)应使用汉语拼音拼出其音作为名称
- 背景图片只能使用无需姓名标示的图片(例如公有领域),不能使用合理使用的图片,即便用于条目时有符合合理使用也不能。
- 说明:一般使用图片的情况下,能够点击图片连到档案说明页查看姓名标示或版权协议。但使用在背景的图片将无法这么做。
- 不建议使用
!important
。- 说明:使用!important将导致用户自订CSS难以甚至无法覆盖模板样式。
- 不建议使用
#id-styles
。- 说明:HTML ID应该在页面上是唯一的,但模板通常不会在一个页面只被引用一次,即使是单一用途的模板也可能有无法预期的使用方式,因此推荐使用类别而不是ID来作为样式选择器。
- 其他规范
- 主页面移动时也应移动相应的模板样式页,如
Template:1
移动到Template:2
那么若有Template:1/2.css
也要移动到Template:2/2.css
- 样式页面的保护级别应与其关联模板的保护级别相同。
- 禁止在签名中加入任何模板样式
- 说明:当在签名中使用模板样式时,当模板样式变更时可能会改变之前或已存档的签名
新讨论区
[编辑]上方讨论区有些混乱,因此调整后再发一遍。若有共识的话可作为编辑指引。-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年7月29日 (日) 17:55 (UTC)
- 建议集中于此讨论。不要再在新提案穿插。--J.Wong 2018年7月30日 (一) 00:03 (UTC)
- 命名规范2和3似乎可以合并?内容规范1中如果是多模板共享的应该如何处理?内容规范2中,如果只是为了覆盖内置或mediaiwki中定义的样式,那么就无法唯一。--百無一用是書生 (☎) 2018年7月30日 (一) 02:30 (UTC)
- 还有人有其他疑问吗? 日本旅行中 宇帆(留言·欢迎签到) 2018年8月16日 (四) 11:07 (UTC) (木) 20:07 (JST)
- 新条文准备进行公示,若公示期内无合理异议,则视为通过。-- 宇帆(维基贡献十周年!留言·欢迎签到[试用小工具]) 2018年8月20日 (一) 07:19 (UTC)
- 本讨论已关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。
能增加一些技术说明吗?
[编辑]我看了mw的说明,里面提到模板样式可能会影响不相关页面的效果,我想补充这方面的说明,是否可行?--Hzt0208042508415531 tw(留言) 2024年7月27日 (六) 18:55 (UTC)