http://memory-alpha.wiki/wiki/Modul:EpLink/history?feed=atom&
Modul:EpLink - Versionsgeschichte
2024-03-29T06:27:56Z
Versionsgeschichte dieser Seite in Memory Alpha Nova
MediaWiki 1.31.10
http://memory-alpha.wiki/mediawiki/index.php?title=Modul:EpLink&diff=709801&oldid=prev
Master: Die Seite wurde neu angelegt: „local episodes = mw.loadData( 'Module:Episoden' ) local numberOfEpisodes = 727 local p = {} function p.getEpisodeData(frame) local title = frame.args[1]…“
2019-01-04T10:43:00Z
<p>Die Seite wurde neu angelegt: „local episodes = mw.loadData( 'Module:Episoden' ) local numberOfEpisodes = 727 local p = {} function p.getEpisodeData(frame) local title = frame.args[1]…“</p>
<p><b>Neue Seite</b></p><div>local episodes = mw.loadData( 'Module:Episoden' ) <br />
<br />
local numberOfEpisodes = 727<br />
<br />
local p = {}<br />
<br />
function p.getEpisodeData(frame)<br />
local title = frame.args[1]<br />
title = mw.ustring.gsub( title , '&#61;', '=')<br />
local series = 'ALL'<br />
if frame.args[2] ~= nil and frame.args[2] ~= '' then<br />
series = mw.ustring.sub(frame.args[2], 0, 3)<br />
end<br />
local suffix = ''<br />
if type(episodes[series]) == 'table' then<br />
for _,episode in pairs(episodes[series]) do<br />
thisTitleDE = episode[4]<br />
if p.fuzzyMatch(thisTitleDE, title) then<br />
return episode<br />
end <br />
end<br />
end<br />
end<br />
<br />
function p.getArticle(episode)<br />
local title = mw.ustring.gsub( episode[4] , '', '') <br />
local series = episode[5]<br />
local suffix = ''<br />
if series ~= "" then<br />
suffix = ' (' .. series .. ')' <br />
end<br />
return title .. suffix<br />
end<br />
<br />
function p.fuzzyMatch(first, second)<br />
return p.simplifyString(first) == p.simplifyString(second)<br />
end<br />
<br />
function p.simplifyString(string)<br />
string = string.gsub(string, '[^%a%d]', '')<br />
return mw.ustring.lower(string)<br />
end<br />
<br />
function p.getDescription(episode)<br />
local number = mw.ustring.gsub( episode[2], 'x', '×')<br />
local series = episode[1]<br />
local title = episode[4]<br />
local origtitle = mw.ustring.gsub( episode[3], '"', '&quot;' )<br />
local output = series .. ' ' .. number .. "\n»" .. title .. '« ' .. "\n" .. 'Originaltitel: »' .. origtitle .. '«'<br />
return mw.text.encode( output )<br />
end<br />
<br />
function p.getRemasteredSuffix(series)<br />
return ' – [[' .. series .. ' Remastered|Remastered]]'<br />
<br />
end<br />
<br />
function p.getLink(frame)<br />
local episode = p.getEpisodeData(frame)<br />
if episode == nil then<br />
return p.getFallbackLink(frame)<br />
end<br />
local article = p.getArticle(episode)<br />
local title = episode[4]<br />
local description = p.getDescription(episode)<br />
if frame.args[2] ~= nil then<br />
local isRemastered = mw.ustring.match( frame.args[2], '-R', 3 ) ~= nil<br />
else<br />
local isRemastered = false<br />
end <br />
local suffix = ''<br />
if isRemastered then<br />
local series = episode[1]<br />
suffix = p.getRemasteredSuffix(series)<br />
end<br />
return '[[' .. article .. "|<i title=\"" .. description .. "\">" .. title .. "</i>]]" .. suffix<br />
end<br />
<br />
function p.getFallbackLink(frame)<br />
local title = frame.args[1]<br />
local note = 'Ungenaue Angabe bitte Link überprüfen.'<br />
local suffix = ' [[Vorlage:EpLink/Häufige Fehler|<sup title="' .. note .. '" style="color:red">?</sup>]]'<br />
suffix = suffix .. '[[Kategorie:Artikel die Episodenverweise haben, die nicht auf Episoden verweisen]]'<br />
return '[[' .. title .. "|<i>" .. title .. "</i>]]" .. suffix<br />
end<br />
<br />
function p.getEpisodeList()<br />
local output = ''<br />
for _,episode in pairs(episodes.ALL) do<br />
series = episode[1]<br />
title = episode[4]<br />
output = output .. "\n* " .. p.getLink{['args']={title, series}}<br />
end<br />
return output<br />
end<br />
<br />
function p.getArticleByCode(frame)<br />
local query = frame.args[1]<br />
-- Expected format: TNG-0x01<br />
local series = mw.ustring.sub( query, 0, 3)<br />
local no = mw.ustring.sub( query, 5, 8)<br />
for _,episode in pairs(episodes.ALL) do<br />
thisSeries = episode[1]<br />
thisNo = episode[2]<br />
if (thisSeries == series) and (thisNo == no) then<br />
return episode[4]<br />
end<br />
end<br />
end<br />
<br />
<br />
function p.getEpisodeTable()<br />
local output = '{|'<br />
output = output .. "\n|-"<br />
local header = {'Serie', '№', 'Originaltitel', 'Dt. Titel', 'Suffix', 'Schlüssel' }<br />
for _,text in pairs(header) do<br />
output = output .. "\n! " .. text<br />
end<br />
for _,episode in pairs(episodes.ALL) do<br />
output = output .. "\n|-"<br />
for _,cell in pairs(episode) do<br />
output = output .. "\n| " .. cell<br />
end<br />
output = output .. "\n| " .. p.simplifyString( episode[4] )<br />
end<br />
output = output .. "\n|-"<br />
output = output .. "\n|}"<br />
return output<br />
end<br />
<br />
function p.getCompactEpisodeTable(frame)<br />
local series = frame.args[1]<br />
local output = '{|'<br />
output = output .. "\n|-"<br />
local header = {'№', 'Titel' }<br />
for _,text in pairs(header) do<br />
output = output .. "\n! " .. text<br />
end<br />
for _,episode in pairs(episodes.ALL) do<br />
local article = p.getArticle(episode)<br />
if series == episode[1] then<br />
output = output .. <br />
"\n|-" ..<br />
'\n| align="center" | ' ..<br />
"[[" ..<br />
article ..<br />
'|' ..<br />
episode[1] ..<br />
'<br />' ..<br />
episode[2] ..<br />
"]]"..<br />
"\n| " .. <br />
"[[" ..<br />
article ..<br />
'|' ..<br />
"''" ..<br />
episode[4] ..<br />
"''" ..<br />
'<br />' ..<br />
'<small>' ..<br />
"''" ..<br />
episode[3] ..<br />
"''" ..<br />
'</small>' ..<br />
']]'<br />
end<br />
end<br />
output = output .. "\n|-"<br />
output = output .. "\n|}"<br />
return output<br />
end<br />
<br />
<br />
return p</div>
Master