Skip to content

Commit 32ea9a3

Browse files
Updated articles.lua
1 parent be2855e commit 32ea9a3

File tree

2 files changed

+85
-18
lines changed

2 files changed

+85
-18
lines changed

scripts/docs/all.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
dofile( "scripts/docs/sidebar.lua" )
88
dofile( "scripts/docs/sections.lua" )
9-
-- dofile( "scripts/docs/articles.lua" )
9+
dofile( "scripts/docs/articles.lua" )
1010

1111
dofile( "scripts/docs/concommand.lua" )
1212
dofile( "scripts/docs/convar.lua" )

scripts/docs/articles.lua

Lines changed: 84 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -30,27 +30,91 @@ local function r_header2( header )
3030
return concat( md, "\r\n" )
3131
end
3232

33+
local function r_thead( keys )
34+
local th = {}
35+
local border = {}
36+
insert( th, "| " )
37+
insert( border, "| " )
38+
for i, k in ipairs( keys ) do
39+
local space = ( i ~= #keys and " " or "" )
40+
insert( th, k .. " |" .. space )
41+
insert( border, rep( "-", len( k ) ) .. " |" .. space )
42+
end
43+
th = concat( th ) .. "\r\n"
44+
border = concat( border )
45+
return th .. border
46+
end
47+
48+
local function r_table( t )
49+
local md = {}
50+
local keys = {}
51+
for _, k in ipairs( t ) do
52+
for i, u in ipairs( k ) do
53+
for key in pairs( u ) do
54+
keys[ i ] = key
55+
end
56+
end
57+
end
58+
insert( md, r_thead( keys ) )
59+
60+
for _, k in ipairs( t ) do
61+
local values = {}
62+
insert( values, "| " )
63+
for i, v in ipairs( k ) do
64+
local space = ( i ~= #k and " " or "" )
65+
insert( values, v[ keys[ i ] ] .. " |" .. space )
66+
end
67+
insert( md, concat( values ) )
68+
end
69+
70+
insert( md, "" )
71+
return concat( md, "\r\n" )
72+
end
73+
3374
local function writeMethods( section, methods, separator )
3475
for _, method in ipairs( methods ) do
76+
-- Header
3577
local md = {}
36-
local header = section .. separator .. method
78+
local signature = section .. separator .. method
3779
local constructor = section == method
3880
if ( constructor ) then
39-
header = section
81+
signature = section
4082
end
41-
insert( md, r_header( header .. "()" ) )
42-
43-
insert( md, r_header2( "Parameters" ) )
83+
insert( md, r_header( signature .. "()" ) )
84+
85+
-- Usage
86+
insert( md, r_header2( "Usage" ) )
87+
local v = docs.findModule( section )
88+
require( "engine.shared.dblib" )
89+
local params, isvararg = debug.getparameters( v[ method ] )
90+
if ( params[ 1 ] == "self" ) then
91+
table.remove( params, 1 )
92+
end
93+
local args = ( #params > 0 and "( " ..
94+
concat( params, ", " ) .. ( isvararg and ", ..." or "" ) ..
95+
" )" or "()" )
96+
insert( md, "```lua\r\n" ..
97+
signature .. args .. "\r\n" ..
98+
"```" )
99+
insert( md, "" )
44100

45-
insert(
46-
md,
47-
"* [`" .. section .. separator .. method .. "()`]" ..
48-
"(" .. section .. "." .. method .. ")"
49-
)
101+
-- Parameters
102+
local parameters = {}
103+
for i, param in ipairs( params ) do
104+
table.insert( parameters, {
105+
{ [ "Name" ] = "`" .. param .. "`" },
106+
{ [ "Type" ] = "???" },
107+
{ [ "Description" ] = "???" }
108+
} )
109+
end
110+
if ( #parameters > 0 ) then
111+
insert( md, r_header2( "Parameters" ) )
112+
insert( md, r_table( parameters ) )
113+
end
50114

51115
insert( md, "" )
52116
md = concat( md, "\r\n" )
53-
filesystem.write( "docs/" .. section .. "." method .. ".md", md )
117+
filesystem.write( "docs/" .. section .. "." .. method .. ".md", md )
54118
end
55119
end
56120

@@ -59,29 +123,32 @@ local function writeArticles( section )
59123
if ( v.__type ) then
60124
-- Class Methods
61125
if ( #docs.getClassMethods( v ) > 0 ) then
62-
writeMethods( section, docs.getClassMethods( v ), "." ) )
126+
writeMethods( section, docs.getClassMethods( v ), "." )
63127
end
64128

65-
r_constructor( section )
129+
-- Constructor
130+
if ( v[ section ] ) then
131+
writeMethods( section, { section }, ":" )
132+
end
66133

67134
-- Methods
68135
if ( #docs.getMethods( v ) > 0 ) then
69-
writeMethods( section, docs.getMethods( v ), ":" ) )
136+
writeMethods( section, docs.getMethods( v ), ":" )
70137
end
71138

72139
-- Callbacks
73140
if ( #docs.getCallbacks( v ) > 0 ) then
74-
writeMethods( section, docs.getCallbacks( v ), ":" ) )
141+
writeMethods( section, docs.getCallbacks( v ), ":" )
75142
end
76143
else
77144
-- Methods
78145
if ( #docs.getAllMethods( v ) > 0 ) then
79-
writeMethods( section, docs.getAllMethods( v ), "." ) )
146+
writeMethods( section, docs.getAllMethods( v ), "." )
80147
end
81148

82149
-- Callbacks
83150
if ( #docs.getCallbacks( v ) > 0 ) then
84-
writeMethods( section, docs.getCallbacks( v ), "." ) )
151+
writeMethods( section, docs.getCallbacks( v ), "." )
85152
end
86153
end
87154
end

0 commit comments

Comments
 (0)