No edit summary |
No edit summary |
||
Line 109: | Line 109: | ||
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Supporting|" .. HF.episodeCount(frame.args.appearances) .. "]]" ) |
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Supporting|" .. HF.episodeCount(frame.args.appearances) .. "]]" ) |
||
end |
end |
||
− | if not HF.isempty( frame.args.categories ) then |
+ | -- if not HF.isempty( frame.args.categories ) then |
− | for i, catname in ipairs( HF.explode(';', frame.args.categories) ) do |
+ | -- for i, catname in ipairs( HF.explode(';', frame.args.categories) ) do |
− | if not HF.isempty( HF.parseCategory(catname) ) then |
+ | -- if not HF.isempty( HF.parseCategory(catname) ) then |
− | cattoadd = '[[Category:'..HF.parseCategory(catname)..']]' |
+ | -- cattoadd = '[[Category:'..HF.parseCategory(catname)..']]' |
− | table.insert( cat, HF.parseCategory(cattoadd) ) |
+ | -- table.insert( cat, HF.parseCategory(cattoadd) ) |
− | end |
+ | -- end |
− | end |
+ | -- end |
− | end |
+ | -- end |
local categories = CH{main = table.concat( cat )} |
local categories = CH{main = table.concat( cat )} |
||
return categories |
return categories |
Revision as of 16:53, 23 October 2014
Lua error in Dev:Docbunto at line 944: documentation markup for Docbunto not found in Module:Infobox/AHSW.
local Infobox = {}
local HF = require('Module:HF')
local CH = require('Module:Category handler').main
local L = require('Module:List')
local language = mw.language.new('en')
local data = mw.loadData( 'Module:HF/data' )
local SeasonLinks = data.SeasonLinks
function Infobox.list( field, vars )
local items = HF.explode( ";", field.Value )
if ( field.ListType == "horizontal" ) then items.class = "hwrap plainlinks" end
local list = L.makeList( field.ListType , items )
return list
end
function Infobox.CharacterFooter( field, vars )
local footer = ""
local cat = {}
local links = {}
if (string.find(field.Story,';') ~= nil) then
local stories = HF.explode(';', field.Story)
for i, aStory in pairs(stories) do
story = aStory
storyCat = "[[Category:"..story.." (story)]]"
storyLink = "[[:" .. string.sub(storyCat,3,-3) .. "/Characters|" .. story .. " Characters]]" .. ' '
table.insert( links, storyLink )
table.insert( cat, "[[Category:".."Characters]]" )
table.insert( cat, storyCat )
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters]]" )
if not HF.isempty( field.MainTitleOrder ) then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Main|" .. field.MainTitleOrder .. "]]" )
elseif HF.episodeCount(field.Episodes) > 2 then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Supporting|" .. HF.episodeCount(field.Episodes) .. "]]" )
end
end
else
assert(HF.parseStory(field.Story),"The value for '''story''' is invalid.")
local story = HF.parseStory(field.Story)
local storyCat = "[[Category:"..story.." (story)]]"
local storyLink = "[[:" .. string.sub(storyCat,3,-3) .. "/Characters|" .. story .. " Characters]]"
table.insert( links, storyLink )
table.insert( cat, "[[Category:".."Characters]]" )
table.insert( cat, storyCat )
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters]]" )
if not HF.isempty( field.MainTitleOrder ) then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Main|" .. field.MainTitleOrder .. "]]" )
elseif HF.episodeCount(field.Episodes) > 2 then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Supporting|" .. HF.episodeCount(field.Episodes) .. "]]" )
end
end
local categories = CH{main = table.concat( cat )}
footer = footer .. table.concat(links) .. categories
return footer
end
function Infobox.EpisodeFooter( field, vars )
local footer = ""
local cat = {}
local linktable = {}
local story = HF.parseStory( field.Story )
local storyCat = "[[Category:"..story.." (story)]]"
local episodeLinks = HF.explode( ";", SeasonLinks[story] )
-- IMDb
if not HF.isempty( field.IMDb ) then
table.insert( linktable, "[http://www.imdb.com/title/tt" .. field.IMDb .. "/combined IMDb]" )
end
-- Links
for i, link in ipairs( episodeLinks ) do table.insert( linktable, link ) end
linktable.class = "hwrap plainlinks"
local list = L.makeList( "horizontal" , linktable )
-- Categories
if not HF.isempty( field.Sortkey ) then
table.insert( cat, "[[Category:Episodes|" .. field.Sortkey .. "]]" )
else
table.insert( cat, "[[Category:Episodes]]" )
end
table.insert( cat, storyCat )
if not HF.isempty( field.Sortkey ) then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Episodes|" .. field.Sortkey .. "]]" )
else
table.insert( cat, string.sub(storyCat,0,-3) .. "/Episodes]]" )
end
table.insert( cat, string.sub(storyCat,0,-3) .. "/Episodes/By Broadcast|" .. field.Episode .. "]]" )
local categories = CH{main = table.concat( cat )}
-- Output
footer = footer .. list .. categories
return footer
end
function Infobox.CharacterMiniHelper( frame )
local cat = {}
assert(HF.parseStory(frame.args.story),"The value for '''story''' is invalid.")
local story = HF.parseStory(frame.args.story)
local storyCat = "[[Category:"..story.." (story)]]"
if not HF.isempty( frame.args.sortkey ) then
table.insert( cat, "[[Category:Characters|" .. frame.args.sortkey .. "]]" )
table.insert( cat, string.sub(storyCat,0,-3) .. "|" .. frame.args.sortkey .. "]]" )
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters|" .. frame.args.sortkey .. "]]" )
else
table.insert( cat, "[[Category:Characters]]" )
table.insert( cat, storyCat )
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters]]" )
end
if HF.episodeCount(frame.args.appearances) > 2 then
table.insert( cat, string.sub(storyCat,0,-3) .. "/Characters/Supporting|" .. HF.episodeCount(frame.args.appearances) .. "]]" )
end
-- if not HF.isempty( frame.args.categories ) then
-- for i, catname in ipairs( HF.explode(';', frame.args.categories) ) do
-- if not HF.isempty( HF.parseCategory(catname) ) then
-- cattoadd = '[[Category:'..HF.parseCategory(catname)..']]'
-- table.insert( cat, HF.parseCategory(cattoadd) )
-- end
-- end
-- end
local categories = CH{main = table.concat( cat )}
return categories
end
return Infobox