Модуль:File link
| Цей модуль позначений як К:реліз, готовий до загального вжитку (285). Він досягнув стадії готовності й вважається, що вільний від помилок і може використовуватись всюди, де знадобиться. Його можна згадувати на довідкових сторінках та інших сторінках Вікіпедії як можливість для навчання новачків. Аби зменшити навантаження на сервери та некоректний показ сторінок, його потрібно вдосконалювати через тестування у пісочниці[en], а не через застосування спроб і помилок. |
| Цей модуль Lua використовується на багатьох сторінках і його зміни будуть дуже помітними. Будь ласка, перевіряйте будь-які зміни на підсторінках /пісочниці та /тестів цього модуля, або у вашій пісочниці модуля, та зважайте на обговорення змін на сторінці обговорення перед їхнім впровадженням. |
| Цей модуль залежить від наступних модулів: |
Цей модуль використовується для формування посилання вікітексту на файл. Він, в основному, корисний для шаблонів і модулів, що використовують складну логіку для створення посилань на файли. Прості посилання на файли повинні створюватися напряму вікірозміткою, бо вона використовує менше ресурсів ніж викликати цей модуль. Щодо допомоги з вікірозміткою для файлів, будь ласка, зверніться до документації на mediawiki.org.
Використання у вікітексті
[ред. код]У вікітексті, цей модуль має викликатися через шаблон, зазвичай {{file link}}. Будь ласка, дивіться сторінку шаблону щодо документації. Однак, його також можна викликати, використавши синтаксис {{#invoke:File link|main|аргументи}}.
Використання у модулі Lua
[ред. код]Спершу, вам необхідно імпортувати модуль.
local mFileLink = require('Module:File link')
Тоді ви зможете створити посилання на файли, використавши функцію _main.
mFileLink._main(args)
args — таблиця аргументів, що має наступні ключі:
file— назва файлу. (обов'язковий)format— формат файлу, наприклад, «thumb», «thumbnail», «frame», «framed» або «frameless».formatfile— назва файлу, що зазначається з опцією формату «thumbnail». Зазначена назва файлу буде використана замість автоматично створеної мініатюри.border— встановіть true, «так» або «yes» (або будь-яке інше значення, що розпізнається як true модулем Модуль: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— додає параметрclassдо посилань зображень. Програмне забезпечення MediaWiki додає цей параметр до атрибутаclass="..."елемента зображення<img />, коли сторінка перетворюється в HTML.lang— додає атрибут мови, що зазначає якою мовою відображати файл.start— зазначає місце початку для аудіо і відеофайлів.end— зазначає місце кінця для аудіо і відеофайлів.thumbtime— зазначає час, який використовувати для створення мініатюри для відеофайлу.
Щоб побачити дію кожного з цих параметрів, дивіться сторінку допомоги щодо зображень на mediawiki.org.
Приклади
[ред. код]З лише опцією file:
mFileLink.main{file = 'Example.png'}
-- Відображається як [[File:Example.png]]
З опціями format, size, link та caption:
mFileLink.main{
file = 'Example.png',
format = 'thumb',
size = '220px',
link = 'Вікіпедія:Пісочниця',
caption = 'Приклад.'
}
-- Відображається як [[File:Example.png|thumb|220px|link=Вікіпедія:Пісочниця|Приклад.]]
З опціями format, size та border:
mFileLink.main{
file = 'Example.png',
format = 'frameless',
size = '220px',
border = true
}
-- Відображається як [[File:Example.png|frameless|border|220px]]
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля.
Будь ласка, додавайте категорії до підсторінки /документація. Підсторінки цієї сторінки.
-- This module provides a library for formatting file wikilinks.
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