Module:Test2: Difference between revisions

From ProleWiki, the proletarian encyclopedia
mNo edit summary
m (Refining capture so that it captures more than a single word)
 
(One intermediate revision by the same user not shown)
Line 11: Line 11:
function p.Sitename(frame)
function p.Sitename(frame)
local extDataTable = mw.ext.externalData.getExternalData(frame.args[1])[1]["__text"]
local extDataTable = mw.ext.externalData.getExternalData(frame.args[1])[1]["__text"]
local lines = splitLines(extDataTable)
local dataLines = splitLines(extDataTable)
-- first check for matching "og:site_name"
local sitename = ''
-- match("content=\"(%a+)\"") needs to be somewhere
for i,line in ipairs(dataLines) do
if line:match("og:site_name") then
sitename = line:match('content="([^"]+)"')
break
end
end
return sitename
end
end


return p
return p

Latest revision as of 12:36, 23 April 2024

function splitLines(text)
    local lines = {}
    for line in text:gmatch("[^\r\n]+") do
        table.insert(lines, line)
    end
    return lines
end

local p = {}

function p.Sitename(frame)
	local extDataTable = mw.ext.externalData.getExternalData(frame.args[1])[1]["__text"]
	local dataLines = splitLines(extDataTable)
	local sitename = ''
	for i,line in ipairs(dataLines) do
		if line:match("og:site_name") then
			sitename = line:match('content="([^"]+)"')
			break
		end
	end
	return sitename
end

return p