وحدة:Cite - ويكيبيديا
الوحدة المسؤولة عن إظهار مراجع خواص ويكي بيانات.
تستخدم أساساً بواسطة وحدة:wikidata2.
الوظائف
cite
أمثلة للاستخدام خارج نطاق وحدة:wikidata2:
- استعراض كيف تبدو صفحة Annotated checklist of the recent and extinct pythons (Serpentes, Pythonidae), with notes on nomenclature, taxonomy, and distribution (Q14405740) عندما تستخدم كمرجع:
توصيف يظهر {{#invoke:Cite|cite| item=Q14405740}}
المؤلف: Wulf D. Schleip و مارك أوشي — العنوان : Annotated checklist of the recent and extinct pythons (Serpentes, Pythonidae), with notes on nomenclature, taxonomy, and distribution — نشر في: زووكيز — تاريخ النشر: 4 نوفمبر 2010 — المجلد: 66 — الصفحة: 29–79 — العدد: 66 — https://dx.doi.org/10.3897/ZOOKEYS.66.683 — https://pubmed.ncbi.nlm.nih.gov/21594030 — https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3088416 — مُعرِّف الطب للعموم المركزي (PMCID): https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3088416 — مُعرِّف أرشيف الإنترنت (IAid): https://archive.org/details/pubmed-PMC3088416 — مُعرِّف منشور في زو بانك (ZooBank): https://zoobank.org/References/2FAB4423-3174-4EA0-A5CA-0E9606A71AD6 — مُعرِّف منشور في الدليل الحيواني الأسترالي (AFD): https://biodiversity.org.au/afd/publication/0b2c60c0-3eff-4518-b9da-8553f79d3286 — مُعرِّف منشور في موقع "بوابة الأبحاث" (ResearchGate): https://www.researchgate.net/publication/51148003 — الرخصة: رخصة المشاع الإبداعي الملزمة بالنسب لمؤلف العمل غير القابلة للإلغاء 3.0
- استعراض كيف تبدو صفحة آي.أو.سي قائمة طيور العالم الإصدار 6.3 (Q27042747) عندما تستخدم كمرجع:
توصيف يظهر {{#invoke:Cite|cite| item=Q27042747}}
العنوان : IOC World Bird List Version 6.3 — تاريخ النشر: 21 يوليو 2016 — https://dx.doi.org/10.14344/IOC.ML.6.3
توصيف يظهر {{#invoke:Cite|cite| item=Q111417435}}
المؤلف: محمد الطالبي — العنوان : الدولة الأغلبية — الناشر: دار الغرب الإسلامي — تاريخ النشر: 1985 — الاصدار الأول — مُعرِّف عنوان في مكتبات الجامعة الأميركية في بيروت: https://libcat.aub.edu.lb/record=b1271555 — مُعرِّف كُتب جُوجل (Google Books): https://books.google.com/books?id=byjGQgAACAAJ — مُعرِّف مركز المكتبة الرقمية على الإنترنت (OCLC): https://search.worldcat.org/title/4770254199 — مُعرِّف كتاب على موقع "جودريدز": https://www.goodreads.com/book/show/20885449-184-296
reflist
- كيف تبدو الصفحات التالية عندما تستخدم كمرجع:
توصيف يظهر {{#invoke:Cite|reflist| item=Q14405740 Q17355847 Q15220486}}
- المؤلف: Wulf D. Schleip و مارك أوشي — العنوان : Annotated checklist of the recent and extinct pythons (Serpentes, Pythonidae), with notes on nomenclature, taxonomy, and distribution — نشر في: زووكيز — تاريخ النشر: 4 نوفمبر 2010 — المجلد: 66 — الصفحة: 29–79 — العدد: 66 — https://dx.doi.org/10.3897/ZOOKEYS.66.683 — https://pubmed.ncbi.nlm.nih.gov/21594030 — https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3088416 — مُعرِّف الطب للعموم المركزي (PMCID): https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3088416 — مُعرِّف أرشيف الإنترنت (IAid): https://archive.org/details/pubmed-PMC3088416 — مُعرِّف منشور في زو بانك (ZooBank): https://zoobank.org/References/2FAB4423-3174-4EA0-A5CA-0E9606A71AD6 — مُعرِّف منشور في الدليل الحيواني الأسترالي (AFD): https://biodiversity.org.au/afd/publication/0b2c60c0-3eff-4518-b9da-8553f79d3286 — مُعرِّف منشور في موقع "بوابة الأبحاث" (ResearchGate): https://www.researchgate.net/publication/51148003 — الرخصة: رخصة المشاع الإبداعي الملزمة بالنسب لمؤلف العمل غير القابلة للإلغاء 3.0
- المؤلف: ماكس هوركهايمر — المحرر: ألفريد شميدت — العنوان : Zur Kritik der instrumentellen Vernunft — الناشر: S. Fischer Verlag — تاريخ النشر: 1967 — الاصدار الأول — طبعات النظام الجامعي للتوثيق (SUDOC): https://www.sudoc.fr/051073935 — طبعات مكتبة ألمانيا الوطنية (DNB): https://d-nb.info/457028726
- المؤلف: ميغل أنخل أستورياس — العنوان : El Señor Presidente (edición crítica) — تاريخ النشر: 2000 — ISBN 978-84-89666-51-1 — مُعرِّف مركز المكتبة الرقمية على الإنترنت (OCLC): https://search.worldcat.org/title/607587759 — مُعرِّف المكتبة المفتوحة (OLID): https://openlibrary.org/works/OL22490703M?mode=all — مُعرِّف طبعات شبكة المكتبات المشتركة (GBV): https://opac.k10plus.de/DB=2.299/PPNSET?PPN=322891337 — طبعات شبكة المكتبة الألمانية الجنوبية الغربية: https://swb.bsz-bw.de/DB=2.1/PPNSET?PPN=093990103&INDEXSET=1 — معرف المكتبة الوطنية الأرجنتينية: https://catalogo.bn.gov.ar/F/?func=direct&doc_number=000188710&local_base=GENER — مُعرِّف كتاب على موقع "جودريدز": https://www.goodreads.com/book/show/1270703
quall
local p = {} if nil ~= string.find(mw.getCurrentFrame():getTitle(), "ملعب", 1, true) then -- did the {{#invoke:}} use sandbox version? wikidata = require("وحدة:Wikidata2/ملعب").formatStatementsFromLua else -- otherwise wikidata = require("وحدة:Wikidata2").formatStatementsFromLua end local quall = require("Module:Cite/quall") local functions = require("Module:Cite/functions") local Options = {} local function getentityprop(entity, p, pattern) -- get automatically url local addTracking = "" local Pattern = pattern or "autourl4" --autourl3 if p == "P345" then Pattern = "" addTracking = "" end local tot = wikidata({ textformat = "text", property = p, pattern = Pattern, numval = 5, noref = "true", conjunction = " & ", enlabelcate = "true", addTrackingCat = addTracking, noicon = "t", raw2 = Options.raw or ""}) if not tot or tot == "" then tot = wikidata({ textformat = "text", entityId = entity, property = p, pattern = Pattern, noref = "true", conjunction = " & ", enlabelcate = "true", addTrackingCat = addTracking, noicon = "t", raw2 = Options.raw or "", numval = 5}) end local tot2 = "" if p == "P345" then tot2 = functions.make_P345_link_o(tot) end if tot2 and tot2 ~= "" then tot = "[" .. tot2 .. " " .. tot2 .. "]" end if tot and tot ~= "" then tot = "وصلة : " .. tot end return tot end --[[ يجلب خواص معينة عند وجود مراجع محددة مسبقاً --]] local function getsomequall(entity, snak, property) if snak[property] and snak[property][1] and snak[property][1].datavalue and snak[property][1].datavalue.value["numeric-id"] then id = snak[property][1].datavalue.value["numeric-id"] local l10n = quall[id] if l10n then local q = {} for _, v in pairs(l10n) do mw.log("Module:Cite finding " .. v[1] .. ", id:" .. id .. ",3:" .. (v[3] or "")) b = getentityprop(entity, v[1], v[3]) if b and b ~= "" then table.insert(q, b) mw.log("Module:Cite b " .. b) end end t = table.concat(q) if t and t ~= "" then return t end end end end local function ValueFromItem(items, property, firstvalue) local pattern = "autourl" if property == "P212" or property == "P957" then pattern = nil end -- no automatic link for ISBN for i, item in pairs(items) do ednumber = wikidata({ textformat = "text", entityId = item, property = property, firstvalue = firstvalue, pattern = pattern, noref = "true", modifytime = "longdate", enlabelcate = "true", numval = 5}) end return ednumber end local function ValueFromEntityId(entity, property, firstvalue) local pattern = "autourl" val = wikidata({ textformat = "text", entityId = entity, property = property, firstvalue = firstvalue, pattern = pattern, noref = "true", modifytime = "longdate", enlabelcate = "true", numval = 5}) if val then return val end end --local function GetValueFromEntityId(snak,entity, property, firstvalue) local function GetValueFromEntityId(snak, property, firstvalue) --local A = wikidata({ textformat = "text",property = "P1629", entityId=property,enlabelcate="true", firstvalue="true", noref="true", label = functions.get_property_label( property )}) local A = functions.get_property_label(property) local Pattern = "autourl" if property == "P345" then Pattern = "" end local prop = wikidata({ textformat = "text", property = property, firstvalue = firstvalue, noref = "true", pattern = Pattern, modifytime = "longdate", numval = 5}, snak) --mw.log("prop" .. prop ) if property == "P345" then url = functions.make_P345_link_o(prop) if url and url ~= "" then prop = "[" .. url .. " " .. url .. "]" end end --mw.log('Module:Cite property:"' .. property .. '"' ) --mw.log('Module:Cite prop:"' .. prop .. '"' ) --if not prop then prop = ValueFromEntityId(entity, property,firstvalue) end if prop and prop ~= "" then if A and A ~= "" then return A .. ": " .. prop else return prop end end end local function GetValueFromItem(items, snak, property, text, firstvalue) if property == "P50" then for i, item in pairs(items) do if item == "Q36578" then return "" end end end local pattern = "autourl" if property == "P212" or property == "P957" then pattern = nil end -- no automatic link for ISBN local prop = wikidata({ textformat = "text", property = property, firstvalue = firstvalue, pattern = pattern, numval = 5, noref = "true", modifytime = "longdate", enlabelcate = "true"}, snak) if not prop then prop = ValueFromItem(items, property, firstvalue) end if prop and prop ~= "" then if text and text ~= "" then prop = text .. ": " .. prop end end return prop end local function get_number_from_item(items, property) for i, item in pairs(items) do ednumber = wikidata({ textformat = "text", entityId = item, property = property, firstvalue = "yes", enlabelcate = "true", numval = 5}) if ednumber then return ednumber end end end local function getnumber(items, snak, property, text) local tex = functions.get_property_label(property) local number = wikidata({ textformat = "text", property = property, firstvalue = "true", enlabelcate = "true", numval = 5}, snak) if not number then number = get_number_from_item(items, property) end if not text then text = tex else end if number and number ~= "" then if text then return text .. ": " .. number else return number end end end local function GetItemValue(items, snak, property, text, firstvalue) local pattern = "autourl" -- if property =="P212" or property =="P957" then pattern = nil end -- no automatic link for ISBN local prop = wikidata({ textformat = "text", property = property, firstvalue = (firstvalue or ""), pattern = pattern, noref = "true", modifytime = "longdate", separator = "، و", conjunction = "، و", numval = 5 }, snak) if not prop then prop = ValueFromItem(items, property, (firstvalue or "")) end if prop and prop ~= "" then if text and text ~= "" then prop = text .. ": " .. prop end end return prop end local function GetNumberFromItem(items, snak, property, text, firstvalue) local prop = wikidata({ textformat = "text", property = property, firstvalue = "t", numval = 5}, snak) for i, item in pairs(items) do ednumber = wikidata({ textformat = "text", entityId = item, property = property, firstvalue = "true", noref = "true", numval = 5} ) end if not prop then prop = ednumber end if prop and prop ~= "" then if text and text ~= "" then prop = text .. prop end end return prop end --[[ جلب أي وصلة مرجع من الخواص مثل P1065,P854 --]] local function getLink(items, snak, property, text) -- local tex = functions.labeel(property,text) local links = wikidata({ textformat = "text", property = property, pattern = "true", noref = "true", firstvalue = "true", numval = 5}, snak) if links and links ~= "" then if text and text ~= "" then return functions.geturl(links, text) else return links end end end local function get_Link_from_item(items, snak, property, text) local links = ValueFromItem(items, property, "true") local tex = functions.labeel(property, text) if links and links ~= "" then if tex and tex ~= "" then return tex .. ": " .. links else return links end end end --[[ جلب أي تاريخ من الخواص مثل P813,P577 --]] local function getdate(snak, property, text) -- local tex = functions.labeel(property,text) if snak[property] then local dat = wikidata({ textformat = "text", property = property, pattern = "true", noref = "true", modifytime = "longdate", numval = 5 }, snak) if dat and dat ~= "" then if text and text ~= "" then return text .. ": " .. dat else return dat end end end end local function getdate1(items, snak, property, text) for i, item in pairs(items) do local datetime1 = wikidata({ textformat = "text", entityId = item, property = property, noref = "true", enlabelcate = "true", modifytime = "longdate", numval = 5}) end if text then return text .. ": " .. datetime1 else return datetime1 end end local function getedition(items, snak) for i, item in pairs(items) do if item == "Q36578" then return "" end end local ordning = { "الأول", "الثاني", "الثالث", "الرابع", "الخامس", "السادس", "السابع", "الثامن", "التاسع", "العاشر", "الحادي عشر", "الثاني عشر" } local ednumber if snak["P393"] then ednumber = wikidata({ textformat = "text", property = "P393", firstvalue = "true", enlabelcate = "true", numval = 5}, snak) else ednumber = get_number_from_item(items, "P393") end if not ednumber then return nil end if not tonumber(ednumber) then return " الاصدار " .. ednumber end if ordning[tonumber(ednumber)] then return " الاصدار " .. ordning[tonumber(ednumber)] end local sist = string.sub(ednumber, string.len(ednumber)) if sist == "1" or sist == "2" then return " : الاصدار " .. ednumber else return " : الاصدار " .. ednumber end end local function getsubtitle(items, snak) -- needs i18n some languages do not use this format local s = {} if snak["P1680"] then dd = wikidata({textformat = "text", property = "P1680", firstvalue = "true", enlabelcate = "true", numval = 5}, snak) table.insert(s,dd) else for i, item in pairs(items) do local lab = wikidata({ textformat = "text", property = "P1680", enlabelcate = "true", entityId = item, firstvalue = "true", noref = "true", numval = 5}) local sitelink = mw.wikibase.sitelink(item) if sitelink and lab then table.insert(s, "[[:" .. sitelink .. "|" .. lab .. "]]") elseif sitelink then table.insert(s, "[[:" .. sitelink .. "]]") elseif lab then table.insert(s, lab) end end end tot = table.concat(s, " — ") if tot and tot ~= "" then return tot else return nil end end local function gettitle(items, snak) local link = getLink(items, snak, "P854") or getLink(items, snak, "P1065", "") -- the title will be with the link local title = GetItemValue(items, snak, "P1476", "العنوان ", " ") local subtitle = GetItemValue(items, snak, "P1680", "العنوان ", " ") if not title or title == "" then title = subtitle end if link and link ~= "" then return "" else return title end end local function getwhatever(snak, property) if snak[property] then --mw.log("Module:Cite getwhatever property " .. property) local a = functions.get_property_label(property) --local a = wikidata({ textformat = "text",property = "P1629", entityId=property, firstvalue="true", noref="true", enlabelcate="true", label = functions.get_property_label(property)}) local s = {} --local items = {} --mw.log("Module:Cite find snak.property " .. property) for j, prop in pairs(snak[property]) do if prop.snaktype == "value" then item = "Q" .. prop.datavalue.value["numeric-id"] --table.insert(items, item) faso = wikidata({ textformat = "text", entityId = item, property = property, noref = "true", conjunction = ", ", enlabelcate = "true", numval = 5}) table.insert(s, faso) end end if property == "P143" then a = "مستورد من " end if property == "P248" then a = "'''مذكور في'''" end --table.insert(s, wikidata({textformat = "text",property=property, conjunction=', ', enlabelcate="true"}, snak)) if #s > 0 then return (a or "") .. "''':''' " .. table.concat(s, ", ") end end end --local function gettherest(snak, entity) local function gettherest(snak) local s = {} for property, j in pairs(snak) do Known = false for k, l in pairs(functions.Known_properties) do if property == l then Known = true end end if not Known then local entity1 = mw.wikibase.getEntityObject(property) if entity1.claims and (entity1.datatype == "string" or entity1.datatype == "external-id") then --local vaa = GetValueFromEntityId(snak, entity, property, "true" ) local vaa = GetValueFromEntityId(snak, property, "true") --mw.log("Module:Cite gettherest property:" .. property ) table.insert(s, vaa) end end end if #s > 0 then return table.concat(s, " — ") end end function numbers(items, snak) local section = GetNumberFromItem(items, snak, "P958", "الباب: ") local volume = GetNumberFromItem(items, snak, "P478", "المجلد: ") local page = GetNumberFromItem(items, snak, "P304", "الصفحة: ") local issue = GetNumberFromItem(items, snak, "P433", "العدد: ") field = {} if section and section ~= "" then table.insert(field, section) end if volume and volume ~= "" then table.insert(field, volume) end if page and page ~= "" then table.insert(field, page) end if issue and issue ~= "" then table.insert(field, issue) end return table.concat(field, " — ") end local function getISBN(items, snak) local ISBN13 = GetNumberFromItem(items, snak, "P212", "ISBN ", "yes") --ISBN 13 local ISBN10 = GetNumberFromItem(items, snak, "P957", "ISBN ", "yes") --ISBN 10 if not ISBN13 or ISBN13 == "" then ISBN13 = ISBN10 end return ISBN13 end function doipmid(items, snak) local doi = GetValueFromItem(items, snak, "P356") -- Digital Object Identifier local pmid = GetValueFromItem(items, snak, "P698") -- Identifier for journal local pmc = GetValueFromItem(items, snak, "P932") -- identifier issued by PubMed Central field = {} if doi and doi ~= "" then table.insert(field, doi) end if pmid and pmid ~= "" then table.insert(field, pmid) end if pmc and pmc ~= "" then table.insert(field, pmc) end return table.concat(field, " — ") end local function Getquall(snak, entity) local quall = getsomequall(entity, snak, "P143") local quall1 = getsomequall(entity, snak, "P248") if not quall or quall == "" then quall = quall1 end return quall end function getMultiLink(items, snak, entity) local title = GetItemValue(items, snak, "P1476", "", "") local link = getLink(items, snak, "P854", title) --,"وصلة مرجع" local link1 = get_Link_from_item(items, snak, "P854") -- --local therest = gettherest(snak, entity) local therest = gettherest(snak) local quall = Getquall(snak, entity) local fulltext = get_Link_from_item(items, snak, "P953") -- local accessdate = getdate(snak, "P813", "تاريخ الاطلاع") local archive = getLink(items, snak, "P1065", "") field = {} if link and link ~= "" then newtab = link --We don't need to search for some links if they here already elseif therest and therest ~= "" then newtab = therest elseif quall and quall ~= "" then newtab = quall elseif link1 and link1 ~= "" then newtab = link1 -- last thing we want to see elseif fulltext and fulltext ~= "" then newtab = fulltext end if link and link ~= "" then if archive and archive ~= "" then archiveandlink = "t" end end if newtab and newtab ~= "" then table.insert(field, newtab) if accessdate and accessdate ~= "" then table.insert(field, accessdate) end end if archiveandlink and archiveandlink ~= "" then return "" else return table.concat(field, " — ") end end function getarchiveLink(items, snak, entity) local title = GetItemValue(items, snak, "P1476", "", "") local link = getLink(items, snak, "P854", "") local archive = getLink(items, snak, "P1065", "") local archive1 = getLink(items, snak, "P1065", "وصلة ارشيفية") local archivedate = getdate(snak, "P2960", "") -- تاريخ الأرشفة local accessdate = getdate(snak, "P813", "تاريخ الاطلاع") local aa = functions.geturl((archive or link), title) field = {} if archive and archive ~= "" then if aa and aa ~= "" then table.insert(field, aa) end if link and link ~= "" then org = functions.geturl(link, "الأصل") if accessdate and accessdate ~= "" then table.insert(field, accessdate) end end a = " مؤرشف من " .. (org or "الأصل") if archivedate and archivedate ~= "" then a = a .. " في " .. archivedate end table.insert(field, a) end return table.concat(field, " — ") end function getreftable(items, snak, hash, options) local entity = options.entityId local rows = { GetValueFromItem(items, snak, "P50", "المؤلف"), --author GetValueFromItem(items, snak, "P98", "المحرر"), --editor gettitle(items, snak), --title GetValueFromItem(items, snak, "P123", "الناشر"), --publisher GetValueFromItem(items, snak, "P170", "المخترع"), --creator GetValueFromItem(items, snak, "P1433", "نشر في"), --publishedin getdate(snak, "P577", "تاريخ النشر"), --publishdate getedition(items, snak), --edition numbers(items, snak), --number doipmid(items, snak), --doipmid getISBN(items, snak), --isbn (getwhatever(snak, "P143") or getwhatever(snak, "P248")), --import getMultiLink(items, snak, entity), --MultiLink getarchiveLink(items, snak, entity), --archiveLink GetItemValue(items, snak, "P1683", "إقتباس", " ") --quote } local field = {} for _, line in pairs(rows) do if line and line ~= "" then table.insert(field, line) end end local license = GetItemValue(items, snak, "P275", "الرخصة") if license and license ~= "" and #field > 0 then table.insert(field, license) end local doo = table.concat(field, " — ") if doo and doo ~= "" then return doo --mw.getCurrentFrame():extensionTag( "ref", doo, {name = hash} ) end end local function findblacklist(items) -- function to ignore Sister projects local val = "false" local s = {} for i, item in pairs(items) do function qoo(item, property) return wikidata({textformat = "text", entityId = item, property = property, noref = "true", firstvalue = "1", formatting = "raw", numval = 5}) end local wiki = qoo(item, "P1800") or qoo(item, "P1566") or qoo(item, "P21") -- all wikimedia site, GeoNames ,gender local wik2 = qoo(item, "P31") local blackk = { "Q20651139", "Q465", "Q15241312", "Q30069253", -- ظهور مشكلة غير معروفة السبب في كريستوفر_تولكين [[موضوع:Veus9rhajrejwaho]] "Q52" -- Wikipedia } for k, b in pairs(blackk) do if item == b then val = "true" end end if wiki and wiki ~= "" then val = "true" elseif wik2 == "Q5" or -- Human is not a direct reference wik2 == "Q184188" or -- Also Canton wik2 == "Q1250464" then val = "true" -- Also places end end return val end local ref_cash = {} function p.citeitem(items, snak, hash, options, notag) Options = options if hash and hash ~= "" and ref_cash[hash] then --mw.log("Module:Cite ref_cash[hash] = " .. hash) return ref_cash[hash] end if not items and not snak then return nil end if type(items) == "string" then items = {items} end items = {} if snak.P248 then for j, prop in pairs(snak.P248) do if prop.snaktype == "value" then table.insert(items, "Q" .. prop.datavalue.value["numeric-id"]) end end elseif snak.P143 then for j, prop in pairs(snak.P143) do if prop.snaktype == "value" then table.insert(items, "Q" .. prop.datavalue.value["numeric-id"]) end end end local blacklist1 = findblacklist(items) if blacklist1 == "true" then return nil end --local findtype = FindTypeOfRefrence(items, snak, options) local refrence = getreftable(items, snak, hash, options) if refrence and refrence ~= "" then if notag and notag ~= "" then refrence = refrence else refrence = mw.getCurrentFrame():extensionTag("ref", refrence, {name = hash}) end end if hash and hash ~= "" then ref_cash[hash] = refrence end return refrence end function p.citeitem2(ref, options, notag) Options = options if not ref then return nil end local hash = ref.hash local snak = ref.snaks local snnaks = "" if hash and hash ~= "" and ref_cash[hash] then --mw.log("Module:Cite ref_cash[hash] = " .. hash) return ref_cash[hash] end for Px, prope in pairs(snak) do snnaks = snnaks .. "," .. Px end --mw.log( "Module:Cite Citeitem2 hash: " .. hash ) --mw.log( "Module:Cite *snnaks : " .. snnaks ) items = {} if snak.P248 then for j, prop in pairs(snak.P248) do if prop.snaktype == "value" then table.insert(items, "Q" .. prop.datavalue.value["numeric-id"]) end end elseif snak.P143 then for j, prop in pairs(snak.P143) do if prop.snaktype == "value" then table.insert(items, "Q" .. prop.datavalue.value["numeric-id"]) end end end local blacklist1 = findblacklist(items) if blacklist1 == "true" then return nil end --local findtype = FindTypeOfRefrence(items, snak, options) local refrence = getreftable(items, snak, hash, options) if refrence and refrence ~= "" then if notag and notag ~= "" then refrence = refrence else refrence = mw.getCurrentFrame():extensionTag("ref", refrence, {name = hash}) end end if hash and hash ~= "" then ref_cash[hash] = refrence end return refrence end function p.reflist(frame) local list = mw.text.split(frame.args.item, " ") local s = {} for i, j in pairs(list) do local item = mw.wikibase.getEntityObject(mw.text.trim(j)) local str = p.citeitem({mw.text.trim(j)}, item.claims, mw.text.trim(j) .. i, frame.args, "t") if str then table.insert(s, "*" .. str) end end return table.concat(s, "\n") end function p.cite(frame) local item = mw.wikibase.getEntityObject(frame.args.item) if not item then return "no item" end return p.citeitem({frame.args.item}, item.claims, frame.args.item, frame.args, "t") end return p