维基百科讨论:HanAssist

Jimmy-bot在话题“HanAssist第四版”中的最新留言:1年前


HanAssist第四版

下列讨论已经关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。

HanAssist是一个wgULS及类似函数的替代品。旧版本文档请参见Wikipedia:HanAssist

仓库地址:https://github.com/diskdance/HanAssist

第四版API本体变化不大,主要是调用方式:

  1. 杜绝了污染全局空间的问题。原先API会暴露到全局空间(mw.libs),现在采用了ResourceLoader的模块化设计。小工具需要先添加HanAssist的依赖,然后按照如下方式使用:
    const { conv, convByVar, batchConv } = require('ext.gadget.HanAssist'); // 注意大小写
    
    // 对应wgULS
    conv( { hans: '一天一苹果,医生远离我。', hant: '一天一蘋果,醫生遠離我。' } );
    
    // 对应wgUVS
    convByVar( { hans: '一天一苹果,医生远离我。', hant: '一天一蘋果,醫生遠離我。' } );
    
    // 批量处理
    mw.messages.set( batchConv( {
    	'article': { hans: '条目', hant: '條目' },
    	'category': { hans: '分类', hant: '分類' },
    	'categories': { hans: '分类', hant: '分類' },
    	'image': { hans: '文件', hant: '檔案' },
    	'images': { hans: '文件', hant: '檔案' },
    	'minute': '分',
    	'minutes': '分',
    	'second': '秒',
    	'seconds': '秒',
    	'week': '周',
    	'weeks': '周',
    	'search': { hans: '搜索', hant: '搜尋' },
    	'SearchHint': { hans: '搜索包含$1的页面', hant: '搜尋包含$1的頁面' },
    	'web': { hans: '站点', hant: '站點' },
    } ) );
    
    mw.msg( 'categories' );
    mw.msg( 'SearchHint', 'Apple' );
    
    用户脚本则需要动态加载:
    mw.loader.using( 'ext.gadget.HanAssist' ).then( ( require ) => {
    	const { conv, convByVar } = require( 'ext.gadget.HanAssist' );
    	// 在此处使用
    } );
    
    其他的加载方式不保证可用。
  2. 函数采用更直观的命名方式。
  3. 现在在传入不合法的参数的时候会给出警告信息。

以上。--碟之舞📀💿 2023年7月26日 (三) 10:20 (UTC)

小工具已经部署到中文Beta Cluster,各位可以先试试效果。--碟之舞📀💿 2023年7月26日 (三) 10:22 (UTC)
“其他的加载方式不保证可用。”意味着旧脚本需要维护更新?会有人来做吗。--YFdyh000留言2023年7月26日 (三) 15:22 (UTC)
不是这个意思。--碟之舞📀💿 2023年7月27日 (四) 03:33 (UTC)
(-)反对,使用v4的载入法将导致该脚本必须以非常糟糕的方式(技术细节:v4载入法必然需要将HanAssist注入ResourceLoader才能使用,变成如果要在无此小工具的站点载入将必须污染ResourceLoader)才能被站外引用,这显然不是一个合适的作法--SunAfterRain 2023年7月27日 (四) 15:15 (UTC)
@SunAfterRain:已经解决。--碟之舞📀💿 2023年7月28日 (五) 04:38 (UTC)
(+)支持--Taeas留言2023年7月28日 (五) 05:36 (UTC)
上方所述的问题已经解决,如果没有问题的话能否开始公示?--碟之舞📀💿 2023年8月2日 (三) 13:21 (UTC)
我觉得可以。--Taeas留言2023年8月3日 (四) 02:04 (UTC)
部署方案:
  1. 中文维基百科测试集群处复制此小工具的源代码和小工具定义。
  2. 移除site-libwgU*S的相关内容,由HanAssist接管,可参考测试集群配置。
  3. ext.gadget.HanAssist添加为site-lib的依赖项。
  公示7日,2023年8月11日 (五) 03:44 (UTC) 结束,抄送@Xiplus、@安忆
以上。--碟之舞📀💿 2023年8月4日 (五) 03:43 (UTC)
公示结束且期间无异议。--碟之舞📀💿 2023年8月11日 (五) 03:58 (UTC)
MediaWiki_talk:Gadget-HanAssist.js#编辑请求_2023-08-11。--碟之舞📀💿 2023年8月11日 (五) 04:06 (UTC)
@Xiplus、@AnYiLin:见上。--碟之舞📀💿 2023年8月11日 (五) 04:08 (UTC)

本讨论已关闭,请勿修改。如有任何意见,请在合适的讨论页提出,而非再次编辑本讨论。
返回到项目页面“HanAssist”。