Module:ExternalLink: Difference between revisions
Appearance
No edit summary |
Rewritten using Claude (dont really have the time for this) |
||
| Line 5: | Line 5: | ||
if not webpage then return "No link provided" end | if not webpage then return "No link provided" end | ||
local data = mw.ext.externalData.getExternalData( | local data, err = mw.ext.externalData.getExternalData( | ||
url = webpage, | "url=" .. webpage, | ||
format = | "format=pre", | ||
"data=page_content" | |||
) | |||
if not data then | |||
return "Fetch failed: " .. tostring(err) | |||
end | |||
local content = data["page_content"] and data["page_content"][1] | |||
if type(content) ~= "string" then | |||
return "Unexpected data type: " .. type(content) | |||
if type( | |||
return " | |||
end | end | ||
local title = content:match("<[Tt][Ii][Tt][Ll][Ee]>(.-)</%1>") | |||
or content:match("<title>(.-)</title>") | |||
return title and mw.text.trim(title) or webpage | |||
end | end | ||
return p | return p | ||
Revision as of 08:21, 30 April 2026
Documentation for this module may be created at Module:ExternalLink/doc
local p = {}
p.GetTitle = function(frame)
local webpage = frame.args[1]
if not webpage then return "No link provided" end
local data, err = mw.ext.externalData.getExternalData(
"url=" .. webpage,
"format=pre",
"data=page_content"
)
if not data then
return "Fetch failed: " .. tostring(err)
end
local content = data["page_content"] and data["page_content"][1]
if type(content) ~= "string" then
return "Unexpected data type: " .. type(content)
end
local title = content:match("<[Tt][Ii][Tt][Ll][Ee]>(.-)</%1>")
or content:match("<title>(.-)</title>")
return title and mw.text.trim(title) or webpage
end
return p