跳转到内容
打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
登录后可编辑和发表评论。

Module:External/data

来自Vocawiki

用于模块:External的外部wiki站点数据。

每条数据的字段:

  • name:站点显示名
  • logo:站点图标文件名
  • url:链接模板。含一个%s时填条目名;含两个%s时依次填语言代码、条目名
  • defaultLang:可选。链接有两个%s时,未指定语言前缀则用它,如'zh'
  • langInName:可选,设为false时不在站点名前加语言名
  • encode:可选,条目名编码模式,默认'WIKI';查询参数里的站点用'QUERY'
  • pixelated:可选,低分辨率图标用像素化放大
  • rounded:可选,给图标本身加圆角
local function wikipedia( id, lang, name, alias )
	return {
		id = id, alias = alias, name = name,
		logo = 'Wikipedia_favicon.svg',
		url = 'https://' .. lang .. '.wikipedia.org/wiki/%s',
		langInName = false,
		fixedLang = lang,
	}
end

local wikis = {
	{
		id = 'wikipedia', alias = { 'wp', '维基百科' },
		name = '维基百科',
		logo = 'Wikipedia_favicon.svg',
		url = 'https://%s.wikipedia.org/wiki/%s',
		defaultLang = 'zh',
	},
	wikipedia( 'zhwp', 'zh', '中文维基百科' ),
	wikipedia( 'enwp', 'en', '英文维基百科' ),
	wikipedia( 'jawp', 'ja', '日文维基百科' ),
	{
		id = 'qiuwen', alias = { 'qiuwenbaike', '求闻百科' },
		name = '求闻百科',
		logo = '求闻百科 icon.svg',
		url = 'https://www.qiuwenbaike.cn/wiki/%s',
	},
	{
		id = 'vcpedia', alias = { 'vcp' },
		name = 'VCPedia',
		logo = 'VCPedia_logo.png',
		url = 'https://vcpedia.cn/%s',
	},
	{
		id = 'vocaloidlyrics', alias = { 'vlw' },
		name = 'Vocaloid Lyrics Wiki',
		logo = 'Vocaloid Lyrics Wiki avatar.png',
		rounded = true,
		url = 'https://vocaloidlyrics.miraheze.org/wiki/%s',
	},
	{
		id = 'vocaloidchly', alias = { 'chly' },
		name = 'vocaloid中文歌詞wiki',
		logo = '@WIKI_logo.svg',
		encode = 'QUERY',
		url = 'https://w.atwiki.jp/vocaloidchly/?page=%s',
	},
	{
		id = 'utauchn', alias = { 'utau' },
		name = 'UTAU中华组wiki',
		logo = 'UTAU中华组wiki avatar.png',
		rounded = true,
		url = 'https://utauchn.huijiwiki.com/wiki/%s',
	},
	{
		id = 'hmiku', alias = { 'mikuwiki' },
		name = '初音ミク Wiki',
		logo = '@WIKI_logo.svg',
		encode = 'QUERY',
		url = 'https://w.atwiki.jp/hmiku/?page=%s',
	},
	{
		id = 'vocaloid', alias = { 'vw' },
		name = 'VOCALOID Wiki',
		logo = 'VOCALOID Wiki icon.png',
		pixelated = true,
		rounded = true,
		url = 'https://vocaloid.fandom.com/wiki/%s',
	},
	{
		id = 'vocadb', alias = { 'vdb', 'db' },
		name = 'VocaDB',
		logo = 'VocaDB_avatar.png',
		pixelated = true,
		url = 'https://vocadb.net/%s',
	},
	{
		id = 'pokemon', alias = { '52poke', '神奇宝贝百科' },
		name = '神奇宝贝百科',
		logo = '52poke_Wiki_Logo.png',
		url = 'https://wiki.52poke.com/wiki/%s',
	},
}

-- 语言名覆盖
local languages = {
	zh = '中文', en = '英文', ja = '日文', ko = '韩文',
}

-- 建索引
local byAlias = {}
for _, wiki in ipairs( wikis ) do
	byAlias[ wiki.id ] = wiki
	for _, alias in ipairs( wiki.alias or {} ) do
		byAlias[ mw.ustring.lower( alias ) ] = wiki
	end
end

return {
	wikis = wikis,
	byAlias = byAlias,
	languages = languages,
}