维基百科讨论:模板樣式

页面内容不支持其他语言。
维基百科,自由的百科全书

引入模板样式

模板样式是一个新功能,它让每个模板都可以有自己单独的 CSS 页面,从而不用把什么东西都加到MediaWiki:Common.css或者模板的代码里。比如现在 Common.css 里那一大堆 mbox 的样式就可以移出去。这样做的好处是不需要管理员权限也可以添加样式、不需要保存即可预览变化、不需要在所有页面加载样式(相对修改 Common.css 而言),而且大大提升了代码可读性、可以使用更多的 CSS 语法(相对写在模板代码里而言)。

目前,瑞典语维基已经部署该功能,而俄语维基正请求部署。在此提议于中文维基百科部署模板样式。 --砜中嘌呤的白磷萃取 打谱 2018年3月2日 (五) 06:55 (UTC)[回复]

(懒得模板提及了)没人反对的话我就提了啊。--Liuxinyu970226留言2018年3月6日 (二) 15:38 (UTC)[回复]

由于中文维基还在使用 Tidy 而没有迁移到 Remex,部署模板样式的计划被搁置了,具体原因请见此处。 --砜中嘌呤的白磷萃取 打谱 2018年3月7日 (三) 00:53 (UTC)[回复]

模板樣式的相關規範

已通過:
公示已逾七日,通過。已修訂,補充此頁討論出的模板樣式相關規範內容。-- 宇帆(維基貢獻十周年!留言·歡迎簽到 [試用小工具]2018年8月31日 (五) 18:18 (UTC)[回复]
下列討論已經關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。

模板樣式已經佈屬,是時候該訂立相關指引或方針,避免混亂,請根據下列項目發表看法(參考自英文維基)

基本規範

  1. 模板樣式頁應被特定模板或某一系列模板引用
  2. 孤立的模板樣式設定快速刪除標準

命名規範

  1. 模板樣式頁應置於特定模板的子頁面,並以stylestyle-功能命名
  2. 不能有單獨的模板樣式頁,例如Template:Hello.css

內容規範

  1. CSS中定義的規則或類別應以關聯模板名稱作為前綴命名
  2. 不要利用CSS顯示圖像(不管圖像是自由版權還是合理使用),無歸屬的圖像(如公有領域圖像)則不再此限
  3. 避免使用!important
  4. 避免使用#id-styles
我认为上述只应作为建议,而不应当强制(尤其是考虑到与以前的兼容性)--百無一用是書生 () 2018年7月23日 (一) 02:47 (UTC)[回复]
(:)回應@Shizhao第一條我覺得必須強制規定,因為一個頁面中可能會有引用多個模板樣式,不強制規定將造成名稱衝突,而影響到其他模板的顯示。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月23日 (一) 07:41 (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)[回复]
正因如此才需要用指引來約束啊。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月25日 (三) 09:22 (UTC)[回复]

其他規範

  1. 主頁面移動時也應移動相應的模板樣式頁,如Template:1移動到Template:2那麼若有Template:1/2.css也要移動到Template:2/2.css
  2. 樣式頁面的保護級別應與其關聯模板的保護級別相同
  3. 禁止在簽名中加入任何模板樣式
  4. 引用模板樣式時直接將<templatestyles>當符號加入,請不要換行或加入在新的一行
    Special:Diff/50551596Wikipedia:互助客栈/技术#{{IPA}}模板打乱表格标记解析-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月23日 (一) 16:50 (UTC)[回复]
    这个是某些模板固有的问题。是否任何情况下都应该不换行?换行会不会有益处?--百無一用是書生 () 2018年7月24日 (二) 02:31 (UTC)[回复]
    這個問題的答案,只要會熟悉編寫模板就會知道,是否要換行,選擇了換行的結果是什麼,都是可預期的,直接限制「請不要換行或加入在新的一行」似乎沒有意義。--Xiplus#Talk 2018年7月24日 (二) 02:43 (UTC)[回复]

討論區

想法和未定疑问:

  1. 如何进行模板样式测试?即沙盒的设立和规范。
  2. 孤立速删没意见。应该要求向创建人告知规范,通过新设一个或多个留言模版,或者手写留下方针页链接。
  3. 被同类或同系列的多个模板使用的模板样式,何种适合共享,放在哪个名称或模板的子页面。分别设立及维护不便于统一历史记录和更新,共享建立能依靠CSS区分及适时拆分,但也会有其他弊端。
    放在同一个模板页面的子页面中?例如设立一个Template:ShareCSS,所有需要共享的css作为其子页面,例如Template:ShareCSS/box.cssTemplate: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)[回复]
  4. “style.css”如何。是否禁止中文等非ASCII命名。
    最好不要中文了吧--百無一用是書生 () 2018年7月23日 (一) 02:47 (UTC)[回复]
    最好不要和应避免或禁止还是有点差别的。兼容性基本没问题(条目都没事),风格、调试便利度等。如果命名整齐,中文的易读性也不会差(但大结构的工具/模板可能不那么常见)。模板是有中文命名的,以及导航模板的英文/中文命名还并不统一。--YFdyh000留言2018年7月23日 (一) 07:19 (UTC)[回复]
    我也傾向避免用中文,維護起來比較簡單,除非有其他必要。--章安德魯留言2018年7月27日 (五) 09:08 (UTC)[回复]
  5. “以关联模板名称作为前缀命名 ”是否要求和或推荐具体格式,如模板名称的位置、转化方式和大小写、间隔方式(大小写/下划线/横线)。
    (:)回應@YFdyh000類似像Template:Isotope_nav/styles.css中的class命名-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月23日 (一) 07:44 (UTC)[回复]
  6. “不要利用CSS显示图像”的具体语法举例和限定,“无归属的图像(如公有领域图像)则不再此限”何解,托管及引用方式为何种。
    (:)回應@YFdyh000例如background-image: url("paper.gif");這種利用CSS來設定圖像的行為,若圖像有任何版權申明,將無法透過點擊圖像來檢視。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月23日 (一) 07:48 (UTC)[回复]
  7. “避免使用!important”可作为建议和最佳实践要求,但暂时可能不需要禁止。
  8. #id-styles,我觉得问题不大。如果有坑(比如模板出现两次导致同元素出现两个会怎样、重名的风险等),可以列明再议,以及详列以提醒避免。
    (:)回應:所以我(÷)倾向不支持「禁止使用#id-styles」這條規範。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年7月23日 (一) 07:45 (UTC)[回复]
  9. CSS内注释的规范。

--YFdyh000留言2018年7月22日 (日) 22:54 (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)[回复]

新指引

基本規範
  1. 模板樣式頁應被特定模板或某一系列模板引用
  2. 孤立的模板樣式設定快速刪除標準
命名規範
  1. 模板樣式頁應置於特定模板的子頁面,並以stylestyle-功能命名
  2. 如需要單獨的模板樣式頁需先取得共識,並由管理員建立,例如Template:Hello.css
    • 說明:例如共享的CSS
  3. 可能廣泛應用到所有模板的模板樣式應置於Template:ShareCSS的子頁面
  4. 进行模板样式测试的沙盒應置於子頁面,如Template:Foo/sandbox.css
內容規範
  1. CSS中定義的規則或類別應以關聯模板名稱作為前綴命名
    • 說明:模板名稱基本上不會重複,以關聯模板名稱作為前綴命名可以避免引用到條目時有CSS規則名稱衝突問題
  2. 樣式頁使用的選擇器和類別名稱應該是唯一的,並以使用ASCII字元為主,避免使用中文。
    • 如需使用中文(如模板名稱有中文)應使用漢語拼音拼出其音作為名稱
    • 說明:這減少了CSS規則發生衝突的可能性。
    2. 樣式頁使用的選擇器和類別名稱應該是唯一的。
    • 說明:這減少了CSS規則發生衝突的可能性。
    3. 避免使用中文等非ASCII命名。
    • 如需使用中文(如模板名稱有中文)應使用漢語拼音拼出其音作為名稱
  3. 背景圖片只能使用無需姓名標示英语Attribution (copyright)的圖片(例如公有領域),不能使用合理使用的圖片,即便用於條目時有符合合理使用也不能。
    • 說明:一般使用圖片的情況下,能夠點擊圖片連到檔案說明頁查看姓名標示或版權協議。但使用在背景的圖片將無法這麼做。
  4. 不建議使用!important
    • 說明:使用!important將導致用戶自訂CSS難以甚至無法覆蓋模板樣式。
  5. 不建議使用#id-styles
    • 說明:HTML ID應該在頁面上是唯一的,但模板通常不會在一個頁面只被引用一次,即使是單一用途的模板也可能有無法預期的使用方式,因此推薦使用類別而不是ID來作為樣式選擇器。
其他規範
  1. 主頁面移動時也應移動相應的模板樣式頁,如Template:1移動到Template:2那麼若有Template:1/2.css也要移動到Template:2/2.css
  2. 樣式頁面的保護級別應與其關聯模板的保護級別相同。
  3. 禁止在簽名中加入任何模板樣式
    • 說明:當在簽名中使用模板樣式時,當模板樣式變更時可能會改變之前或已存檔的簽名

新討論區

上方討論區有些混亂,因此調整後再發一遍。若有共識的話可作為編輯指引。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]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)[回复]
(:)回應那改成「2.樣式頁使用的選擇器和類別名稱應該是唯一的,並以使用ASCII字元為主,避免使用中文。 \n 3. ...-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年8月9日 (四) 07:50 (UTC)[回复]
還有人有其他疑問嗎? 日本旅行中 宇帆留言·歡迎簽到2018年8月16日 (四) 11:07 (UTC) (木) 20:07 (JST)[回复]
新條文準備進行公示,若公示期內無合理異議,則視為通過。-- 宇帆(維基貢獻十周年!留言·歡迎簽到[試用小工具]2018年8月20日 (一) 07:19 (UTC)[回复]

本討論已關閉,請勿修改。如有任何意見,請在合適的討論頁提出,而非再次編輯本討論。