Module:GetRels: Difference between revisions
From Bodhicitta
((by SublimeText.Mediawiker)) |
((by SublimeText.Mediawiker)) |
||
| Line 16: | Line 16: | ||
local relatedString = '' | local relatedString = '' | ||
local wikipage = frame:preprocess( '{{PAGENAME:' .. data.wikipage .. '}}' ) | local wikipage = frame:preprocess( '{{PAGENAME:' .. data.wikipage .. '}}' ) | ||
if | local wikipageEnc = mw.uri.anchorEncode( wikipage ) | ||
if wikipageEnc == pagenameEnc then | |||
for relatedTo in string.gmatch(data.RelatedTo, "([^;]+)") do | for relatedTo in string.gmatch(data.RelatedTo, "([^;]+)") do | ||
relatedString = relatedString .. '<div> [[' .. relatedTo .. ']]</div>' | relatedString = relatedString .. '<div> [[' .. relatedTo .. ']]</div>' | ||
Revision as of 17:21, 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 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><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