文档图示Mô khối văn đương[Sang kiến]
localp={};

out=""
functionp.getCommonsInfo(commonsType)
commonsType=commonsTypeor"withParentheses"
localid=mw.wikibase.getEntityIdForCurrentPage()
---If there is a interwiki link for Wikimedia Commons, show it.
localcommonsPage=mw.wikibase.getEntity(id)["sitelinks"]["commonswiki"]
P373=mw.wikibase.getBestStatements(id,"P373")[1]
if(commonsPage~=nil)then
if(commonsType=="withoutParentheses")then
commonsTitle=commonsPage["title"]
out=out.."[[File:Commons-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ cộng hưởng tư nguyên ]] tại [[ duy cơ cộng hưởng tư nguyên ]]'''[[commons:"..commonsTitle.."| duyệt lãm ảnh tượng ]]'''"
---Wikimedia Commons category.
localP373=mw.wikibase.getBestStatements(id,"P373")[1]
if(P373andP373.mainsnak.datavalueand("Category:"..P373.mainsnak.datavalue.value~=commonsTitle))then
out=out..",[[commons:Category:"..P373.mainsnak.datavalue.value.."|''' phân loại ''']]"
end

else
commonsTitle=commonsPage["title"]
out=out.."( [[File:Commons-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ cộng hưởng tư nguyên ]] tại [[ duy cơ cộng hưởng tư nguyên ]]'''[[commons:"..commonsTitle.."| duyệt lãm ảnh tượng ]]'''"
---Wikimedia Commons category.
if(P373andP373.mainsnak.datavalueand("Category:"..P373.mainsnak.datavalue.value~=commonsTitle))then
out=out..",[[commons:Category:"..P373.mainsnak.datavalue.value.."|''' phân loại ''']]"
end
out=out..")"
end
elseif(P373andP373.mainsnak.datavalue)then
if(commonsType=="withoutParentheses")then
out=out.."[[File:Commons-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ cộng hưởng tư nguyên ]] tại [[ duy cơ cộng hưởng tư nguyên ]]'''[[commons:Category:"..P373.mainsnak.datavalue.value.."| duyệt lãm ảnh tượng ]]'''"
else
out=out.."( [[File:Commons-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ cộng hưởng tư nguyên ]] tại [[ duy cơ cộng hưởng tư nguyên ]]'''[[commons:Category:"..P373.mainsnak.datavalue.value.."| duyệt lãm ảnh tượng ]]''' )"
end
end
returnout;
end



functionp.getWikisourceInfo()
localid=mw.wikibase.getEntityIdForCurrentPage()
localcommonsNotShown=true
localpageName=mw.wikibase.getLabel(id,"zh-hant")

localout='<span class= "mw-editsection-like plainlinks" style= "float: right;" ><span class= "mw-editsection-bracket" >[</span>[[wikidata:'..id..'|<span class= "nomobile" > tại duy cơ sổ cư </span> biên <span class= "nomobile" > tập </span>]]<span class= "mw-editsection-bracket" >]</span></span>'
localwikisourcePage=mw.wikibase.getEntity(id)["sitelinks"]["zhwikisource"]

--If there is a interwiki link for Wikisource, show it.
if(wikisourcePage~=nil)then
title=wikisourcePage["title"]
if(string.match(title,"Author:"))then
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ văn khố ]] tại [[ duy cơ văn khố ]]'''[[s: "..title.."| duyệt độc thử tác giả tác phẩm ]]'''"
else
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt=|link=| duy cơ văn khố ]] tại [[ duy cơ văn khố ]]'''[[s: "..title.."| duyệt độc bổn tác phẩm nguyên văn ]]'''"
end
out=out..p.getCommonsInfo()
commonsNotShown=false
end
localclaims=mw.wikibase.getEntity(id)["claims"]

--If there are versions (P747) with a Wikisource link, show them.
if(claims~=nilandclaims["P747"]~=nil)
then
P747=claims["P747"]
fori,datainipairs(P747)do
if(data["qualifiers"]~=nilanddata["qualifiers"]["P805"]~=nil)
then
localwikisourceBook=data["qualifiers"]["P805"]
localwikisourceId=wikisourceBook[1]["datavalue"]["value"]["id"]
localws=mw.wikibase.getEntity(wikisourceId)["sitelinks"]
if(ws~=nilandws["zhwikisource"]~=nil)then
localzhws=ws["zhwikisource"]
localwikisourcePageTitle=zhws["title"]
localwikisourcePageName=mw.wikibase.getLabel(wikisourceId)orwikisourcePageTitle
if(type(data["qualifiers"]["P958"])=="table")
then
wikisourceSection="#"..data["qualifiers"]["P958"][1]["datavalue"]["value"]
else
wikisourceSection="#"..pageName
end
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt= duy cơ văn khố trung đích tương quan văn bổn: |link=| duy cơ văn khố ]] 《[[s: "..wikisourcePageTitle..wikisourceSection.."|"..wikisourcePageTitle.."]]》"
ifcommonsNotShownthen
out=out..p.getCommonsInfo()
commonsNotShown=false
end
end
else

localwikisourceId=data["mainsnak"]["datavalue"]["value"]["id"]
localws=mw.wikibase.getEntity(wikisourceId)["sitelinks"]
if(ws~=nilandws["zhwikisource"]~=nil)then
localwikisourcePageTitle=ws["zhwikisource"]["title"]
localwikisourcePageName=mw.wikibase.getLabel(wikisourceId)orwikisourcePageTitle
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt= duy cơ văn khố trung đích tương quan văn bổn: |link=| duy cơ văn khố ]] 《[[s: "..wikisourcePageTitle.."|"..wikisourcePageTitle.."]]》"
ifcommonsNotShownthen
out=out..p.getCommonsInfo()
commonsNotShown=false
end
localzhWikiLink=mw.wikibase.getEntity(wikisourceId)["sitelinks"]["zhwiki"]
if(zhWikiLink~=nil)
then
out=out.."( [["..zhWikiLink["title"].."| giới thiệu ]] )"
end
end
end
end
end


--If there are described by source (P1343) with a Wikisource link, show them.
if(claims~=nilandclaims["P1343"]~=nil)
then
P1343=claims["P1343"]
fori,datainipairs(P1343)do
if(data["qualifiers"]~=nilanddata["qualifiers"]["P805"]~=nil)
then
localwikisourceBook=data["qualifiers"]["P805"]
localbookId=data["mainsnak"]["datavalue"]["value"]["id"]
localbookName=mw.wikibase.getLabel(bookId)
localbookAuthor=mw.wikibase.getBestStatements(bookId,"P50")

fori2,data2inipairs(wikisourceBook)do
localwikisourceId=data2["datavalue"]["value"]["id"]
localws=mw.wikibase.getEntity(wikisourceId)["sitelinks"]
if(ws~=nilandws["zhwikisource"]~=nil)then
localzhws=ws["zhwikisource"]
localwikisourcePageTitle=zhws["title"]
localwikisourcePageName=mw.wikibase.getLabel(wikisourceId)orwikisourcePageTitle
if(data["qualifiers"]["P958"]~=nilanddata["qualifiers"]["P958"][i]~=nil)
then
wikisourceSection="#"..data["qualifiers"]["P958"][i]["datavalue"]["value"]
else
wikisourceSection="#"..pageName
end
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt= duy cơ văn khố trung đích tương quan văn bổn: |link=| duy cơ văn khố ]] 《[[s: "..wikisourcePageTitle..wikisourceSection.."|"..wikisourcePageName.."]]》"
out=out..",Xuất tự"
if(bookAuthor[1]~=nil)
then
ifbookAuthor[1]['mainsnak']['snaktype']=='value'then
localbookAuthorId=bookAuthor[1]['mainsnak']['datavalue']['value']["id"]
localbookAuthorName=mw.wikibase.getLabel(bookAuthorId)
localbookAuthorLink=mw.wikibase.getEntity(bookAuthorId)["sitelinks"]["zhwiki"]
if(bookAuthorLink~=nil)
then
out=out.."[["..bookAuthorLink["title"].."|"..bookAuthorName.."]]"
else
out=out..bookAuthorName
end
end
end
localzhWikiLink=mw.wikibase.getEntity(bookId)["sitelinks"]["zhwiki"]
if(zhWikiLink~=nil)
then
out=out.."《[["..zhWikiLink["title"].."|"..bookName.."]]》"
else
out=out.."《"..bookName.."》"
end
end
end
else

localwikisourceId=data["mainsnak"]["datavalue"]["value"]["id"]
localws=mw.wikibase.getEntity(wikisourceId)["sitelinks"]
if(ws~=nilandws["zhwikisource"]~=nil)then
localwikisourcePageTitle=ws["zhwikisource"]["title"]
localwikisourcePageName=mw.wikibase.getLabel(wikisourceId)orwikisourcePageTitle
out=out.."\n:[[File:Wikisource-logo.svg|16x16px|class=noviewer|alt= duy cơ văn khố trung đích tương quan văn bổn: |link=| duy cơ văn khố ]] 《[[s: "..wikisourcePageTitle.."|"..wikisourcePageName.."]]》"
end
end
end
end

--If there is no Wikisource link yet and P31 is human (Q5), show commons link.

ifcommonsNotShownthen
P31=mw.wikibase.getBestStatements(id,"P31")[1]
if(P31~=nil)then
if(P31.mainsnak.datavalue.value.id=="Q5")then
out=out.."\n:"..p.getCommonsInfo("withoutParentheses")
end
end
end
returnout

end

returnp;