PC Gaming Shelter
An archive dedicated to preserving PC Gaming history and more

Module:Featured: Difference between revisions

From PC Gaming Shelter
No edit summary
No edit summary
 
(19 intermediate revisions by the same user not shown)
Line 2: Line 2:


function p.video(frame)
function p.video(frame)
   local args   = frame:getParent().args or {}
   local args       = frame:getParent().args or {}
   local header = args[1] or args['header'] or 'Navigate'
   local header     = args[2] or args['header'] or 'Navigate'
   local title   = args[2] or args['title'] or 'Title'
   local title       = args[3] or args['title'] or 'Title'
   local tagline = args[3] or args['tagline'] or 'Tagline'
   local tagline     = args[4] or args['tagline'] or 'Tagline'
   local url     = args[4] or args['url'] or ''
   local content     = args[5] or args['id'] or args['url'] or ''
   local video  = ''
  local text        = args[6] or args['text'] or ''
   local video  = frame:callParserFunction('#tag', {
  'embedvideo',
  service = 'youtube', 
  autoResize = '1',
  content
  })
 
  if text  ~= '' then
  text = '\n' .. text
  end
    
    
   local html = mw.html.create()
   local html = mw.html.create()
 
   html:tag('div'):addClass('card bg-dark thumbwall mb-3')
   html:tag('div'):addClass('card bg-dark thumbwall mb-3')
:tag('div'):addClass('card-header'):wikitext(header):done()
:tag('div'):addClass('card-header order-0'):wikitext(header):done()
:tag('div'):addClass('card-img'):wikitext(video):done()
:tag('div'):addClass('card-img'):wikitext(video):done()
:tag('div'):addClass('card-body flex-column')
:tag('div'):addClass('card-body bg-dark flex-column')
:tag('div'):addClass('card-title mb-0'):wikitext(title):done()
:tag('div'):addClass('card-title mb-0'):wikitext(title):done()
:tag('div'):addClass('card-tagline lead'):wikitext(tagline):done()
:tag('div'):addClass('card-tagline h3 lead'):wikitext(tagline):done()
:tag('div'):addClass('card-text'):wikitext(text):done()
:done()
:done()
   :done()
   :done()
  return html
end
function p.image(frame)
  local args        = frame:getParent().args or {}
  local header      = args[2] or args['header'] or 'Navigate'
  local title      = args[3] or args['title'] or 'Title'
  local tagline    = args[4] or args['tagline'] or 'Tagline'
  local content    = args[5] or args['image'] or 'Shelter.png'
  local text        = args[6] or args['text'] or 'text'
  local image      = frame:preprocess('[[File:{{PAGENAME:' .. content .. '}}|Featured image]]')
 
  if text  ~= '' then
  text = '\n' .. text
  end
 
  local html = mw.html.create()
    
    
  html:tag('div'):addClass('card bg-dark thumbwall mb-3')
:tag('div'):addClass('card-header order-0'):wikitext(header):done()
:tag('div'):addClass('card-img'):wikitext(image):done()
:tag('div'):addClass('card-body bg-dark flex-column')
:tag('div'):addClass('card-tagline h3 lead'):wikitext(title):done()
:tag('div'):addClass('card-text'):wikitext(text):done()
:done()
  :done()
   return html
   return html
end
end


return p
return p

Latest revision as of 13:43, 27 March 2026

Documentation for this module may be created at Module:Featured/doc

local p = {}

function p.video(frame)
  local args        = frame:getParent().args or {}
  local header      = args[2] or args['header'] or 'Navigate'
  local title       = args[3] or args['title'] or 'Title'
  local tagline     = args[4] or args['tagline'] or 'Tagline'
  local content     = args[5] or args['id'] or args['url'] or ''
  local text        = args[6] or args['text'] or ''
  local video   = frame:callParserFunction('#tag', { 
  	'embedvideo', 
  	service = 'youtube',  
  	autoResize = '1',
  	content 
  })

  if text  ~= '' then
  	text = '\n' .. text
  end
  
  local html = mw.html.create()
  
  html:tag('div'):addClass('card bg-dark thumbwall mb-3')
	:tag('div'):addClass('card-header order-0'):wikitext(header):done()
	:tag('div'):addClass('card-img'):wikitext(video):done()
	:tag('div'):addClass('card-body bg-dark flex-column')
		:tag('div'):addClass('card-title mb-0'):wikitext(title):done()
		:tag('div'):addClass('card-tagline h3 lead'):wikitext(tagline):done()
		:tag('div'):addClass('card-text'):wikitext(text):done()
	:done()
  :done()

  return html
end

function p.image(frame)
  local args        = frame:getParent().args or {}
  local header      = args[2] or args['header'] or 'Navigate'
  local title       = args[3] or args['title'] or 'Title'
  local tagline     = args[4] or args['tagline'] or 'Tagline'
  local content     = args[5] or args['image'] or 'Shelter.png'
  local text        = args[6] or args['text'] or 'text'
  local image       = frame:preprocess('[[File:{{PAGENAME:' .. content .. '}}|Featured image]]')
  
  if text  ~= '' then
  	text = '\n' .. text
  end
  
  local html = mw.html.create()
  
  html:tag('div'):addClass('card bg-dark thumbwall mb-3')
	:tag('div'):addClass('card-header order-0'):wikitext(header):done()
	:tag('div'):addClass('card-img'):wikitext(image):done()
	:tag('div'):addClass('card-body bg-dark flex-column')
		:tag('div'):addClass('card-tagline h3 lead'):wikitext(title):done()
		:tag('div'):addClass('card-text'):wikitext(text):done()
	:done()
  :done()

  return html
end

return p