8,143
edits
m (1 revision imported) |
m (1 revision imported) |
||
(One intermediate revision by one other user not shown) | |||
Line 334: | Line 334: | ||
local wl_type = 2; -- assume that str is a complex wikilink [[L|D]] | local wl_type = 2; -- assume that str is a complex wikilink [[L|D]] | ||
if not str:match ('^%[%[[^%]]+%]%]$') then -- is str some sort of a wikilink (must have some sort of content) | |||
return 0, str, ''; -- not a wililink; return wl_type as 0, str as D, and empty string as L | |||
end | |||
L, D = str:match ('^%[%[([^|]+)|([^%]]+)%]%]$'); -- get L and D from [[L|D]] | L, D = str:match ('^%[%[([^|]+)|([^%]]+)%]%]$'); -- get L and D from [[L|D]] | ||
if not is_set (D) then -- if no separate | if not is_set (D) then -- if no separate display | ||
D = str:match ('^%[%[([^%]]*)|*%]%]$'); -- get D from [[D]] | D = str:match ('^%[%[([^%]]*)|*%]%]$'); -- get D from [[D]] or [[D|]] | ||
wl_type = 1; | wl_type = 1; | ||
end | end | ||
D = mw.text.trim (D, '%s|'); -- trim white space and pipe characters | D = mw.text.trim (D, '%s|'); -- trim white space and pipe characters | ||
-- L = L and mw.text.trim (L, '%s|'); | |||
return wl_type, D, L or ''; | return wl_type, D, L or ''; | ||
end | end |