Module:File link
- Аԥсшәа
- Afrikaans
- አማርኛ
- العربية
- الدارجة
- مصرى
- অসমীয়া
- Asturianu
- Авар
- Azərbaycanca
- تۆرکجه
- Basa Bali
- Bikol Central
- Беларуская
- Беларуская (тарашкевіца)
- भोजपुरी
- ပအိုဝ်ႏဘာႏသာႏ
- বাংলা
- Bosanski
- Batak Mandailing
- Буряад
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- Нохчийн
- Cebuano
- کوردی
- Corsu
- Cymraeg
- Dansk
- Ελληνικά
- English
- Español
- Eesti
- Euskara
- فارسی
- Fulfulde
- Suomi
- Føroyskt
- Gaeilge
- 贛語
- Galego
- گیلکی
- गोंयची कोंकणी / Gõychi Konknni
- ગુજરાતી
- Hausa
- 客家語 / Hak-kâ-ngî
- Hawaiʻi
- עברית
- हिन्दी
- Հայերեն
- Արեւմտահայերէն
- Bahasa Indonesia
- Ilokano
- Íslenska
- 日本語
- Jawa
- ქართული
- Qaraqalpaqsha
- Taqbaylit
- Kumoring
- ಕನ್ನಡ
- 한국어
- Kurdî
- Kernowek
- Luganda
- Ladin
- ລາວ
- Latviešu
- Madhurâ
- मैथिली
- Мокшень
- Māori
- Minangkabau
- Македонски
- മലയാളം
- Монгол
- ဘာသာမန်
- मराठी
- Bahasa Melayu
- မြန်မာဘာသာ
- مازِرونی
- नेपाली
- Nederlands
- Norsk nynorsk
- Norsk
- ଓଡ଼ିଆ
- Pangasinan
- Kapampangan
- پښتو
- Português
- Ikirundi
- Română
- Руски
- Русский
- संस्कृतम्
- Scots
- سنڌي
- Srpskohrvatski / српскохрватски
- တႆး
- සිංහල
- Simple English
- Slovenčina
- Slovenščina
- Soomaaliga
- Српски / srpski
- Sunda
- தமிழ்
- ತುಳು
- తెలుగు
- Тоҷикӣ
- ไทย
- Tagalog
- Türkçe
- ChiTumbuka
- Українська
- اردو
- Oʻzbekcha / ўзбекча
- Tiếng Việt
- Winaray
- 吴语
- მარგალური
- Yorùbá
- ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ
- 中文
- 文言
- 閩南語 / Bân-lâm-gú
- 粵語
- IsiZulu
Appearance
From Meta, a Wikimedia project coordination wiki
The above documentation is transcluded from Module:File link/doc. (edit | history)
Editors can experiment in this module’s sandbox (edit | diff) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
Editors can experiment in this module’s sandbox (edit | diff) and testcases (create) pages.
Please add categories to the /doc subpage. Subpages of this module.
-- This module provides a library for formatting file wikilinks. It implements {{file link}}. local yesno = require('Module:Yesno') local checkType = require('libraryUtil').checkType local p = {} function p._main(args) checkType('_main', 1, args, 'table') -- This is basically libraryUtil.checkTypeForNamedArg, but we are rolling our -- own function to get the right error level. local function checkArg(key, val, level) if type(val) ~= 'string' then error(string.format( "type error in '%s' parameter of '_main' (expected string, got %s)", key, type(val) ), level) end end local ret = {} -- Adds a positional parameter to the buffer. local function addPositional(key) local val = args[key] if not val then return nil end checkArg(key, val, 4) ret[#ret + 1] = val end -- Adds a named parameter to the buffer. We assume that the parameter name -- is the same as the argument key. local function addNamed(key) local val = args[key] if not val then return nil end checkArg(key, val, 4) ret[#ret + 1] = key .. '=' .. val end -- Filename checkArg('file', args.file, 3) ret[#ret + 1] = 'File:' .. args.file -- Format if args.format then checkArg('format', args.format) if args.formatfile then checkArg('formatfile', args.formatfile) ret[#ret + 1] = args.format .. '=' .. args.formatfile else ret[#ret + 1] = args.format end end -- Border if yesno(args.border) then ret[#ret + 1] = 'border' end addPositional('location') addPositional('alignment') addPositional('size') addNamed('upright') addNamed('link') addNamed('alt') addNamed('page') addNamed('class') addNamed('lang') addNamed('start') addNamed('end') addNamed('thumbtime') addPositional('caption') return string.format('[[%s]]', table.concat(ret, '|')) end function p.main(frame) local origArgs = require('Module:Arguments').getArgs(frame, { wrappers = 'Template:File link' }) if not origArgs.file then error("'file' parameter missing from [[Template:File link]]", 0) end -- Copy the arguments that were passed to a new table to avoid looking up -- every possible parameter in the frame object. local args = {} for k, v in pairs(origArgs) do -- Make _BLANK a special argument to add a blank parameter. For use in -- conditional templates etc. it is useful for blank arguments to be -- ignored, but we still need a way to specify them so that we can do -- things like [[File:Example.png|link=]]. if v == '_BLANK' then v = '' end args[k] = v end return p._main(args) end return p