コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

モジュール:File link/doc

このモジュールは、ファイルへのリンクのウィキテキストを生成します。テンプレートとモジュールで(多くのオプションを指定する)複雑なファイルリンクを作成する場合に使用されます。オプションを1、2つ使う程度のシンプルなファイルリンクを作成する場合はウィキテキストをそのまま書いたほうが軽いです。ファイルリンクのウィキテキストに関する詳細はmediawiki.orgでの解説文を参照してください。

ウィキテキストにおける使い方

[編集]

ウィキテキストで使用する場合は一般的にはモジュールを直接呼び出さず、{{File link}}を使用します(詳しくはテンプレートの解説文を参照)。モジュールを直接呼び出す場合の書式は{{#invoke:File link|main|引数}}です。

モジュールにおける使い方

[編集]

まず、モジュールをインポートします。

local mFileLink = require('モジュール:File link')

そうすれば、_main関数でファイルインクを作成できます。

mFileLink._main(args)

argsは引数のテーブルであり、テーブルのキーには下記のものが使用できます。

  • file - 入力必須。ファイル名を拡張子付き、名前空間名なしで入力します。
  • format - ファイルのフォーマット。'thumb'、'thumbnail'、'frame'、'framed'、'frameless'を入力できます。
  • formatfile - 自動生成のサムネイルを使用しない場合、サムネイル画像のファイル名を指定します。
  • border - "yes"またはそれに類する値(モジュール:Yesnoで真と判定される値)を入力した場合、画像ボーダーが表示されます。
  • location - ファイルの水平位置。'right'、'left'、'center'、'none'を入力できます。
  • alignment - ファイルの垂直位置。'baseline'、'middle'、'sub'、'super'、'text-top'、'text-bottom'、'top'、'bottom'を入力できます。
  • size - 画像サイズ。例:'100px'、'x100px'、'100x100px'。
  • upright - 'upright'引数。縦長の画像の場合に指定します。
  • link - ファイルのリンク先を指定します。既定はファイルページですが、どこにもリンクしない場合は空文字列''を指定します。
  • alt - 代替テキスト。既定の代替テキストを表示させない場合は空文字列''を指定してください。
  • caption - キャプション。
  • page - PDFなど複数ページにわたるファイルの場合、ページ番号を指定します。
  • class - 画像リンクがHTMLにレンダリングされるとき、生成される<img />要素のclass="..."属性の値を入力します。
  • lang - ファイルのレンダリングが行われる言語を指定します。
  • start - 音声と動画ファイルの場合、開始時間を指定します。
  • end - 音声と動画ファイルの場合、終了時間を指定します。
  • thumbtime - 動画ファイルの場合、サムネイル画像に使用する時間を指定します。

これらのオプションの詳細はmediawiki.orgでの解説文を参照してください。

使用例

[編集]

最低限の引数のみ:

mFileLink.main{file = 'Example.png'}
-- 返り値:[[File:Example.png]]

format、size、link、captionのオプションを使用した場合:

mFileLink.main{
	file = 'Example.png',
	format = 'thumb',
	size = '220px',
	link = 'Wikipedia:サンドボックス',
	caption = 'これは例です。'
}
-- 返り値:[[File:Example.png|thumb|220px|link=Wikipedia:サンドボックス|これは例です。]]

format、size、borderのオプションを使用した場合:

mFileLink.main{
	file = 'Example.png',
	format = 'frameless',
	size = '220px',
	border = true
}
-- 返り値:[[File:Example.png|frameless|border|220px]]