跳转到内容

模板讨论:Catnav

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

建议在中国政党增加一个子栏目: 中国社会民主党,以便于编辑。—以上未签名的留言由Luban对话贡献)加入。

要求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)[回复]
想了想机器人能自动根据服务器负载调整频率,不会影响服务器性能,那我支持继续用机器人更新CatnavPathnav我觉得可以用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)[回复]

创建了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)[回复]
我主张分类循环是非法的。--达师218372 2012年1月21日 (六) 11:00 (UTC)[回复]
分类循环有例子吗?乌拉跨氪 2012年1月21日 (六) 11:37 (UTC)[回复]
我也觉得分类不应该出现循环。循环的分类有什么实际意义?--蓝色☆枫叶拉呱 2012年1月21日 (六) 11:39 (UTC)[回复]
遇到了的话,程序不要死掉就行。Liangent (留言) 2012年1月21日 (六) 12:38 (UTC)[回复]
我会注意识别分类循环的,程序不会有问题。--蓝色☆枫叶拉呱 2012年1月21日 (六) 13:30 (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)[回复]
这个导航不完整吧。比如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]]
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)[回复]

生成模板代码的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:页面分类的最短路径,制作路径图。--达师218372 2012年1月21日 (六) 15:24 (UTC)[回复]

意思是说最终找到一条到达Category:页面分类的最短路径么?而不是画出整个图?--蓝色☆枫叶拉呱 2012年1月21日 (六) 15:45 (UTC)[回复]

2年前我做的User:Liangent/Scripts/CatNav.js,其他人改的User:P1ayer/CatNavStr.jsLiangent (留言) 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)[回复]

另一种方案

因为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)[回复]