tinglash

Bu modul uchun Modul:Tinglash/doc nomli hujjat sahifasini yaratishingiz mumkin

local mFileLink = require('Module:File link') local mTableTools = require('Module:TableTools') local mSideBox = require('Module:Side box') local lang = mw.language.new('en')  local p = {}  function p.main(frame) local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do if v ~= '' then args[k] = v end end return p._main(args) end  function p._main(args)   local isPlain = args.plain == 'yes' local isEmbedded = args.embed and true local hasMissing, previewWarning    local numArgs, missingFiles = {}, {} do local origNumArgs = mTableTools.numData(args) origNumArgs[1] = origNumArgs.other -- Overwrite args.filename1 etc. with args.filename etc. origNumArgs = mTableTools.compressSparseArray(origNumArgs) for i, t in ipairs(origNumArgs) do   local obj = t.filename and mw.title.new('Media:' .. t.filename) if obj and obj.exists then t.length = t.length ~= 'hide' and obj.file.length numArgs[#numArgs + 1] = t else missingFiles[#missingFiles + 1] = t.filename or i end end end  -- Render warning hasMissing = #missingFiles ~= 0 if hasMissing then for i, v in ipairs(missingFiles) do missingFiles[i] = type(v) == 'string' and string.format('missing file "%s"', v) or string.format('empty filename #%s', v) end previewWarning = string.format( 'Page using [[Template:Listen]] with %s', mw.text.listToText(missingFiles) ) previewWarning = require('Module:If preview')._warning({previewWarning}) else previewWarning = '' end  -- Exit early if none exist. if #numArgs == 0 then return previewWarning .. p.renderTrackingCategories(isPlain, hasMissing, true) end  -- Build the arguments for {{side box}} local sbArgs = {} sbArgs.class = 'noprint' sbArgs.metadata = 'no' sbArgs.position = args.pos  -- Style arguments do local style = {} if isPlain then style[#style + 1] = 'border:none' style[#style + 1] = 'background:transparent' style[#style + 1] = 'float:none' end if isEmbedded then style[#style + 1] = 'border-collapse:collapse' style[#style + 1] = 'border-width:1px 0 0 0' style[#style + 1] = 'background:transparent' style[#style + 1] = 'float:none' style[#style + 1] = 'margin:0 -5px' end if args.pos == 'left' then style[#style + 1] = 'float:left' style[#style + 1] = 'overflow:visible' elseif args.pos == 'center' then style[#style + 1] = 'float:none' style[#style + 1] = 'margin-left:auto' style[#style + 1] = 'margin-right:auto' end  style[#style + 1] = args.style sbArgs.style = table.concat(style, '; ') end sbArgs.textstyle = 'line-height:1.1em'  -- Image if not isPlain and not isEmbedded then if args.image then sbArgs.image = args.image else local images = { speech = 'Audio-input-microphone.svg', music = 'Gnome-mime-audio-openclipart.svg' } local image = args.type and images[args.type] or 'Gnome-mime-sound-openclipart.svg' sbArgs.image = mFileLink._main{ file = image, size = '65x50px', location = 'center', link = '', alt = '' } end end  -- Text do local header if args.header then header = mw.html.create('div') header:css{ background = 'transparent', ['text-align'] = 'left', padding = args.embed and '2px 0' or '2px' } :wikitext(args.header) header = tostring(header) header = header .. '\n' else header = '' end local text = {} for i, t in ipairs(numArgs) do text[#text + 1] = p.renderRow( t.filename, t.title, t.play, t.alt, t.description, t.start, t.length ) if numArgs[i + 1] then text[#text + 1] = '
'
end end sbArgs.text = header .. table.concat(text) end -- Pastki if not isPlain and not isEmbedded and args.help ~= 'no' then sbArgs.below = string.format( '
%sga murojaat etishda muammo bormi?? Qarang: [[Yordam:Multimedia|Multimedia]].'
, #numArgs == 1 and 'Fayl' or 'Fayllar' ) end -- local sideBox = mSideBox._main(sbArgs) -- local trackingCategories = p.renderTrackingCategories(isPlain, hasMissing) return previewWarning .. sideBox .. trackingCategories end function p.renderRow(filename, title, play, alt, description, start, length) -- if not filename then return nil end length = p.formatLength(length) length = length and string.format(' (%s)', length) or '' local root = mw.html.create('') root:tag('div') :addClass('haudio') :newline() :tag('div') :css('padding', '4px 0') :wikitext(string.format('[[:Fayl:%s|%s]]%s', filename, title or '', length)) :done() :newline() :tag('div') :wikitext( play ~= 'no' and mFileLink._main{ file = filename, size = '233px', alt = alt, start = start } or nil ) :done() :newline() :tag('div') :css('padding', '2px 0 0 0') :addClass('description') :wikitext(description) :done() :done() return tostring(root) end function p.formatLength(length) if not length or length == 0 then return nil end local t = lang:getDurationIntervals(length + 0.5, { 'hours', 'minutes', 'seconds' }) local s = t.seconds and string.format('%02d', t.seconds) or '00' local m = t.minutes or 0 local span = mw.html.create('span'):addClass('duration') if t.hours then span :tag('span') :addClass('h') :wikitext(t.hours) :done() :wikitext(':') m = string.format('%02d', m) end span :tag('span') :addClass('min') :wikitext(m) :done() :wikitext(':') :tag('span') :addClass('s') :wikitext(s) :done() return tostring(span) end function p.renderTrackingCategories(isPlain, hasMissing, isEmpty, titleObj) local cats = {} local currentTitle = titleObj or mw.title.getCurrentTitle() if currentTitle.namespace == 0 then if not isEmpty then cats[#cats + 1] = '' end if hasMissing then cats[#cats + 1] = '' end end if isPlain then cats[#cats + 1] = '' end for i, cat in ipairs(cats) do cats[i] = string.format('[[Turkum:%s]]', cat) end return table.concat(cats) end return p

Tags:

🔥 Trending searches on Wiki O‘zbek:

Diniy tashkilotHomiladorlikdan saqlanishSilKategoriyalarEmailSaturnGenlarning oʻzaro taʼsiriInnovatsiyaBuxoro viloyatiPulsSamarqand viloyatiAxborot tizimiVenera (sayyora)TezisOshqozon-ichak kasalligiNuqtaKorrupsiyaBiznes rejaGloballashuvSovet Sotsialistik Respublikalari IttifoqiElektromagnit induksiyaKatta qon aylanish doirasiBirinchi yordamYer kadastriSujetSomon yoʻliMaʼlumotlar bazasiTibbiyotBakteriyalarQitʼaSoʻz yasalishiHarbiy unvonlarDispers sistemalarMedia madaniyatiTranzistorDialektikaKecha va kunduzAz-ZamaxshariyXavfsizlik texnikasiTishMetrologiyaSportOʻzbekiston Oliy Majlisi Qonunchilik palatasi deputatlari roʻyxati (2020-2025)OʻqituvchiMa’lumotlar bazasini boshqarish tizimiZardoʻzlikSaljuqiylar imperiyasiParonimlarQayta tiklanadigan energiyaAxborot jamiyatiOybekCristiano RonaldoSinonimlarDinshunoslikIchan qalʼaZilzilaBurchakArab xalifaligiYan Amos KomenskiyQadimgi Mesopotamiya tarixiMisr piramidalariHayvonlarElektr qarshilikKompozitsiyaElektr maydonMicrosoft OfficeXorazmshohlar davlatiToʻlepbergen QayipbergenovQoʻshma gapInfeksion kasalliklarYurakMehnat muhofazasiOʻrta OsiyoOʻzbekiston Respublikasi Vazirlar MahkamasiKurashOʻzbeklarGipofizSunniylik🡆 More