Modul:WLink: Unterschied zwischen den Versionen
c/p aus https://de.wikipedia.beta.wmflabs.org/w/index.php?title=Modul:WLink&oldid=22453 (gemäß Spezial:PermaLink/179296556/1× c&p TIA)
K (1 Version importiert: Module) |
wp>Schniggendiller (c/p aus https://de.wikipedia.beta.wmflabs.org/w/index.php?title=Modul:WLink&oldid=22453 (gemäß Spezial:PermaLink/179296556/1× c&p TIA)) |
||
Zeile 1: | Zeile 1: | ||
local WLink = { suite = "WLink", | local WLink = { suite = "WLink", | ||
serial = "2018- | serial = "2018-07-19", | ||
item = 19363224 }; | item = 19363224 }; | ||
--[=[ | --[=[ | ||
Zeile 17: | Zeile 17: | ||
getProject() | getProject() | ||
getTarget() | getTarget() | ||
getTalkPage() | |||
getTargetPage() | getTargetPage() | ||
getTitle() | getTitle() | ||
Zeile 27: | Zeile 28: | ||
isInterwiki() | isInterwiki() | ||
isMedia() | isMedia() | ||
isTalkPage() | |||
isTitledLink() | isTitledLink() | ||
isValidLink() | isValidLink() | ||
Zeile 731: | Zeile 733: | ||
return r; | return r; | ||
end -- WLink.getProject() | end -- WLink.getProject() | ||
function WLink.getTalkPage( attempt ) | |||
-- Retrieve talk page name for attempt, or that page name itself | |||
-- Precondition: | |||
-- attempt -- string, with presumable link somewhere | |||
-- Postcondition: | |||
-- Returns string or false | |||
local r = false; | |||
local s, m = WLink.getTarget( attempt ); | |||
if m ~= 2 and attempt then | |||
s = mw.text.trim( attempt ); | |||
end | |||
if s and s ~= "" then | |||
local w = mw.title.new( s ); | |||
if w then | |||
w = w.talkPageTitle; | |||
if w then | |||
r = w.prefixedText; | |||
end | |||
end | |||
end | |||
return r; | |||
end -- WLink.getTalkPage() | |||
Zeile 1.010: | Zeile 1.037: | ||
return r; | return r; | ||
end -- WLink.isMedia() | end -- WLink.isMedia() | ||
function WLink.isTalkPage( attempt ) | |||
-- Does attempt describe a talk page? | |||
-- Precondition: | |||
-- attempt -- string, with presumable link somewhere | |||
-- Postcondition: | |||
-- Returns boolean | |||
local r = false; | |||
local s, m = WLink.getTarget( attempt ); | |||
if m ~= 2 and attempt then | |||
s = mw.text.trim( attempt ); | |||
end | |||
if s and s ~= "" then | |||
local w = mw.title.new( s ); | |||
if w then | |||
r = w.isTalkPage; | |||
end | |||
end | |||
return r; | |||
end -- WLink.isTalkPage() | |||
Zeile 1.078: | Zeile 1.127: | ||
-- Postcondition: | -- Postcondition: | ||
-- Returns table or false | -- Returns table or false | ||
-- table of assignments with { type, value} | -- table of assignments with { type, value } | ||
-- type is one of "lead", | -- type is one of "lead", | ||
-- "project", "lang", | -- "project", "lang", | ||
Zeile 1.238: | Zeile 1.287: | ||
end | end | ||
else | else | ||
local e = mw.html.create( "span" ); | |||
r = tostring( e:addClass( "error" ) | |||
:wikitext( r ) ); | |||
end | end | ||
return r; | return r; | ||
Zeile 1.289: | Zeile 1.340: | ||
p.getProject = function ( frame ) | p.getProject = function ( frame ) | ||
return Template( frame, "getProject" ); | return Template( frame, "getProject" ); | ||
end | |||
p.getTalkPage = function ( frame ) | |||
return Template( frame, "getTalkPage" ); | |||
end | end | ||
p.getTarget = function ( frame ) | p.getTarget = function ( frame ) | ||
Zeile 1.322: | Zeile 1.376: | ||
p.isMedia = function ( frame ) | p.isMedia = function ( frame ) | ||
return Template( frame, "isMedia" ); | return Template( frame, "isMedia" ); | ||
end | |||
p.isTalkPage = function ( frame ) | |||
return Template( frame, "isTalkPage" ); | |||
end | end | ||
p.isTitledLink = function ( frame ) | p.isTitledLink = function ( frame ) |