Skip to content

Commit 1081642

Browse files
Finish event page
1 parent 256883d commit 1081642

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

web/src/pages/[event].astro

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,22 @@ const { event } = Astro.props;
1818
1919
const eventType = event.data.type;
2020
const eventPath = path.dirname(event.filePath ?? "");
21-
let eventExamples = event.data.examples
21+
let eventExamples = event.data.examples;
22+
23+
let parametersCode = "";
24+
// Build parameters code syntax e.g. "int param1, string param2"
25+
if (event.data.parameters.length > 0) {
26+
parametersCode = event.data.parameters.map((param: any) => {
27+
return param.type + " " + param.name;
28+
}).join(", ");
29+
}
30+
31+
let eventHandlerExample = {
32+
funcName: "handle" + event.id.charAt(0).toUpperCase() + event.id.slice(1),
33+
funcParams: event.data.parameters.map((param: any) => {
34+
return param.name;
35+
}).join(", "),
36+
}
2237
2338
if ( eventExamples.length > 0 ){
2439
eventExamples = eventExamples.map((example: any) => {
@@ -44,20 +59,33 @@ if ( eventExamples.length > 0 ){
4459
<Fragment set:html={marked(event.data.description)} />
4560

4661
<h4>Parameters</h4>
62+
<!-- Looks better with C syntax instead of Lua
63+
to separate the type from the param name visually -->
64+
{parametersCode !== "" && <Code code={parametersCode} lang="c"/>}
4765
{event.data.parameters.length > 0 && event.data.parameters.map((param: any) => (
4866
<ul>
49-
<li set:html={param.type + " " + param.name + ": " + param.description} />
67+
<li set:html={"<strong>" + param.name + "</strong>: " + param.description} />
5068
</ul>
5169
))}
5270

5371
<h4>Source</h4>
54-
<p set:html={event.data.source_element.type + ": " + event.data.source_element.description} />
72+
<p set:html={"<strong>" + event.data.source_element.type + "</strong>: " + event.data.source_element.description} />
73+
74+
<h4>Handler Example</h4>
75+
<Code code={
76+
`local function ${eventHandlerExample.funcName}(${eventHandlerExample.funcParams})\n` +
77+
` -- Your code here\n` +
78+
`end\n` +
79+
`\n` +
80+
`-- Register the event handler\n` +
81+
`addEventHandler("${event.id}", elementAttachedTo, ${eventHandlerExample.funcName})`
82+
} lang="lua" />
5583

56-
<h4>Examples</h4>
84+
<h4>Code Examples</h4>
5785
{eventExamples.length > 0 && eventExamples.map((example: any) => (
5886
<div>
5987
<p set:html={marked(example.description)}></p>
60-
<Code code={example.luaCode} lang="lua" title={path.basename(example.path)} />
88+
<Code code={example.luaCode} lang="lua"} />
6189
</div>
6290
))}
6391
</StarlightPage>

0 commit comments

Comments
 (0)