Module:Film
![]() | This module depends on the following other modules: |
Logic for {{film}}
require('strict')
local p = {}
local getArgs = require('Module:Arguments').getArgs
local error_message = require('Module:Error')['error']
-- local yesno = require('Module:Yesno')
function p._film(args)
if not args[1] then
return error_message({'[[Module:Film]] error: no file provided'})
end
--[=[
local blackface_warning = ''
if yesno(args.blackface or false) then
blackface_warning = require('Module:Blackface').blackface()
end
]=]
local film_key = mw.html.create('table'):addClass('wst-film-key')
film_key:wikitext(table.concat({
'<tr><th colspan="2"><span class="key">Key</span> <span class="info">([[Help:Film|info]])</span></th></tr>',
'<tr><td class="dialog"></td><td>Dialogue</td></tr>',
'<tr><td class="in_scene"></td><td>In scene</td></tr>',
'<tr><td class="storyline"></td><td>Storyline</td></tr>'
}))
film_key = tostring(film_key)
local wst_film_file = mw.html.create('div'):addClass('wst-film-file')
wst_film_file:wikitext('[[File:' .. args[1] .. '|center|thumbtime=' .. (args.thumbtime or '') .. '|' .. (args.size or '400px') .. ']]')
wst_film_file = tostring(wst_film_file)
local transcript_info = mw.html.create('div'):addClass('wst-transcript-info')
transcript_info:wikitext('[[File:Video Camera Icon.svg|20px]] The following is a transcription of a [[Portal:Film|film]]. The contents below represent text or spoken dialogue that are transcribed directly from the video of the film provided above. On certain screen sizes, each line is represented by a timestamp next to it which shows when the text appears on the video. For more information, see [[Help:Film]].')
transcript_info = tostring(transcript_info)
local container = mw.html.create('div'):addClass('wst-film-container')
container:wikitext(table.concat({
-- blackface_warning,
film_key,
wst_film_file,
require('Module:Film song')._film_song_list({args['wikidata_id']}),
require('Module:Cast and crew')._generateCastAndCrew({args['wikidata_id']}),
transcript_info,
tostring(mw.html.create('div'):css({clear = 'both'})),
require('Module:Pre-Code film').check(),
args.category or '[[Category:' .. 'Film' .. ']]'
}))
return tostring(container)
end
function p.film(frame)
return p._film(getArgs(frame))
end
return p