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
 
(5 intermediate revisions by the same user not shown)
Line 7: Line 7:
   local tagline    = args[4] or args['tagline'] or 'Tagline'
   local tagline    = args[4] or args['tagline'] or 'Tagline'
   local content    = args[5] or args['id'] or args['url'] or ''
   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()
   local html = mw.html.create()
Line 12: Line 23:
   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 order-0'):wikitext(header):done()
:tag('div'):addClass('card-header order-0'):wikitext(header):done()
:tag('div'):addClass('card-img'):wikitext(content):done()
:tag('div'):addClass('card-img'):wikitext(video):done()
:tag('div'):addClass('card-body bg-dark 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 h3 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()
Line 27: Line 39:
   local title      = args[3] or args['title'] or 'Title'
   local title      = args[3] or args['title'] or 'Title'
   local tagline    = args[4] or args['tagline'] or 'Tagline'
   local tagline    = args[4] or args['tagline'] or 'Tagline'
   local content    = args[5] or args['image'] or ''
   local content    = args[5] or args['image'] or 'Shelter.png'
   local imageUrl    = frame:preprocess('{{filepath:{{PAGENAME:' .. content .. '}}}}')
  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()
   local html = mw.html.create()
Line 34: Line 51:
   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 order-0'):wikitext(header):done()
:tag('div'):addClass('card-header order-0'):wikitext(header):done()
:tag('div'):addClass('card-img'):attr('data-bg', imageUrl):done()
:tag('div'):addClass('card-img'):wikitext(image):done()
:tag('div'):addClass('card-body bg-dark 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-tagline h3 lead'):wikitext(title):done()
:tag('div'):addClass('card-tagline h3 lead'):wikitext(tagline):done()
:tag('div'):addClass('card-text'):wikitext(text):done()
:done()
:done()
   :done()
   :done()

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