模板討論:Catnav
要求Template:Catnav中,">"改成"\"?
我使用Windows XP,我看到像"文件夾\文件夾"這樣格式—林勇智 2009年2月25日 (三) 13:30 (UTC)
「Category:...」
{{Editprotected}} Special:待撰頁面第二位的Category:...似乎是由這個模板引致的,雖然暫時未見其他實際影響,但畢竟是個bug,望解決。 —Quest for Truth (留言) 2009年9月8日 (二) 15:15 (UTC)
- 完成,請檢查。--Jimmy XuWikibreaktalk·+ 2009年9月20日 (日) 08:02 (UTC)
目前還有機器人為分類添加導航模板Catnav嗎
用於分類導航的模板Catnav現在還有機器人在為每一個分類添加嗎?從模板的說明上看,是機器人Xcnbot在做的,但從貢獻上看,機器人2007年就停止工作了。而且其維護者User:下一次登錄也從2007年起就沒有任何操作了。也就是說現在已經沒有機器人做這件事了嗎?如果這個模板還要繼續使用的話,添加這個模板是個非常大的工程,涉及到所有的分類頁。所以最好還是應該有個機器人來做。--藍色☆楓葉♂拉呱 2012年1月18日 (三) 15:48 (UTC)
- 沒有人關心嗎?不過我有意向自己做一個機器人來做這件事,雖然不確定什麼時候能寫好。--藍色☆楓葉♂拉呱 2012年1月19日 (四) 01:25 (UTC)
- 挺喜歡這個模板的,查看和整理分類很方便。但目前沒人管,而且分類原來越大更新越來越難。最近還曾有建議停用該模板,不過沒有後續討論。--YFdyh000 2012年1月19日 (四) 02:29 (UTC)
- 維護困難可以用機器人解決。Stevenliuyi說的顯得混亂的問題,可以重新設計一下顯示樣式。比如能改為樹狀顯示就好了。Pathnav我也覺得應該停用的,因為關心條目的人應該不怎麼關注分類結構(我覺得是這樣),而關注分類的人應該比較關心其他相關或相鄰的分類,所以我覺得Catnav還是繼續使用好。--藍色☆楓葉♂拉呱 2012年1月19日 (四) 03:17 (UTC)
- 想了想機器人能自動根據服務器負載調整頻率,不會影響服務器性能,那我支持繼續用機器人更新Catnav。Pathnav我覺得可以用CSS強制放在條目的最底部(即分類的上方)方便有需要的人,如果真的沒人喜歡停用也可以。--YFdyh000 2012年1月19日 (四) 03:44 (UTC)
- 這兩個模板的區別不是很大啊,pathnav差在哪?烏拉跨氪 2012年1月19日 (四) 07:58 (UTC)
- Pathnav顯示的連結是連往條目,Catnav是連往分類。Pathnav看起來比較常用於子頁面連往母頁面,例如魔法禁書目錄用語列表、ONE_PIECE_(動畫)——michddastro (留言) 2012年1月19日 (四) 08:54 (UTC)
- 那倒是沒什麼用處。烏拉跨氪 2012年1月19日 (四) 08:57 (UTC)
- 想了想機器人能自動根據服務器負載調整頻率,不會影響服務器性能,那我支持繼續用機器人更新Catnav。Pathnav我覺得可以用CSS強制放在條目的最底部(即分類的上方)方便有需要的人,如果真的沒人喜歡停用也可以。--YFdyh000 2012年1月19日 (四) 03:44 (UTC)
- 維護困難可以用機器人解決。Stevenliuyi說的顯得混亂的問題,可以重新設計一下顯示樣式。比如能改為樹狀顯示就好了。Pathnav我也覺得應該停用的,因為關心條目的人應該不怎麼關注分類結構(我覺得是這樣),而關注分類的人應該比較關心其他相關或相鄰的分類,所以我覺得Catnav還是繼續使用好。--藍色☆楓葉♂拉呱 2012年1月19日 (四) 03:17 (UTC)
- 挺喜歡這個模板的,查看和整理分類很方便。但目前沒人管,而且分類原來越大更新越來越難。最近還曾有建議停用該模板,不過沒有後續討論。--YFdyh000 2012年1月19日 (四) 02:29 (UTC)
創建了Category:使用Catnav的頁面、Category:使用Pathnav的頁面。Liangent (留言) 2012年1月19日 (四) 03:56 (UTC)
新的分類導航模板
之前有人說Catnav模板在分類多的時候顯得比較雜亂(這裡)。我重新寫了一個圖狀的導航模板,代碼在User:Blove maple/sandbox3User:Blove maple/CatnavGraph。比如「漢字」分類導航顯示為:
模板支持最多寬10深10的導航圖。我打算用機器人把這個模板應用在所有分類中,並替換已有的{{Catnav}}。大家覺得怎麼樣?有什麼需要改進的地方?(模板的代碼是有點多,有154,921字節!不過這是我用Java生成的,並不需要直接維護代碼。如果有人需要的話,我可以提供生成模板代碼的Java代碼。如果最大寬度和深度需要修改,直接改Java代碼就可以,很方便。)--藍色☆楓葉♂拉呱 2012年1月21日 (六) 08:35 (UTC)
- 分類循環怎麼處理?Liangent (留言) 2012年1月21日 (六) 10:51 (UTC)
- 我主張分類循環是非法的。--達師 - 218 - 372 2012年1月21日 (六) 11:00 (UTC)
- 分類循環有例子嗎?烏拉跨氪 2012年1月21日 (六) 11:37 (UTC)
- 中文維基百科全部分類最下面有列出,只是久未更新,大多數已修正。——michddastro (留言) 2012年1月21日 (六) 13:25 (UTC)
- 分類循環有例子嗎?烏拉跨氪 2012年1月21日 (六) 11:37 (UTC)
- 我也覺得分類不應該出現循環。循環的分類有什麼實際意義?--藍色☆楓葉♂拉呱 2012年1月21日 (六) 11:39 (UTC)
- 遇到了的話,程序不要死掉就行。Liangent (留言) 2012年1月21日 (六) 12:38 (UTC)
- 若遇到,應該要將該分類提報於一個頁面(例如Wikipedia_talk:頁面分類專題)供其他編者手動修正。——michddastro (留言) 2012年1月21日 (六) 13:25 (UTC)
- 我會注意識別分類循環的,程序不會有問題。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 13:30 (UTC)
- 遇到了的話,程序不要死掉就行。Liangent (留言) 2012年1月21日 (六) 12:38 (UTC)
- 一個en:Tortoise and hare algorithm就可以解決...ZZArch talk to me 2012年1月21日 (六) 21:05 (UTC)
- 這個算法是尋找序列裡面循環的值吧?其實識別分類循環不用這麼麻煩的,在深淺方向上走的過程中只要出現前面出現過的分類就一定循環了,否則就一定沒有循環。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 23:51 (UTC)
- 那樣的話你要維護一個列表,列出所有見到過的分類,而T&H演算法是O(1)空間複雜度…不過話說回來分類循環一般不會有太多層,所以也沒有太大區別。ZZArch talk to me 2012年1月22日 (日) 00:21 (UTC)
- 這個算法是尋找序列裡面循環的值吧?其實識別分類循環不用這麼麻煩的,在深淺方向上走的過程中只要出現前面出現過的分類就一定循環了,否則就一定沒有循環。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 23:51 (UTC)
- 我主張分類循環是非法的。--達師 - 218 - 372 2012年1月21日 (六) 11:00 (UTC)
- 這個導航不完整吧。比如Category:漢字的父分類少了Category:漢語,Category:文字的父分類少了Category:書面語、Category:概念系統 ,Category:語言學的父分類少了Category:語言……,另外Category:語言、Category:科技都是Category:頁面分類的子分類,也沒有表示出來。--Stevenliuyi (留言) 2012年1月21日 (六) 12:05 (UTC)
- 是,這個不是完整的,不是自動生成的,而是我看着漢字分類頁面上面舊有的導航內容寫的,只是做個樣本而已。現在的漢字分類的上層結構已經不是這樣了。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 12:11 (UTC)
- 問一下在A分類中,這個怎麼表示:(A: B, C)表示在Category:A中寫有[[Category:B]]和[[Category:C]]
- 是,這個不是完整的,不是自動生成的,而是我看着漢字分類頁面上面舊有的導航內容寫的,只是做個樣本而已。現在的漢字分類的上層結構已經不是這樣了。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 12:11 (UTC)
A: B, C B: D, G C: D, E, F D: F E: F G: H
另外建議在模板下隨便開個子頁面把生成器代碼貼進去。Liangent (留言) 2012年1月21日 (六) 12:33 (UTC)
- 最好有個完整點的例子,因為我擔心完整的導航圖可能會相當龐大。比如會出現這樣很長的路徑:頁面分類->地理->區域地理->大洲->依大洲來作的分類->各大洲地理->亞洲地理->亞洲地區->東亞->東亞文化->東亞文化圈->中華文化->中國文化->中國語言->漢語->漢字(這只是我隨意找的一條路徑,像這樣的長路徑可能還會有很多)。--Stevenliuyi (留言) 2012年1月21日 (六) 12:39 (UTC)
- Liangent:我也考慮到這個問題了,就是「B: D, G;C: D, E, F」這樣怎麼表示的問題。或許可以使左右相鄰的兩列之間可以有多個豎線的位置,這樣就可以把B和C分叉出來的分支在不同的豎線上表示(說得有點亂,你能明白吧?),不過現在這個模板還不能實現,或許改代碼實現也不難。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 12:54 (UTC)
- Stevenliuyi:龐大的導航不適合全部列出來,我想可以挑選路徑中間含條目或子分類較多(這樣可以視為比較重要)的分類列出來,其餘用省略號表示。或許還可以在模板上貼一個鏈接,引導到含有當前分類完整導航的頁面(不過如果很龐大的話,導航模板的篇幅又是個問題了)--藍色☆楓葉♂拉呱 2012年1月21日 (六) 12:54 (UTC)
- 最好有個完整點的例子,因為我擔心完整的導航圖可能會相當龐大。比如會出現這樣很長的路徑:頁面分類->地理->區域地理->大洲->依大洲來作的分類->各大洲地理->亞洲地理->亞洲地區->東亞->東亞文化->東亞文化圈->中華文化->中國文化->中國語言->漢語->漢字(這只是我隨意找的一條路徑,像這樣的長路徑可能還會有很多)。--Stevenliuyi (留言) 2012年1月21日 (六) 12:39 (UTC)
生成模板代碼的Java源碼:用戶:Blove maple/CatnavGraph/source--藍色☆楓葉♂拉呱 2012年1月21日 (六) 13:02 (UTC)
- 請問可以像WP:TOOL一樣手動執行嗎?很期待它能早日派上用場。——michddastro (留言) 2012年1月21日 (六) 15:17 (UTC)
- 目前我還不知道怎麼用JS做小工具。我只會這樣做成這個模板,然後用機器人遍歷所有分類,把它加上去,並且之後進行維護。--藍色☆楓葉♂拉呱 2012年1月21日 (六) 15:45 (UTC)
建議,這樣:找到該分類的一級父分類,如果只有1個,找二級父分類。二級父分類還只有一個就一個吧。同時可以手動調整,如果二級父分類已經太大就放棄。之後針對每一個分類,尋找其到達Category:頁面分類的最短路徑,製作路徑圖。--達師 - 218 - 372 2012年1月21日 (六) 15:24 (UTC)
- 意思是說最終找到一條到達Category:頁面分類的最短路徑麼?而不是畫出整個圖?--藍色☆楓葉♂拉呱 2012年1月21日 (六) 15:45 (UTC)
2年前我做的User:Liangent/Scripts/CatNav.js,其他人改的User:P1ayer/CatNavStr.js。Liangent (留言) 2012年1月21日 (六) 15:56 (UTC)
- 不好意思我不知道怎麼用Js,我也不會寫Js……從代碼上看應該是可以在人工添加Catnav模板的時候自動生成引用代碼吧?我會參考的。--藍色☆楓葉♂拉呱 2012年1月22日 (日) 00:05 (UTC)
大家給個建議吧
前面Liangent提出的問題(就是「A->(C,D,E);B->(D,E,F)」甚至是更複雜的情況),我想了想,按照我後來說的方法,好像還是沒有辦法表示清楚。大家給個建議,把模板做成什麼樣才能表示呢?--藍色☆楓葉♂拉呱 2012年1月25日 (三) 06:54 (UTC)
- 一樣使用原有模板的條列式表示。一方面參考達師的意見,只列出最短的數條路徑,這樣可使每列層次一致。再來可使用表格,無論分類名稱長短皆可整齊排列。最後從頂端的頁面分類開始依層次字典排序,這樣可使父分類相近的路徑儘量相鄰,教容易查詢。——michddastro (留言) 2012年1月25日 (三) 07:33 (UTC)
- 條列式表示也可以,不過如果多條路徑有很多重複的部分,則看起來不如圖狀表示清晰一些,這也是做這個圖狀模板的原因。
第二種表格的方式,抱歉我沒看明白「從頂端的頁面分類開始依層次字典排序」是什麼意思。現在這個圖狀模板就是使用表格實現的,分類名稱就是表格單元,指示路徑的線就是使用表格單元的邊框畫出來的。機器人生成引用代碼時是會讓父分類相同的分類相鄰的,要不然指示路徑的線就沒法畫了。--藍色☆楓葉♂拉呱 2012年1月25日 (三) 07:52 (UTC) - 噢,明白了。表格的方式是說用表格實現條列式表示吧?不過我還是覺得圖狀清晰一些的,而且畢竟Liangent提出的這種問題只是一種特殊情況,如果能解決就好了。--藍色☆楓葉♂拉呱 2012年1月25日 (三) 07:57 (UTC)
- 條列式表示也可以,不過如果多條路徑有很多重複的部分,則看起來不如圖狀表示清晰一些,這也是做這個圖狀模板的原因。
- 或許可引入en:Template:Category tree both模板(使用效果可參見en:Category:Canadian music)?可同時顯示各級子分類和各級父分類。--Stevenliuyi (留言) 2012年1月25日 (三) 08:17 (UTC)
- en:Template:Category tree both這個模板是用來顯示一個分類下面的各級分類的,而不是顯示一個分類上面的各級分類。如果要用於後者,那麼每次引用是一定是以Category:頁面分類作為根節點,然後依次展開,直到到達當前分類。這樣展開一個分類之後看到的子分類並不是此分類下所有的子分類,而只是一部分(可以到達目標分類的路徑上的子分類),有時可能會讓人誤以為子分類只有顯示的這一些。而且,這種手動展開的方式適合於根據讀者的需要,由讀者自己展開到適合的層次和位置;然而導航圖的作用在於讓讀者直觀的感受到當前分類上方分類的層次結構,並方便導航到上面所有範圍較大的分類。所以我覺得這種方式不適合應用在這裡。--藍色☆楓葉♂拉呱 2012年1月25日 (三) 08:31 (UTC)
- 不過也算解決的那個特殊的問題。還要再考慮一下……--藍色☆楓葉♂拉呱 2012年1月25日 (三) 08:35 (UTC)
- en:Template:Category tree both可同時顯示子分類與父分類(both指的就是這意思),頁面左側是各級子分類,右側是各級父分類。--Stevenliuyi (留言) 2012年1月25日 (三) 08:39 (UTC)
- 是的。不好意思剛才看錯了。應用這種模板也不錯,不過「導航圖的作用在於讓讀者直觀的感受到當前分類上方分類的層次結構,並方便導航到上面所有範圍較大的分類」,這種作用就弱了。要不然,這種模板和舊的條列式表示的導航模板(Template:Catnav)同時使用也不錯,條列式導航模板只列出幾個比較重要的路徑。--藍色☆楓葉♂拉呱 2012年1月25日 (三) 08:48 (UTC)
- en:Template:Category tree both效果不錯 Derek Leung留言 2012年4月22日 (日) 07:06 (UTC)
- en:Template:Category tree both可同時顯示子分類與父分類(both指的就是這意思),頁面左側是各級子分類,右側是各級父分類。--Stevenliuyi (留言) 2012年1月25日 (三) 08:39 (UTC)
另一種方案
因為Liangent提出的問題用圖狀導航確實難以表示,再綜合Stevenliuyi的提議,我做了一種新的導航模板(User:Blove maple/CatnavNew),例子在這裡。「重要路徑」是指路徑中分類的頁面或子分類較多的,這個可以用機器人自動選出來(例子中的「重要路徑」並不符合上述條件,只是一個示例)。大家覺得這一種好不好?我對HTML不是很熟悉,自己覺得不大美觀,但不知道怎樣改進。--藍色☆楓葉♂拉呱 2012年1月26日 (四) 16:34 (UTC)
提議刪除Catnav及移除所有引用
一、該模板維護成本過高。二、依據Template_talk:Catnav自2012從無人接手維護後,這些高引用模板很顯然維護成本過高。故建議移除並刪除該模板。-- Willy1018(留言) 2021年11月22日 (一) 21:12 (UTC)
- 還需要維護?是指功能上的維護(例如錯誤修復或功能更新),還是指使用維護(也就是哪些分類需要怎樣使用這個模板?)?沒壞別修,最多不用(好像只有早期出現的分類有使用這個模板)。——Sakamotosan路過圍觀杯弓蛇影 | 避免做作,免敬 2021年11月23日 (二) 00:45 (UTC)
- 需要有機器人更新一個例子Category:依中國各省來作的分類是Special:需要的頁面中排名第16個目前有2408個連結,這些都是該模板造成的,如果是我的話會直接移除有問題頁面的頁面中所有Catnav模板,不會進行修復。-- Willy1018(留言) 2021年11月25日 (四) 06:31 (UTC)