Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Sandbox/RexxS/Sources
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
--[[ Module to test a template for reliable sources See: https://en.wikipedia.org/wiki/User_talk:Adam_Harangoz%C3%B3/template https://en.wikipedia.org/wiki/User:Adam_Harangoz%C3%B3/template_specs https://en.wikipedia.org/wiki/User:Adam_Harangoz%C3%B3/template_properties --]] local p = {} -- This piece of html implements a collapsible container. Check the classes exist on your wiki. local collapsediv = '<div class="mw-collapsible mw-collapsed mw-content-{{#switch:{{CONTENTLANG}}|ar|arc|arz|azb|bcc|ckb|bqi|dv|fa|fa-af|glk|ha|he|kk-arab|kk-cn|ks|ku-arab|mzn|nqo|pnb|prd|ps|sd|ug|ur|ydd|yi=rtl|ltr}} plainlinks plainlinksneverexpand noarchive" style="width:100%; overflow:auto;" data-expandtext="{{int:Collapsible-expand}}" data-collapsetext="{{int:Collapsible-collapse}}">' -- All results appear as internal links (to avoid archive links) local illook = '<div class="mw-content-{{#switch:{{CONTENTLANG}}|ar|arc|arz|azb|bcc|ckb|bqi|dv|fa|fa-af|glk|ha|he|kk-arab|kk-cn|ks|ku-arab|mzn|nqo|pnb|prd|ps|sd|ug|ur|ydd|yi=rtl|ltr}} plainlinks plainlinksneverexpand noarchive">' local sources = mw.loadData("Module:Sandbox/RexxS/Sources/data") local function findLang(langcode) local langobj langcode = mw.text.trim(langcode or "") if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langcode = mw.getCurrentFrame():preprocess( '{{int:lang}}' ) if mw.language.isKnownLanguageTag(langcode) then langobj = mw.language.new( langcode ) else langobj = mw.language.getContentLanguage() end end return langobj end function p.testlist(frame) local out = "" -- output text for langcode, langdata in pairs(sources) do -- just the language codes out = out.."\n=== "..langcode.." ===" for idx, src in ipairs(langdata) do out = out.."\n"..src[1].."; WD="..src[2].."; loc="..src[3].."<br>\n" end out = out.."<br>\n" end return out end --[[ Parameters: qid lang --]] function p.demo(frame) local args = frame.args local qid = args.qid or "" if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end local langcode = findLang(args.lang).code local out1 = {} for idx1, src in ipairs(sources[langcode]) do local statements = mw.wikibase.getBestStatements(qid, src[2]) for idx2, valtbl in ipairs(statements) do if valtbl.mainsnak.datatype == "external-id" and valtbl.mainsnak.snaktype == "value" then local idurl = valtbl.mainsnak.datavalue.value:gsub("%%", "%%%%") out1[#out1 + 1] = "[" .. src[3]:gsub("$1", idurl) .. " " .. src[1] .. "]" end end end local locallang = "" if #out1 > 0 then locallang = illook .. frame:expandTemplate{title = "hlist", args = out1} .. "</div>" end local out2 = {} for srclangcode, langdata in pairs(sources) do if srclangcode ~= langcode then for idx1, src in ipairs(langdata) do local statements = mw.wikibase.getBestStatements(qid, src[2]) for idx2, valtbl in ipairs(statements) do if valtbl.mainsnak.datatype == "external-id" and valtbl.mainsnak.snaktype == "value" then local idurl = valtbl.mainsnak.datavalue.value:gsub("%%", "%%%%") out2[#out2 + 1] = "[" .. src[3]:gsub("$1", idurl) .. " " .. src[1] .. "]" end end end end end local otherlang = "" if #out2 > 0 then if #out1 > 0 then otherlang = collapsediv .. frame:expandTemplate{title = "hlist", args = out2} .. "</div>" else otherlang = illook .. frame:expandTemplate{title = "hlist", args = out2} .. "</div>" end end return locallang .. otherlang end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Sandbox/RexxS/Sources/doc
(
edit
)