模块讨论:RouteSequence
怎样显示换乘站
如果使用%的话,就无法为此站创建链接。怎样为一个站点显示换乘站,如{{长沙地铁4号线}}的光达站显示:光达(换乘 )?-- 2号线SolidBlock留言 2019年9月12日 (四) 12:27 (UTC)
- 感谢IP用户的编辑。--SolidBlock留言 2019年9月13日 (五) 08:10 (UTC)
编辑请求 2020-06-24
请求已拒绝
请求将第243行的system_data = mw.loadData("Module:RailSystems/" .. system)中将Module:RailSystems改为Module:Adjacent stations,如果发现问题可以回退。--Nissangeniss(留言) 2020年6月24日 (三) 06:08 (UTC)
- @Nissangeniss:您有测试过吗?是否有现有的页面可展示测试结果? Xiplus#Talk 2020年6月29日 (一) 16:03 (UTC)
- 用过模块的沙盒,但是不知道沙盒内容引入铁道路线模板Nissangeniss(留言) 2020年6月30日 (二) 01:45 (UTC)
- @Nissangeniss:为什么要做出此修改?为了解决什么问题? Xiplus#Talk 2020年7月6日 (一) 04:32 (UTC)
- 因为也是@Owennson:在我的讨论页提出来,说RailSystems模块要淘汰建议我改用Module:Adjacent stations的,要不建议将两个模块合并再说?毕竟阁下也不知如何将模块引入铁道路线模板来测试Nissangeniss(留言) 2020年7月6日 (一) 07:58 (UTC)
- RailSystems和adjacent stations本来就高度重叠,而且同时存在多年,请求合并两者也已经讨论好一段时间了,不过因技术原因始终没有做。--owennson(聊天室、奖座柜) 2020年7月6日 (一) 08:28 (UTC)
- @Nissangeniss、Owennson:两个模组子页面不尽相同,替换不会导致部分的页面坏掉吗? Xiplus#Talk 2020年7月10日 (五) 13:01 (UTC)
- User:Xiplus:这就是一直无法取消的原因了。除非使用Railsystems的所有模板和条目全部换成以as为基础的模板,否则做不到的...--owennson(聊天室、奖座柜) 2020年7月10日 (五) 14:21 (UTC)
- 是不是应该先把AS缺少的部分从Railsystems复制过去? Xiplus#Talk 2020年7月10日 (五) 23:33 (UTC)
- User:Xiplus:这就是一直无法取消的原因了。除非使用Railsystems的所有模板和条目全部换成以as为基础的模板,否则做不到的...--owennson(聊天室、奖座柜) 2020年7月10日 (五) 14:21 (UTC)
- @Nissangeniss、Owennson:两个模组子页面不尽相同,替换不会导致部分的页面坏掉吗? Xiplus#Talk 2020年7月10日 (五) 13:01 (UTC)
- RailSystems和adjacent stations本来就高度重叠,而且同时存在多年,请求合并两者也已经讨论好一段时间了,不过因技术原因始终没有做。--owennson(聊天室、奖座柜) 2020年7月6日 (一) 08:28 (UTC)
未完成,目前的修改方案会造成部分页面受损。--Xiplus#Talk 2020年7月19日 (日) 13:39 (UTC)
编辑请求 2021-01-31
请求已处理--Tim Wu(留言) 2021年2月6日 (六) 03:11 (UTC)
增加对Module:Adjacent stations的支持,手动测试通过,但由于Module:Adjacent stations没有稳定的测试用例,所以暂时无法引入p.testCase,其他执行p.testCase{}通过无报错,说明至少现有页面不会受影响。其他情况待后续引入Module:Adjacent stations数据后再议。
另:合并后可使用AS:system_name测试AS是否可正常再线路图中显示。
--思域无疆大道 事体 机器 2021年1月31日 (日) 13:14 (UTC)
- @Siyuwj:在自己的沙盒测试了一下,Module:Adjacent_stations/广州地铁中的广州南站,会显示为“广州南站|广州南站”。--Tim Wu(留言) 2021年1月31日 (日) 13:32 (UTC)
- 这就是没有 Test Case 的麻烦,我也不知道 Corner 有没有全覆盖,但至少不会破坏现有的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)
完成,下面的框我是拿来做记录的……—思域无疆大道 事体 机器 2021年1月31日 (日) 13:44 (UTC)
- 我这里没问题了,先公示7天吧。感谢您的更新。Tim Wu(留言) 2021年1月31日 (日) 13:54 (UTC) --
目前测试通过(以下内容可能会随着讨论的进行而更新):
print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='绍兴轨道交通'}}) print(p.route{args={stations='大庆寺 ~ 奥体中心 ~ 兰亭', system='AS:绍兴轨道交通'}}) # 只使用 [[Module:Adjacent_stations]] print(p.route{args={stations='广州东站 ~ 体育中心 ~ 体育西路', system='广州地铁'}})
—思域无疆大道 事体 机器 2021年1月31日 (日) 13:38 (UTC)
- @Siyuwj、TimWu007:刚刚做了沙盒测试,改了一下RouteSequence改用Adj的参数再改动53行为lines(参见沙盒Module:RouteSequence/sandbox、Template:铁道路线/sandbox、Template:铁道路线/车站列表/sandbox),对比效果参见Template:铁道路线/testcases,铁道系统用汉字“广州地铁”没有问题。Nissangeniss(留言) 2021年1月31日 (日) 13:58 (UTC)
- @Nissangeniss:直接替换为Adj的话,所有的消歧义全部失效了(例如石井站 (广州)变成了石井站),这也就是说RouteSequence最重要的能力被破坏了。可以在“参数设置”->“小工具”选择“用橙色标记消歧义页面”。—思域无疆大道 事体 机器 2021年1月31日 (日) 14:09 (UTC)
- 估计可能要在哪儿加一下能够消歧义的代码吧Nissangeniss(留言) 2021年1月31日 (日) 15:41 (UTC)
- 思域无疆的版本似乎已经解决了问题?--Tim Wu(留言) 2021年1月31日 (日) 15:45 (UTC)
- 好吧,现在才去看了无疆做的沙盒。Nissangeniss(留言) 2021年1月31日 (日) 16:43 (UTC)
- @Siyuwj、@TimWu007:{{Adjacent stations}}本身是向外提供了经过消歧义的车站链接接口的({{T:stl}}
{{stl|系统|车站}}
,或者直接使用lua调用,见下),而现测试版本中似乎直接将这部分代码置入了,增加了耦合性,是否应该考虑解耦? require('Module:Adjacent stations')._station({ system = '上海地铁', station = '世纪大道', line = nil, -- 可选 type = nil, -- 可选 }, frame)
- ――David Xuang (contact me) 2021年2月2日 (二) 09:16 (UTC)
- @David Xuang:多谢提醒。试用了,但个人感觉不合适。首先,_station看起来是私有方法,API未必稳定(而数据的格式可以认为是稳定的)。其次,_station 会尝试访问多个全局变量,这意味着随着该函数的更新,Module:RouteSequence随时有可能会出现错误,所以尝试通过 _station 解耦并不彻底(require的全局变量必须定义在当前Module里)。最后,Module:RouteSequence会设置车站的颜色、字体等信息以体现开通状态,而这无法通过{{stl}}达到。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:55 (UTC)
- @Siyuwj:
_station
的命名是因为station
这个入口是供维基文本以{{#invoke:}}
语法调用的,可以注意到MakeInvokeFunction
将前者包装成了后者,此处的API更改应该至少是向前兼容的(只增加可选值),而getStation
函数才是私有的并且只支持{{Adjacent stations}}的,而其实接口函数还会尝试调用{{[系统名]车站}}
处理消歧义,适用面更广。引用的模块里的本地变量的作用域问题,按我的理解和使用来看似乎是不存在的,不知道您具体指的是哪种问题。最后一个问题确实存在,但这个函数返回的格式是维基链接且必有两个值,其实可以使用正则表达式(\[\[(.+)\|(.+)\]\]
)提取所需的两处文本解决。――David Xuang (contact me) 2021年2月2日 (二) 11:47 (UTC)
- @Siyuwj:
- @David Xuang:多谢提醒。试用了,但个人感觉不合适。首先,_station看起来是私有方法,API未必稳定(而数据的格式可以认为是稳定的)。其次,_station 会尝试访问多个全局变量,这意味着随着该函数的更新,Module:RouteSequence随时有可能会出现错误,所以尝试通过 _station 解耦并不彻底(require的全局变量必须定义在当前Module里)。最后,Module:RouteSequence会设置车站的颜色、字体等信息以体现开通状态,而这无法通过{{stl}}达到。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:55 (UTC)
- 思域无疆的版本似乎已经解决了问题?--Tim Wu(留言) 2021年1月31日 (日) 15:45 (UTC)
- 估计可能要在哪儿加一下能够消歧义的代码吧Nissangeniss(留言) 2021年1月31日 (日) 15:41 (UTC)
- User:Siyuwj、User:TimWu007,不如干脆人手把RS替换成Adj吧,虽然有3800个页面,但只要没人增加RS,做起来还是很快的。我自己曾经以一人之力把1000多个Infobox Japanese station替换成日本车站资讯模板(后来并到Infobox station),花了11个月。按此比例,RS换成ADJ要2年多。就看各位有没有意愿一起做了。ADJ的代码比RS还简单和好理解,同时又有很多外语连结,所以我是提倡废掉RS全用ADJ的。--owennson(聊天室、奖座柜) 2021年1月31日 (日) 15:12 (UTC)
- 请注意,这个编辑请求正是要添加对Adj的支持,不是讨论adj与rs的合并问题。rs已经在存废讨论,阁下可移步至那边对相关议题发表意见。--Tim Wu(留言) 2021年1月31日 (日) 15:15 (UTC)
- 好的。--owennson(聊天室、奖座柜) 2021年1月31日 (日) 15:22 (UTC)
- @Nissangeniss:直接替换为Adj的话,所有的消歧义全部失效了(例如石井站 (广州)变成了石井站),这也就是说RouteSequence最重要的能力被破坏了。可以在“参数设置”->“小工具”选择“用橙色标记消歧义页面”。—思域无疆大道 事体 机器 2021年1月31日 (日) 14:09 (UTC)
编辑请求 2021-02-02
一般而言,中文的标点与对应西文标点等宽或更宽;在西文连接号使用en dash(– –
)的情况下,这里连接号使用更窄的hyphen(-)是否不妥?并且,可以注意到T:铁道路线页面上提供的台铁示例似乎也是使用的en dash,本条目是否应该考虑改用en dash(– –
)作为车站分隔符?――David Xuang (contact me) 2021年2月2日 (二) 09:00 (UTC)
- 有道理,我顺便改一下。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:57 (UTC)
完成。—思域无疆大道 事体 机器 2021年2月2日 (二) 10:59 (UTC)
关于模块改动后的问题
@Siyuwj、TimWu007:阁下发现改动此模块后如果{{铁道路线}}写了lua=1而不写铁道系统的参数的话会报错(见:Template:淮南铁路),看看有没有快速解决的方法?Nissangeniss(留言) 2021年2月6日 (六) 02:49 (UTC)
- 我在模块文档页也发现了,还以为是少部分的问题……那我先回退更改了。--Tim Wu(留言) 2021年2月6日 (六) 03:01 (UTC)
- @Nissangeniss:思域无疆君已修复错误,辛苦您修改模板了。--Tim Wu(留言) 2021年2月6日 (六) 03:11 (UTC)
编辑请求 2021-02-06
请求已处理--Tim Wu(留言) 2021年2月6日 (六) 03:11 (UTC)
修复system参数为空导致的模块报错。--思域无疆大道 事体 机器 2021年2月6日 (六) 03:05 (UTC)
- @TimWu007::之前的版本没有考虑空字符串和nil……已经提新的patch,同时引入了测试。—思域无疆大道 事体 机器 2021年2月6日 (六) 03:07 (UTC)
- 感谢修复。--Tim Wu(留言) 2021年2月6日 (六) 03:11 (UTC)
编辑请求 2022-07-08
请求已处理
现有的灰色站名不满足WCAG对正文字号文本的AA对比度要求(4.5及以上)。现有数值及最小满足要求的数值的数据列于下,并考虑到与{{navbox}}两种默认底色的配合。——David Xuang (contact me) 2022年7月8日 (五) 20:37 (UTC)
文本颜色 | 白色背景 | {{navbox}}背景 | |
---|---|---|---|
gray (#808080 )
|
3.94 | 3.88 | 3.68 |
#717171
|
4.88 | 4.79 | 4.55 |
- 在 sandbox 里改了个版本,并已通过 testCase。—思域无疆大道 事体 机器 2022年7月9日 (六) 02:36 (UTC)
完成。 2022年10月15日 (六) 23:20 (UTC)
编辑请求 2023-03-04
请求已处理
由于Module:RailSystems下已无实际使用的数据模块,故停止在Module:RailSystems中查找数据。同时修复指定system后使用叹号自定义链接的语法。TestCases已经通过。--思域无疆大道 事体 机器 2023年3月4日 (六) 20:11 (UTC)
模组341-343行的问题
我注意到在 Template:兰渝铁路 条目中,有两个连续的blstart但是实际上只渲染一次,而blend渲染了多次,这导致了在模板的实际渲染结果中有html标签不对应的问题。
此外,强烈不建议使用 output_str = output_str ..
这样的写法,至于原因应该不需要我说了吧。--SolidBlock留言 2023年4月29日 (六) 06:13 (UTC)
编辑请求 2023-05-03
请求已处理
修复上面提到的问题Module:RouteSequence/testcases。-思域无疆大道 事体 2023年5月3日 (三) 03:05 (UTC)
,同时迁移测试用例到完成,测试用例没有问题,已等待超过一周。--Tiger(留言) 2023年5月12日 (五) 14:57 (UTC)
关于模块改动后的问题
@Siyuwj、Tigerzeng:我留意到经过近期的改动之后,Template:将军澳线、Template:东铁线以及Template:厦深铁路等模板在右侧无站的情况下仍会输出“>”,阁下是否应当重新考虑是次修订呢?另外Template:兰渝铁路出现的问题在我试图于Template:广茂铁路添加棠溪联络线的有关信息时亦有遇到,是次修订对于相关问题十分有帮助,但对于其他模板确实也产生了一定影响。--Jacky Cheung(留言) 2023年5月21日 (日) 11:21 (UTC)
- @Jackycheung0929:作为workaround,可以先不填写末尾的blend,模块会自动补足BLOCK_END_PURE(即</div>)。相关情形已加入testcase并开始修正。—思域无疆大道 事体 2023年5月21日 (日) 11:53 (UTC)
请求已处理
修复该问题,相关测试用例已增加。—思域无疆大道 事体 2023年5月21日 (日) 12:10 (UTC)
请求已处理
@TimWu007:额,刚找到一个bug修改就被merge了,只能再提一个了,case已改。具体的情形是如果使用了multiple line那么每个line都需要应用上面的fix。—思域无疆大道 事体 2023年5月21日 (日) 12:39 (UTC)
- @Siyuwj 那公示长一段时间吧。--Tim Wu(留言) 2023年5月21日 (日) 12:41 (UTC)
- @Siyuwj:
完成--Tim Wu(留言) 2023年6月12日 (一) 06:00 (UTC)