Homepage
Games
News
News βΎ
All
Transfers
Drama
Business
Sponsors
Mergers
Investors
Hires
Companies
More
People
Tournaments
Brands
Brands βΎ
Companies
Organizations
Sponsors
Other
Locations
Search
Editing
Module:NewsLanding/LatestNews
From TwogPedia
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local getArgs = require('Module:Arguments').getArgs local cargo = mw.ext.cargo local p = {} function p.main(frame) local args = getArgs(frame) local tables = 'News' local fields = '_pageName, date, image, category, game, content' local cargoArgs = { where = 'category HOLDS WITHIN "' .. args.category .. '"', orderBy = 'date DESC', limit = args.limit, offset = args.offset } local results = cargo.query(tables, fields, cargoArgs) if #results > 0 then local listStr = '' for i = 1, #results do local result = results[i] local img = result.image or 'News placeholder.png' local image = mw.html.create('div'):wikitext('[[File:' .. img .. '|600px|link=]]') local title = mw.html.create('div'):addClass('news-latest-item-title'):wikitext(mw.ext.displaytitle.get(result._pageName)) local description = getExcerpt(removeLinks(result.content)) local dateString = mw.ustring.gsub(result.date, "%s(AM|PM)$", "") -- Use os.date to convert the string to a table of date and time components local dateTimeTable = os.date("*t", os.time({year=string.sub(dateString, 1, 4), month=string.sub(dateString, 6, 7), day=string.sub(dateString, 9, 10), hour=tonumber(string.sub(dateString, 12, 13)) + ((string.sub(dateString, 22, 22) == "PM") and 12 or 0), min=string.sub(dateString, 15, 16), sec=string.sub(dateString, 18, 19)})) -- Use os.date again to format the date and time components into a desired format local formatedDate = os.date("%d %b %Y %H:%M", os.time(dateTimeTable)) local date = mw.html.create('div'):wikitext(formatedDate) local text = mw.html.create('div'):addClass('news-latest-item-text'):node(title):node(description):node(date) local div = mw.html.create('div'):addClass('news-latest-item'):node(image):node(text):node(mw.html.create('div'):addClass('link-overlay'):wikitext('[[File:Team_placeholder_light.png|1x1px|link=' .. result._pageName .. ']]')) listStr = listStr .. tostring(div) end return listStr end end function getExcerpt(text) local maxLength = 100 if #text <= maxLength then return text else local nextSpace = text:find(" ", maxLength) -- find the next space after maxLength if nextSpace then return text:sub(1, nextSpace) .. '...' else return text:sub(1, maxLength) .. '...' -- return the first maxLength characters if no space is found end end end function removeLinks(text) local result = text:gsub("%[%[(.-)|.-%]%]", "%1"):gsub("%[%[(.-)%]%]", "%1"):gsub('People/', ''):gsub('Companies/', ''):gsub('Locations/', ''):gsub('News/', '') return result end return p
Summary:
Please note that all contributions to TwogPedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
TwogPedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Preview page with this template
Template used on this page:
Module:NewsLanding/LatestNews/doc
(
edit
)
No categories
Edit