Module:GetRels: Difference between revisions
From Bodhicitta
((by SublimeText.Mediawiker)) |
((by SublimeText.Mediawiker)) |
||
| Line 10: | Line 10: | ||
return 'No relationships!' | return 'No relationships!' | ||
else | else | ||
local output = '<h1>Relationships</h1><table class="smwtable-clean th-top-right th-nowrap border">' | local output = '<h1>Relationships</h1><table class="smwtable-clean th-top-right th-nowrap border w-100">' | ||
if type(pdata) == "table" then | if type(pdata) == "table" then | ||
Revision as of 17:26, 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 w-100">'
if type(pdata) == "table" then
for _, data in ipairs( pdata ) do
local relatedString = ''
local wikipage = frame:preprocess( '{{PAGENAME:' .. data.wikipage .. '}}' )
local wikipageEnc = mw.uri.anchorEncode( wikipage )
if wikipageEnc == pagenameEnc then
for relatedTo in string.gmatch(data.RelatedTo, "([^;]+)") do
relatedString = relatedString .. '<div>[[' .. relatedTo .. ']]</div>'
end
output = output .. '<tr><td class="font-weight-bold text-right">' .. data.Relationship .. '</td><td><i class="fa-duotone fa-arrow-right" style="color: blue;"></i></td><td>' .. relatedString .. '</td></tr>'
else
for relatedTo in string.gmatch(data.RelatedTo, "([^;]+)") do
relatedString = relatedString .. '<div>[[' .. relatedTo .. ']]</div>'
end
output = output .. '<tr><td class="text-right">' .. relatedString .. '</td><td><i class="fa-duotone fa-arrow-right" style="color: green;"></i></td><td class="font-weight-bold">' .. data.Relationship .. ' <i>this work</i></td></tr>'
end
end
end
output = output .. '</table>'
return output
end
end
return p