維基百科討論:模板樣式
外觀
引入模板樣式
[編輯]模板樣式是一個新功能,它讓每個模板都可以有自己單獨的 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,需要先把
- 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)