Module:ScriptItem: Difference between revisions

no edit summary
No edit summary
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 38: Line 38:
-- Category Names. (String(s) to look for in an item name, case-INsensitive.)
-- Category Names. (String(s) to look for in an item name, case-INsensitive.)
'Blip', 'Building', 'Camera', 'Chatbox', 'Cheat', 'Client', 'Command', 'Cursor', 'Debug', 'Dodo',
'Blip', 'Building', 'Camera', 'Chatbox', 'Cheat', 'Client', 'Command', 'Cursor', 'Debug', 'Dodo',
'Element', 'Entity', 'Event', 'File', 'Font', 'Garage', 'HTTP', 'HUD', 'Key', 'Mission', 'Mouse', 'Network', 'Object',
'Element', 'Entity', 'Event', 'File', 'Font', 'Garage', 'HTTP', 'HUD', 'Key', 'Mission', 'Mouse', 'NetFlags', 'Network', 'Object',
'Pause', 'Ped', 'Pickup', 'Player', 'Process', 'Render', 'Resource', 'Screen', 'Socket', 'Sphere', 'Time', 'Transformable', 'Vehicle', 'Weather', 'World'
'Pause', 'Ped', 'Pickup', 'Player', 'Process', 'Render', 'Resource', 'Screen', 'Socket', 'Sphere', 'Time', 'Vehicle', 'Weather', 'World'
}
}


Line 63: Line 63:
-- item page types
-- item page types
function p.showVariablePage(frame)
function p.showVariablePage(frame)
local parts = { "Value" }
return p.showPage(frame, { "Value" })
return p.showPage(frame, parts)
end
end


function p.showFunctionPage(frame)
function p.showFunctionPage(frame)
local parts = { "Parameters", "Return", "Callbacks" }
return p.showPage(frame, { "Parameters", "Return", "Callbacks" })
return p.showPage(frame, parts)
end
end


function p.showPropertyPage(frame)
function p.showPropertyPage(frame)
local parts = { "Value" }
return p.showPage(frame, { "Value" })
return p.showPage(frame, parts)
end
end


function p.showMethodPage(frame)
function p.showMethodPage(frame)
local parts = { "Parameters", "Return", "Callbacks" }
return p.showPage(frame, { "Parameters", "Return", "Callbacks" })
return p.showPage(frame, parts)
end
end


function p.showEventPage(frame)
function p.showEventPage(frame)
local parts = { "Parameters", "Attributes" }
return p.showPage(frame, { "Parameters", "Attributes" })
return p.showPage(frame, parts)
end
end


Line 114: Line 109:
local lines = {}
local lines = {}
table.insert(lines, frame:preprocess("{{DISPLAYTITLE:"..p.getDisplayedName(frame).."}}"))
table.insert(lines, frame:preprocess("{{DISPLAYTITLE:"..p.getDisplayedName(frame).."}}"))
    -- Added for discord embed styling
--table.insert(lines, "<meta content='"..p.getDisplayedName(frame).."' property='og:title' />"))
--table.insert(lines, "<meta content='"..p.description(frame).."' property='og:description' />"))
--table.insert(lines, "<meta content='#04C765' data-react-helmet='true' name='theme-color' />"))
table.insert(lines, "__NOTOC__"..p.getPageTopBoxes(frame).."\n")
table.insert(lines, "__NOTOC__"..p.getPageTopBoxes(frame).."\n")
table.insert(lines, "<div style='margin-top: 20px;'>Available since "..p.since(frame).."</div>\n")
table.insert(lines, "<div style='margin-top: 20px;'>Available since "..p.since(frame).."</div>\n")
Line 301: Line 302:
function p.onlineBox(frame)
function p.onlineBox(frame)
local args = p.getArgs(frame)
local args = p.getArgs(frame)
if args.sp == 'true' then
if args.sp == 'true' or args.online == 'false' then
return p.loadTemplate(frame, 'RedInformationBox', {'Offline Only',id='online'});
return p.loadTemplate(frame, 'RedInformationBox', {'Offline Only',id='online'});
elseif args.sp == 'false' or args.offline == 'false' then
return p.loadTemplate(frame, 'RedInformationBox', {'Online Only',id='online'});
else
else
return p.loadTemplate(frame, 'GreenInformationBox', {'Online and Offline',id='online'});
return p.loadTemplate(frame, 'GreenInformationBox', {'Online and Offline',id='online'});
Line 368: Line 371:
local entries = p.getIndexedArgs(frame, 'description')
local entries = p.getIndexedArgs(frame, 'description')
local startTextFirstLine = "The <span style=\"font-family: 'Source Code Pro', monospace;\">"..p.getDisplayedNameColoured(frame).."</span> [HowTo/Functions|"..args.type.."] is "..(args.type == "event" and "invoked when" or "used to").." "
local startTextFirstLine = "The <span style=\"font-family: 'Source Code Pro', monospace;\">"..p.getDisplayedNameColoured(frame).."</span> [[HowTo/Functions|"..args.type.."]] is "..(args.type == "event" and "invoked when" or "used to").." "
for i,entry in ipairs(entries) do
for i,entry in ipairs(entries) do
Line 808: Line 811:
local args = p.getArgs(frame)
local args = p.getArgs(frame)
if p.isOOP(frame) then
if p.isOOP(frame) then
return args.class:lower().."."..args.name
return p.lowerFirstCharCase(args.class).."."..args.name
else
else
return args.name
return args.name
Line 827: Line 830:
local args = p.getArgs(frame)
local args = p.getArgs(frame)
if p.isOOP(frame) then
if p.isOOP(frame) then
return "<span style='color:"..typeRgb..";'>"..args.class:lower().."</span>.<span style='color:"..nameRgb.."';>"..args.name.."</span>"
return "<span style='color:"..typeRgb..";'>"..p.lowerFirstCharCase(args.class).."</span>.<span style='color:"..nameRgb.."';>"..args.name.."</span>"
else
else
return "<span style='color:"..nameRgb.."';>"..args.name.."</span>"
return "<span style='color:"..nameRgb.."';>"..args.name.."</span>"
Line 879: Line 882:
physical = {'Object', 'Ped', 'Vehicle', 'Player'},
physical = {'Object', 'Ped', 'Vehicle', 'Player'},
entity = {'Building', 'Physical', 'Object', 'Ped', 'Vehicle', 'Player'},
entity = {'Building', 'Physical', 'Object', 'Ped', 'Vehicle', 'Player'},
transformable = {'Blip', 'Entity', 'Marker', 'Building', 'Physical', 'Object', 'Ped', 'Vehicle', 'Player'},
element = {'Blip', 'Entity', 'Marker', 'Building', 'Physical', 'Object', 'Ped', 'Vehicle', 'Player'},
element = {'Transformable', 'Blip', 'Entity', 'Marker', 'Building', 'Physical', 'Object', 'Ped', 'Vehicle', 'Player'},
vehicle = {'Train'},
vehicle = {'Train'},
event = {'CancellableEvent', 'KeyEvent'},
event = {'CancellableEvent', 'KeyEvent'},
Line 889: Line 891:
local sharedTypes = {
local sharedTypes = {
'Building', 'Client', 'Effect', 'Event', 'Timer', 'ReflectedFunction', 'Resource', 'Stream', 'Vec2', 'Vec3', 'Matrix4x4',
'Building', 'Client', 'Effect', 'Event', 'Timer', 'ReflectedFunction', 'Resource', 'Stream', 'Vec2', 'Vec3', 'Matrix4x4',
'Element', 'Transformable', 'Blip', 'Pickup', 'Entity', 'Physical','Vehicle', 'Train', 'XmlDocument', 'XmlElement',
'Element', 'Blip', 'Pickup', 'Entity', 'Physical','Vehicle', 'Train', 'XmlDocument', 'XmlElement',
'CancellableEvent', 'KeyEvent', 'Marker', 'Object', 'Ped', 'Player'
'CancellableEvent', 'KeyEvent', 'Marker', 'Object', 'Ped', 'Player'
}
}
Line 1,020: Line 1,022:


function p.formatSource(type, frame)
function p.formatSource(type, frame)
return frame:preprocess('<source>'..type..'</source>')
return frame:preprocess('<syntaxhighlight>'..type..'</syntaxhighlight>')
end
end


Line 1,154: Line 1,156:
function p.properCase(text)
function p.properCase(text)
return text:sub(1,1):upper()..text:sub(2):lower()
return text:sub(1,1):upper()..text:sub(2):lower()
end
function p.lowerFirstCharCase(text)
return text:sub(1,1):lower()..text:sub(2)
end
end


2,591

edits