Module:GetRels: Difference between revisions
From Bodhicitta
((by SublimeText.Mediawiker)) |
((by SublimeText.Mediawiker)) |
||
| Line 3: | Line 3: | ||
function p.main(frame) | function p.main(frame) | ||
local pagename = mw.title.getCurrentTitle(). | local pagename = mw.title.getCurrentTitle().subpageText | ||
local pagenameEnc = mw.uri.anchorEncode( pagename ) | local pagenameEnc = mw.uri.anchorEncode( pagename ) | ||
local pdata = mw.loadData('Module:GetData/relationships') | local pdata = mw.loadData('Module:GetData/relationships') | ||
Revision as of 17:19, 3 July 2024
Documentation for this module may be created at Module:GetRels/doc
local p = {}
function p.main(frame)
local pagename = mw.title.getCurrentTitle().subpageText
local pagenameEnc = mw.uri.anchorEncode( pagename )
local pdata = mw.loadData('Module:GetData/relationships')
local pargs = frame:getParent().args
if not pdata then
return 'No relationships!'
else
local output = '<h1>Relationships</h1><table class="smwtable-clean th-top-right th-nowrap border">'
if type(pdata) == "table" then
for _, data in ipairs( pdata ) do
local relatedString = ''
local wikipageEnc = mw.uri.anchorEncode( data.wikipage )
if wikipageEnc == pagenameEnc then
for relatedTo in string.gmatch(data.RelatedTo, "([^;]+)") do
relatedString = relatedString .. '<div> [[' .. relatedTo .. ']]</div>'
end
output = output .. '<tr><th>' .. data.Relationship .. '</th><td><i class="fa-duotone fa-arrow-right" style="color: blue;"></i></td><td>' .. relatedString .. '</td></tr>'
else
output = output .. '<tr><th>' .. data.RelatedTo .. '</th><td><i class="fa-duotone fa-arrow-right" style="color: green;"></i></td><td>' .. data.Relationship .. ' <i>this work</i></td></tr>'
end
end
end
output = output .. '</table>'
return output
end
end
return p