יחידה:ציר זמן של משחקי מחשב
מראה
עד שייכתב תיעוד, ראו en:Template:Timeline of release years.
דוגמה לשימוש:
{{#invoke:ציר זמן של משחקי מחשב|main | range1 = 1997 - 2008 | range1_color = #67AAFF #A1CAFF | 1997 = '''[[קלונואה: הדלת לפנטומייל|הדלת לפנטומייל]]''' | 1999 = '''[[קזה נו קלונואה: מוזיאון אור הירח|מוזיאון אור הירח]]''' | 2001a = '''[[קולונואה 2: הצעיף של לונטי|הצעיף של לונטי]]''' | 2001b = '''[[קולונואה: אמפריית החלומות|אמפריית החלומות]]''' | 2002a = '''[[קולונואה 2: תחרות אלוף החלומות|תחרות אלוף החלומות]]''' | 2002b = '''[[קולונואה כדורעף חופים|כדורעף חופים]]''' | 2002c = '''[[גיבורי קולונואה: דנסטסו נו סטר מדאל]]''' | 2008 = '''[[קלונואה (משחק וידאו, 2008)|קלונואה]]''' }}
תוצאה:
1997 | הדלת לפנטומייל | |
1998 | ||
1999 | מוזיאון אור הירח | |
2000 | ||
2001 | הצעיף של לונטי אמפריית החלומות | |
2002 | תחרות אלוף החלומות כדורעף חופים גיבורי קולונואה: דנסטסו נו סטר מדאל | |
2003 | ||
2004 | ||
2005 | ||
2006 | ||
2007 | ||
2008 | קלונואה |
require('Module:No globals')
local getArgs = require('Module:Arguments').getArgs
local p = {}
local function isYearReleased(args, year)
if args[year] then
return true
end
for asciiletter = 97, 106 do -- 97 == a, 106 == j
if args[year .. string.char(asciiletter)] then
return true
end
end
end
local function color(args, year)
if args[year .. '_color'] then
return args[year .. '_color']
end
for yearrange = 1, 5 do
if args['range' .. yearrange] and args['range' .. yearrange .. '_color'] then
local _, _, beginyear, endyear = string.find( args['range' .. yearrange], '^(%d%d%d%d).+(%d%d%d%d)$' )
local year = tonumber(year) or 9999 -- For year == 'TBA'
beginyear = tonumber(beginyear) or 0
endyear = tonumber(endyear) or 9999
if year >= beginyear and year <= endyear then
local _, _, color1, color2 = string.find( args['range' .. yearrange .. '_color'], '^(%S*)%s*(%S*)$' )
color2 = (color2 == '') and color1 or color2
return isYearReleased(args, year) and color1 or color2
end
end
end
return isYearReleased(args, year) and '#0BDA51' or '#228B22'
end
local function titleItem(builder, content)
if content ~= nil then
builder:tag( 'span' ):wikitext( content .. '<br />' )
end
end
local function left(builder, year)
builder:tag( 'td' )
:css('padding', '5px')
:wikitext( year )
end
local function center(builder, args, year)
builder:tag( 'td' )
:css( 'width', '10px' )
:css( 'border', '1px solid black' )
:css( 'background-color', color(args, year) )
:css( 'padding', '5px' )
end
local function right(builder, args, year)
if isYearReleased(args, year) == nil then return end
builder = builder:tag('td')
:css('padding','5px')
titleItem(builder, args[year] or args[year .. 'a' ])
for asciiletter = 98, 106 do -- 98 == b, 106 == j
titleItem(builder, args[year .. string.char(asciiletter)])
end
end
local function row(builder, args, year)
builder = builder:tag('tr')
left(builder, year)
center(builder, args, year)
right(builder, args, year)
end
--------------------------------------------------------------------------------
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
function p._main(args)
-- Main module code goes here.
local ret
local firstyear, lastyear, TBA
TBA = isYearReleased(args, 'TBA')
ret = mw.html.create( 'table' )
:css('float', args.align or 'right')
:css('clear', args.align or 'right')
:css('margin', '0 0 0.5ex 1em')
:css('font-size', '80%')
:css('line-height', '90%')
:css('border-collapse', 'collapse')
:css('border-spacing', '0')
ret:tag('caption')
:css('padding', '5px')
:wikitext(args.title and ('<b>' .. args.title .. '</b>') or '<b>ציר זמן של הוצאות לאור</b>')
:wikitext(args.subtitle and ('<br />' .. args.subtitle) )
if tonumber(args.first) then
firstyear = tonumber(args.first)
else
for i = 1940, os.date('%Y') do
if isYearReleased(args, i) then
firstyear = i
break
end
end
end
if tonumber(args.last) then
lastyear = tonumber(args.last)
else
for i = os.date('%Y') + 3, TBA and os.date('%Y') or firstyear, -1 do
if isYearReleased(args, i) then
lastyear = i
break
end
end
lastyear = lastyear or (os.date('%Y') - 1)
end
for year = firstyear, lastyear do
row(ret, args, year)
end
if TBA then
row(ret, args, 'TBA')
end
return ret
end
return p