跳转到内容

模組:Wikisource further reading

被永久保护的模块
维基百科,自由的百科全书

这是本页的一个历史版本,由維基小霸王留言 | 贡献2020年7月21日 (二) 12:44编辑。这可能和当前版本存在着巨大的差异。

local p = {};


out=""


function p.getWikisourceInfo()
	local id=mw.wikibase.getEntityIdForCurrentPage()
	local out='<span class="mw-editsection-like plainlinks" style="float: right;"><span class="mw-editsection-bracket">[</span>[[wikidata:'..id..'|在维基数据编辑]]<span class="mw-editsection-bracket">]</span></span>'
	local wikisourcePage=mw.wikibase.getEntity( id )["sitelinks"]["zhwikisource"]

	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=]] 在[[维基文库]]'''[[s:"..title.."|阅读该作者作品]]'''"
		else
			out=out.."\n: [[File:Wikisource-logo.svg|16x16px|class=noviewer|alt=|link=]] 在[[维基文库]]'''[[s:"..title.."|阅读本作品原文]]'''"
		end
	end

	local P1343=mw.wikibase.getEntity( id )["claims"]["P1343"]
	if( P1343 ~= nil )
	then
		for i, data in ipairs(P1343) do
			if( data["qualifiers"]~= nil )
			then
				local wikisourceBook=data["qualifiers"]["P805"]
				local wikisourceId=wikisourceBook[1]["datavalue"]["value"]["id"]
				local ws=mw.wikibase.getEntity( wikisourceId )["sitelinks"]["zhwikisource"]
				if( ws~=nil ) then
					local wikisourcePageTitle=ws["title"]
					local wikisourcePageName=mw.wikibase.getLabel( wikisourceId ) or wikisourcePageTitle
					if( type(data["qualifiers"]["P958"]) == "table") 
					then
						wikisourceSection="#"..data["qualifiers"]["P958"][1]["datavalue"]["value"]
					else 
						wikisourceSection=""
					end
				end

				out=out.."\n: [[File:Wikisource-logo.svg|16x16px|class=noviewer|alt=维基文库中的相关文本:|link=]] 《[[s:"..wikisourcePageTitle..wikisourceSection.."|"..wikisourcePageName.."]]》"
				local bookId=data["mainsnak"]["datavalue"]["value"]["id"]
				local bookName=mw.wikibase.getLabel( bookId )
				local bookPageTitle=mw.wikibase.getEntity( "Q3244234")["sitelinks"]["zhwiki"] or bookName
				out=out..",出自《[["..bookPageTitle.."|"..bookName.."]]》"
			else

				local wikisourceId =data["mainsnak"]["datavalue"]["value"]["id"]
				local ws=mw.wikibase.getEntity( wikisourceId )["sitelinks"]["zhwikisource"]
			if( ws~=nil ) then
					local wikisourcePageTitle=ws["title"]
					local wikisourcePageName=mw.wikibase.getLabel( wikisourceId ) or wikisourcePageTitle
					out=out.."\n: [[File:Wikisource-logo.svg|16x16px|class=noviewer|alt=维基文库中的相关文本:|link=]] 《[[s:"..wikisourcePageTitle.."|"..wikisourcePageName.."]]》"
			end


			end 
		end 
	end
	return out
end

return p;