モジュール:Find sources/doc

155,000以上
このモジュールは編集者の文献検索を手伝う検索リンクの一覧を生成します。Find sourcesなどのテンプレートを実装しており、新しいリンクの追加は簡単にできます。

**使用法**

**ウィキテキストから呼び出す**
ウィキテキストで使用する場合、一般的にはFind sourcesなどのテンプレートを経由しますが、#invokeで直接呼び出すこともできます。例：
- テンプレートは呼び出すテンプレートの名前を指定します（入力必須）。名前空間は入力せず、大文字と小文字は区別されます。例えば、Template:Find sourcesの場合は必ず「Find sources」と指定します（「find sources」ではエラーになります）。- キーワード1、キーワード2は検索キーワードを指定します。1つ目のキーワードは引用符（"）つき（完全一致検索）で、それ以降のキーワードは引用符はつきません。キーワードは省略でき、1つも指定しなかった場合はページ名が検索キーワードになります。
title引数を指定することで、特定のページ名を検索キーワードに変換することができます。曖昧さ回避の括弧つきの場合、括弧の前が引用符（"）つきで、括弧の中身が2つ目以降のキーワードになります。
- テンプレートは上記と同じく、呼び出すテンプレートの名前を指定します（入力必須）。名前空間は入力せず、大文字と小文字は区別されます。例えば、Template:Find sourcesの場合は必ず「Find sources」と指定します（「find sources」ではエラーになります）。- タイトルは検索キーワードに変換されるページ名です。キーワードが省略された場合に使用されるページ名と同様の扱いになります。

**Luaから呼び出す**
まず、モジュールを読み込みます。
local mFindSources = require('Module:Find sources')
続いて、下記のように関数を呼び出すことで検索リンクが返ってきます。
mFindSources._main(template, searchTerms)- templateは#ウィキテキストから呼び出すと同様にテンプレート名を指定します（入力必須）。- searchTermsは検索キーワードの配列を指定します。配列に含まれる値はそれぞれ検索キーワードを指定します。また、titleのキーのみを含むテーブルが指定された場合、#ウィキテキストから呼び出す節でtitle引数を使用した場合と同一になります。この引数は省略できます。
例：
mFindSources._main('Find sources', {'アルベルト・アインシュタイン', '-"マリリン・モンロー"', '相対性理論', '科学'})

**テンプレートを呼び出す**
このモジュールで実装されたテンプレートは下記の通り。

**新しいテンプレートの作成**
このモジュールを利用する新しいテンプレートを作成する場合、設定モジュールとテンプレート自体を作成する必要があります。

**テンプレートの設定モジュール**
設定モジュールの名称は「モジュール:Find source/templates/テンプレート名」のようにしてください。例えば、Template:Find sourcesの設定モジュールはモジュール:Find sources/templates/Find sourcesにあります。なお、大文字と小文字は区別されます。
設定モジュールの内容は下記のようにしてください：
return {
	blurb = "出典検索: $1 – $2",
	introLink = {code = 'google'},
	links = {
		{code = 'google news', display = 'ニュース'},
		{code = 'google scholar', display = 'スカラー'}
	},
	separator = '、',
	isUsedInMainspace = true,
	class = 'custom-class',
	style = 'color: green; font-size: 110%;'
}- blurb - テンプレートが生成する文字列のひな形を指定します（入力必須）。ひな形には$1と$2を含めるようにしてください。$1は1つ目のリンクを、$2はそれ以降のリンクを表します。- introLink - 1つ目のリンクの#リンクテーブルを指定します（省略可）。リンクテーブルにdisplayのキーが含まれていない場合、代わりに検索キーワードが表示されます。blurb引数の$1に該当します。- links - #リンクテーブルの配列を指定します（入力必須）。blurb引数の$2に該当します。- separator - 検索リンクの区切り文字を指定します（省略可）。省略した場合、MediaWiki:Dot-separatorで指定された文字が使用されます。- isUsedInMainspace - 記事名前空間（標準名前空間）で使用するテンプレートの場合、trueを指定します。指定しなかったテンプレートが記事名前空間で使用された場合、エラーメッセージが表示され、:Category:誤った名前空間にテンプレートのあるページに追加されます。- class - 表示する文字に適用するCSSクラス（省略可）。plainlinksクラスは既定で適用されます。- style - 表示する文字に適用するCSSスタイル（省略可）。
設定モジュールを作成した後、新しいテンプレートがこのページに表示されるよう、モジュール:Find sources/templatesを更新してください。

**リンクテーブル**
設定モジュールのintroLinkとlinks引数にはリンクテーブルを指定します。リンクテーブルではcodeとdisplay引数を指定しますが、code引数は下記の一覧から選んでください（入力必須）。display引数はリンクに表示する文字を指定します（省略可）。display引数を省略した場合、introLinkのリンクは検索キーワードを、linksのリンクは検索リンクの設定モジュールにある既定値を表示します。
現時点で使用できる検索リンクのcodeは下記の通り。

**テンプレートページ**
テンプレートページは下記のように作成してください。



上記のように作成することで、テンプレートが正しく動くとともに解説文が自動生成されます。テンプレートにはテンプレート名を入力してください。なお、先頭の名前空間「Template:」は入力せず、大文字と小文字は区別されます。
自動生成される解説文を使用しない場合は代わりに下記のように作成して、/docサブページも作成してください。




**検索リンクの追加**
新しい検索リンクを追加する場合、検索リンクの設定モジュールを作成します。設定モジュールの名前は「モジュール:Find sources/links/code」（codeにはリンクコードを指定します）のようにしてください。リンクコードはわかりやすくて短いものを指定してください。また、英数字を使用する場合は全て小文字にしてください。例えば、Google 検索のリンクコードは「google」で、その設定モジュールはモジュール:Find sources/links/googleにあります。
検索リンクの設定モジュールは下記のようになっています。
return {
	url = '//www.google.com/search?q=$1',
	display = 'Google',
	separator = ','
}- url - 検索リンクのリンク先（入力必須）。「$1」は検索キーワードを表します。- display - 検索リンクに表示する文字の既定値（入力必須）。テンプレート側で表示する文字を指定しなかった場合に使用されます。- separator - 検索キーワードの区切り文字（省略可）。既定値は「+」（半角スペースをURL向けにエンコードした文字）。
設定モジュールを作成した後、新しい検索リンクがこのページに表示されるよう、モジュール:Find sources/linksを更新してください。

**解説文の自動生成**
このモジュールを使用したテンプレートの解説文はモジュール:Find sources/autodocで自動生成することができます。自動生成には下記のページの内容が使われます。- Template:Find sources documentation - 解説文のひな形- テンプレートの設定モジュール - リンクコードの一覧と記事名前空間における使用可否- テンプレートの説明文 - テンプレートの説明文とショートカット- 検索リンクの説明文 - 検索リンクの説明文

**テンプレートの説明文**
テンプレートの説明文ページはテンプレートの設定モジュールの/autodocサブページとして作成します。テンプレート自体の出力に影響せず、説明文を出力するときに使われるだけなので、保護する必要性は低いです。下記のように指定します。
return {
	shortcuts = {'ショートカット1', 'ショートカット2'},
	description = '削除依頼用',
	docIntro = 'このテンプレートは削除依頼に表示される検索リンクを生成します。'
}- shortcuts - テンプレートショートカットの配列。解説文ではTemplate shortcutを用いて表示します。- description - テンプレートの説明文。テンプレートを呼び出すの節で表示されます。- docIntro - 解説文のひな形の冒頭にある説明文の代わりに表示する説明（省略可）。既定で表示される説明文は「このテンプレートは出典資料検索用のリンクを生成します。」です。

**検索リンクの説明文**
検索リンクの説明文ページは検索リンクの設定モジュールの/autodocサブページとして作成します。検索リンク自体の出力に影響せず、説明文を出力するときに使われるだけなので、保護する必要性は低いです。下記のように指定します。
return {
	description = 'Google社が提供する検索エンジン',
	notes = 'もっとも一般的に使用される検索リンク'
}- description - 検索リンクの説明文（入力推奨）。テンプレートの解説文で表示される検索リンクの一覧と、このページの#リンクテーブルの節で使用されます。- notes - 備考（省略可）。このページの#リンクテーブルの節で使用されます。

**設定**
このモジュールで使用されるメッセージはModule:Find sources/configとModule:Find sources/autodoc/configにあります。このモジュールをほかの言語に翻訳する場合に使用できます。なお、翻訳する場合はテンプレートやリンクの設定モジュールも翻訳するようにしてください。