モジュール:出典リンク

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

この説明文は 『 モジュール:出典リンク/doc 』 から呼び出されています。

廃止されたモジュール
このモジュールは廃止されました。
ここはソースが再利用可能かもしれないことから残してあるだけの残骸です。

多数の外部リンク出力に対応した多目的外部リンクモジュール。

メインテンプレート:{{出典リンク}}

使い方[編集]

  • {{#invoke:出典リンク|main|label=出力フォーマット指定ラベル(必須)|id=ID(必須)|type=出力形式(省略可)|title=リンクタイトル(省略可)}}

または

  • {{#invoke:出典リンク|main|出力フォーマット指定ラベル(必須)|ID(必須)|出力形式(省略可)|リンクタイトル(省略可)}}
引数名既定値説明
1, label
 - なし - 出力フォーマット指定ラベルを入力します(下記参照)。
2, id
 - なし - URLに含まれるIDを入力します。
3, title
 - {{PAGENAME}} - リンク名を指定出来ます。「id」と入力するとidと同じになります。空白で現在のページ名になります。
4, type
 - type2 - 出力形式を指定出来ます。デフォルトはtype2です。

┌─────────┘

4, typeの形式
type1 - [[ほげほげ]]:[url+id title] - {{NDL}}など出典文献用。
type2 - [url+id title] - [[ほげほげ]] - {{Facebook}}など外部リンク汎用。
type3 - 『[url+id title]』 - [[ほげほげ]] - {{コトバンク}}など書籍・辞書用。
type4 - [url+id @title] - [[ほげほげ]] - {{Twitter}}専用。
type5 - [url+id title] - 前置・後置内部リンクなし。

入力ラベルと検索URLの一覧[編集]

指定以外のラベル入力は全てエラーになります。

ラベル説明入力するID部分
1.allcinema_c - allcinemaの映画タイトル記事 - テンプレート:Http://www.allcinema.net/prog/show_c.php?num_c=87913
2.allcinema_p - Allcinemaの俳優記事 - テンプレート:Http://www.allcinema.net/prog/show_p.php?num_p=14218
3.ameba - アメーバブログのアカウント+entryID - テンプレート:Http://ameblo.jp/risa-celeblog/entry-12180644690.html
4.asincom, amazoncom - amazon.com(米)の商品 - テンプレート:Https://www.amazon.com/dp/B00086U61Y
5.asinjp, amazonjp, amazon - amazon.com(日)の商品 - テンプレート:Https://www.amazon.co.jp/dp/B000J7WVEW
6.chiebukuro - Yahoo知恵袋のQ&A - テンプレート:Http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12161059147
7.chiebukuro_note - Yahoo知恵袋の質問ノート - テンプレート:Http://note.chiebukuro.yahoo.co.jp/detail/n351637
8.ciniiauthor - CiNiiの著者 - テンプレート:Http://ci.nii.ac.jp/author/DA0986045X/
9.cinii1 - CiNii論文検索結果 - 任意の文字列
10.cinii2 - CiNii著者検索結果 - 任意の著者名
11.cinii3 - CiNii全文検索結果 - 任意の文字列
12.das - 国立国会図書館の公開デジタルデータ - テンプレート:Http://www.jacar.go.jp/DAS/meta/image_A03020029600
13.facebook - facebookのアカウント - テンプレート:Https://www.facebook.com/nogijinja/
14.google - google検索結果 - 任意の文字列
15.imdb_title - IMDbの映画記事 - テンプレート:Http://www.imdb.com/title/tt0112384/
16.imdb_name - IMDbの俳優記事 - テンプレート:Http://www.imdb.com/name/nm0000136/
17.isbn, isbn2 - ISBN - 10桁または13桁のISBNコード番号
18.jcdb - 文化庁の映画データベース - テンプレート:Http://www.japanese-cinema-db.jp/Details?id=5302
19.kotobank - コトバンクの単語記事 - テンプレート:Http://kotobank.jp/word/林羅山
20.naid - CiNiiの論文 - テンプレート:Http://ci.nii.ac.jp/naid/40015923727/
21.ncid - CiNiiの書誌 - テンプレート:Http://ci.nii.ac.jp/ncid/BA79996686/
22.nico - ニコニコ動画の動画ID - テンプレート:Http://www.nicovideo.jp/watch/sm9
23.nicodic - ニコニコ大百科の記事名 - テンプレート:Http://dic.nicovideo.jp/a/スク水
24.nicoseiga - ニコニコ動画の静画ID - テンプレート:Http://seiga.nicovideo.jp/seiga/im1936063
25.nicocomm - ニコニコ動画のコミュニティID - テンプレート:Http://com.nicovideo.jp/community/co499
26.nicouser - ニコニコ動画のユーザーID - テンプレート:Http://www.nicovideo.jp/user/2
27.nicomylist - ニコニコ動画のマイリストID - テンプレート:Http://www.nicovideo.jp/mylist/26
28.nico3d - ニコニコ立体の立体ID - テンプレート:Http://3d.nicovideo.jp/works/td17856
29.nrid - CiNiiの話題提供者 - テンプレート:Http://ci.nii.ac.jp/nrid/9000002571408/
30.ndl - 国立国会図書館の書籍情報 - テンプレート:Http://iss.ndl.go.jp/api/openurl?ndl_jpno=69015175
31.ndldc, ndljp, pid - 国立国会図書館の著作権切れ公開書籍 - テンプレート:Http://dl.ndl.go.jp/info:ndljp/pid/888725
32.pixiv - pixivのイラストID - テンプレート:Http://www.pixiv.net/member_illust.php?mode=medium&illust_id=26985970
33.pixiv_dic - ピクシブ百科事典の記事名 - テンプレート:Http://dic.pixiv.net/a/戦艦大和
34.pixiv_user - pixivのユーザーID - テンプレート:Http://www.pixiv.net/member.php?id=15702680
35.pixiv_search - pixiv内検索結果 - 任意の文字列
36.togetter - togetterのまとめID - テンプレート:Http://togetter.com/li/1001574
37.twitter - twitterアカウント - テンプレート:Https://twitter.com/itm_nlab
38.vine - Vineの映像 - テンプレート:Https://https://vine.co/v/577v9LbVxeE
39.vine - Vineのアカウント - テンプレート:Https://vine.co/SamuelGrubbs
40.vimeo - Vimeoの映像またはアカウント - テンプレート:Https://vimeo.com/165378709
41.weblio - weblio辞書の単語記事 - テンプレート:Http://www.weblio.jp/content/延々
42.youtube - youtubeの動画ID - テンプレート:Https://www.youtube.com/watch?v=Xh9Cp4rd7mI
43.youtube_channel - youtubeのチャンネルID - テンプレート:Https://www.youtube.com/channel/UCulYu1HEIa7f70L2lYZWHOw

[編集]

  • {{#invoke:出典リンク|main|label=google|id=ショー・コスギ|title=id|type=type3}}

ショー・コスギ』 - google検索結果

  • {{#invoke:出典リンク|main|nicodic|スク水|id|type1}}

ニコニコ大百科スク水

typeの入力を省略するとtype2の出力フォーマットになる
  • {{#invoke:出典リンク|main|nicodic|スク水|id}}

スク水 - ニコニコ大百科

titleの入力を省略すると表記が記事名になる(リンクURLはid指定のまま)
  • {{#invoke:出典リンク|main|nicodic|スク水}}

出典リンク - ニコニコ大百科

local p = {}

-- エラーメッセージ表示用
function p._error( message )
	return '<strong class="error">エラー: ' ..message ..'</strong>'
end

-- ここをいじると表記形式を追加出来ます。※基本的に既存の表示フォーマットは変更・除去しないで下さい。
function p._format( type, text, url, id, title )
-- type : 表記形式タイプ
-- text : 内部リンク用文字列
-- url  : 基幹URL
-- id   : 入力ID
-- title: リンクタイトル

	local format = ({
		-- リンク単語: [基幹URL+ID TITLE]
		type1 = '[[' ..text ..']]:[' ..url ..id ..' ' ..title ..']',
		-- [基幹URL+ID TITLE] - [[リンク単語]]
		type2 = '[' ..url ..id ..' ' ..title ..'] - ' ..'[[' ..text ..']]',
		-- 『[基幹URL+ID TITLE]』 - [[リンク単語]]
		type3 = '『[' ..url ..id ..' ' ..title ..']』 - ' ..'[[' ..text ..']]',
		-- 『[基幹URL+ID @ID]』 - [[リンク単語]] ※Twitter専用
		type4 = '[' ..url ..id ..' @' ..title ..'] - ' ..'[[' ..text ..']]',
		-- [基幹URL+ID TITLE]
		type5 = '[' ..url ..id ..' ' ..title ..']',
	})[type]

	if format then
		return format
	else
		return p._error('typeが指定されてないと見た(きりっ)')
	end
end

function p.main( frame )
	local args = require('Module:Arguments').getArgs(frame, { removeBlanks = false })

	local label = string.lower(args.label or args[1]) or ''
	local id = args.id or args[2] or ''

	if id == '' then
		return p._error('IDを入力して下さい')
	end

	local title = args.title or args[3] or ''
	if title == 'id' then
		title = id
	elseif title == '' then
		title = frame:preprocess('{{PAGENAME}}')
	end

	--ISBN判定
	if label == '' then
		return p._error('labelを入力して下さい')
	elseif label == 'isbn' then
		return 'ISBN ' ..id
	elseif label == 'isbn2' then
		return '[[特別:文献資料/' ..id ..'|' ..id ..']]'
	end

	local type = args.type or args[4] or ''
	if type == '' then
		type = 'type2'
	end

	-- 新しくフォーマットを追加するときはここをいじります。
	-- label名 = { 'リンク文字列', '基幹URL', }, ※リンク文字列の部分に前後の[[]]は要りません。ラベル名は小文字のみ。
	local link = ({
		-- A
		allcinema_c = { 'Allcinema|allcinema(作品)', 'http://www.allcinema.net/prog/show_c.php?num_c=' },
		allcinema_p = { 'Allcinema|allcinema(人物)', 'http://www.allcinema.net/prog/show_p.php?num_p=' },
		asincom = { 'amazon.com', 'https://www.amazon.com/dp/' },
		amazoncom = { 'amazon.com', 'https://www.amazon.com/dp/' },
		asinjp = { 'amazon.com|amazon.co.jp', 'https://www.amazon.co.jp/dp/' },
		ameba = { 'アメーバブログ', 'http://ameblo.jp/' },
		amazonjp = { 'amazon.com|amazon.co.jp', 'https://www.amazon.co.jp/dp/' },
		amazon = { 'amazon.com|amazon.co.jp', 'https://www.amazon.co.jp/dp/' },
		-- B
		-- C
		chiebukuro = { 'Yahoo知恵袋', 'http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/' },
		chiebukuro_note = { 'Yahoo知恵袋|Yahoo知恵袋(ノート)', 'http://note.chiebukuro.yahoo.co.jp/detail/' },
		ciniiauthor = { 'CiNii|NRID', 'http://ci.nii.ac.jp/author/' },
		cinii1 = { 'CiNii|CiNii論文検索結果', 'http://ci.nii.ac.jp/search?q=' },
		cinii2 = { 'CiNii|CiNii著者検索結果', 'http://ci.nii.ac.jp/author?q=' },
		cinii3 = { 'CiNii|CiNii全文検索結果', 'http://ci.nii.ac.jp/fulltext?q=' },
		-- D
		das = { 'アジア歴史資料センター', 'http://www.jacar.go.jp/DAS/meta/image_' },
		-- E
		-- F
		facebook = { 'facebook', 'https://www.facebook.com/' },
		-- G
		google = { 'google|google検索結果', 'https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=' },
		-- H
		-- I
		imdb_title = { 'インターネット・ムービー・データベース|IMDb(作品)', 'http://www.imdb.com/title/tt' },
		imdb_name = { 'インターネット・ムービー・データベース|IMDb(人物)', 'http://www.imdb.com/name/nm' },
		-- J
		jcdb = { '日本映画情報システム|JMdb', 'http://www.japanese-cinema-db.jp/Details?id=' },
		-- K
		kotobank = { 'コトバンク', 'https://kotobank.jp/word/' },
		-- L
		-- M
		-- N
		naid = { 'CiNii|NAID', 'http://ci.nii.ac.jp/naid/' },
		naver = { 'NAVERまとめ', 'http://matome.naver.jp/odai/' },
		ncid = { 'CiNii|NCID', 'http://ci.nii.ac.jp/ncid/' },
		nico = { 'ニコニコ動画', 'http://www.nicovideo.jp/watch/' },
		nico3d = { 'ニコニコ動画|ニコニコ立体', 'http://3d.nicovideo.jp/works/' },
		nicocomm = { 'ニコニコ動画|Nico Comm', 'http://com.nicovideo.jp/community/' },
		nicodic = { 'ニコニコ大百科', 'http://dic.nicovideo.jp/a/' },
		nicomylist = { 'ニコニコ動画|Nico Mylist', 'http://www.nicovideo.jp/mylist/' },
		nicoseiga = { 'ニコニコ動画|ニコニコ静画', 'http://seiga.nicovideo.jp/seiga/' },
		nicouser = { 'ニコニコ動画|Nico User', 'http://www.nicovideo.jp/user/' },
		nrid = { 'CiNii|NRID', 'http://ci.nii.ac.jp/nrid/' },
		ndl = { '全国書誌番号|NDL', 'http://id.ndl.go.jp/bib/' },
		ndldc = { '国立国会図書館デジタルコレクション|NDLDC', 'http://dl.ndl.go.jp/info:ndljp/pid/' },
		ndljp = { '国立国会図書館デジタルコレクション|NDLJP', 'http://dl.ndl.go.jp/info:ndljp/pid/' },
		-- O
		-- P
		pid = { '国立国会図書館デジタルコレクション|永続的識別子', 'http://dl.ndl.go.jp/info:ndljp/pid/' },
		pixiv = { 'Pixiv', 'http://www.pixiv.net/member_illust.php?mode=medium&illust_id=' },
		pixiv_dic = { 'ピクシブ百科事典', 'http://dic.pixiv.net/a/' },
		pixiv_user = { 'Pixiv', 'http://www.pixiv.net/member.php?id=' },
		pixiv_search = { 'Pixiv|Pixiv検索結果', 'http://www.pixiv.net/search.php?word=' },
		-- Q
		-- R
		-- S
		-- T
		togetter = { 'togetter', 'http://togetter.com/li/' },
		twitter = { 'Twitter', 'https://twitter.com/' },
		-- U
		-- V
		vine_v = { 'Vine|Vine(映像)', 'https://vine.co/v/' },
		vine = { 'Vine', 'https://vine.co/' },
		Vimeo = { 'Vimeo', 'https://vine.co/v/' },
		-- W
		weblio = { 'Weblio辞書', 'http://www.weblio.jp/content/' },
		-- X
		-- Y
		youtube = { 'youtube', 'https://www.youtube.com/watch?v=' },
		youtube_c = { 'youtube|youtubeチャンネル', 'https://www.youtube.com/channel/' },
		-- Z
	})[label]

	if link == nil then
		return p._error('たぶん入力ラベルが定義されていないぽい(´・ω・`)')
	else
		return p._format( type, link[1], link[2], id, title )
	end
end

return p