Skip to content

Commit 3882be4

Browse files
committed
improved arcade
1 parent d407705 commit 3882be4

6 files changed

Lines changed: 67 additions & 63 deletions

File tree

docs/_/js/search-ui.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,14 @@
133133
document.head.appendChild(link);
134134
}
135135

136+
function highlightPageTitle (title, terms) {
137+
const positions = getTermPosition(title, terms);
138+
return buildHighlightedText(title, positions, snippetLength)
139+
}
140+
136141
function highlightSectionTitle (sectionTitle, terms) {
137142
if (sectionTitle) {
138-
const text = sectionTitle.title ?? sectionTitle.text;
143+
const text = sectionTitle.text;
139144
const positions = getTermPosition(text, terms);
140145
return buildHighlightedText(text, positions, snippetLength)
141146
}
@@ -151,7 +156,8 @@
151156
return []
152157
}
153158

154-
function highlightText (text, terms) {
159+
function highlightText (doc, terms) {
160+
const text = doc.text;
155161
const positions = getTermPosition(text, terms);
156162
return buildHighlightedText(text, positions, snippetLength)
157163
}
@@ -177,12 +183,9 @@
177183
}
178184
}
179185
return {
180-
pageTitleNodes: highlightText(doc.title, terms.title || []),
186+
pageTitleNodes: highlightPageTitle(doc.title, terms.title || []),
181187
sectionTitleNodes: highlightSectionTitle(sectionTitle, terms.title || []),
182-
pageContentNodes: highlightText(
183-
sectionTitle?.title && sectionTitle.text ? sectionTitle.text : doc.text,
184-
terms.text || []
185-
),
188+
pageContentNodes: highlightText(doc, terms.text || []),
186189
pageKeywordNodes: highlightKeyword(doc, terms.keyword || []),
187190
}
188191
}
@@ -196,12 +199,12 @@
196199
let sectionTitle;
197200
if (ids.length > 1) {
198201
const titleId = ids[1];
199-
sectionTitle = doc.titles.find(function (item) {
202+
sectionTitle = doc.titles.filter(function (item) {
200203
return String(item.id) === titleId
201-
});
204+
})[0];
202205
}
203206
const metadata = item.matchData.metadata;
204-
const highlightingResult = highlightHit(metadata, sectionTitle || doc, doc);
207+
const highlightingResult = highlightHit(metadata, sectionTitle, doc);
205208
const componentVersion = store.componentVersions[`${doc.component}/${doc.version}`];
206209
if (componentVersion !== undefined && currentComponent !== componentVersion) {
207210
const searchResultComponentHeader = document.createElement('div');

docs/atomvm/arcade.html

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -571,10 +571,8 @@ <h3 id="ejemplo-de-daemon-en-go"><a class="anchor" href="#ejemplo-de-daemon-en-g
571571
<div class="paragraph">
572572
<p>Este ejemplo de Daemon en Go muestra cómo leer la entrada serial del ESP32, simular eventos de teclado para TIC-80, y cómo procesar comandos que representarían eventos del juego para enviar de vuelta al ESP32 (en este caso, para controlar el LED RGB).</p>
573573
</div>
574-
<div class="paragraph">
575-
<p>main.go</p>
576-
</div>
577574
<div class="listingblock">
575+
<div class="title">main.go</div>
578576
<div class="content">
579577
<pre class="highlightjs highlight"><code class="language-go hljs" data-lang="go">package main
580578

@@ -873,8 +871,9 @@ <h3 id="programa-para-esp32-elixiratomvm"><a class="anchor" href="#programa-para
873871
<p>Este programa está diseñado para ejecutarse en un ESP32 utilizando AtomVM. Su función principal es leer el estado de los sensores de entrada (botones y potenciómetro) y enviar esta información por el puerto serial al Daemon en el computador. Adicionalmente, escucha el puerto serial para recibir comandos del Daemon (basados en eventos del juego TIC-80) y controlar el LED RGB.</p>
874872
</div>
875873
<div class="listingblock">
874+
<div class="title">AtomVM Elixir</div>
876875
<div class="content">
877-
<pre>defmodule Tic80 do
876+
<pre class="highlightjs highlight"><code class="language-elixir hljs" data-lang="elixir">defmodule Tic80 do
878877
@led_duty 1000
879878
@rgb_duty 4000
880879

@@ -1044,7 +1043,7 @@ <h3 id="programa-para-esp32-elixiratomvm"><a class="anchor" href="#programa-para
10441043
:ok = LEDC.set_duty(speed_mode, channel, duty)
10451044
:ok = LEDC.update_duty(speed_mode, channel)
10461045
end
1047-
end</pre>
1046+
end</code></pre>
10481047
</div>
10491048
</div>
10501049
</div>

docs/search-index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/sitemap.xml

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,186 +2,186 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://elixircl.github.io/elixir-robotics/atomvm/arcade.html</loc>
5-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
5+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
66
</url>
77
<url>
88
<loc>https://elixircl.github.io/elixir-robotics/atomvm/atomvm.html</loc>
9-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
9+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
1010
</url>
1111
<url>
1212
<loc>https://elixircl.github.io/elixir-robotics/atomvm/components.html</loc>
13-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
13+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
1414
</url>
1515
<url>
1616
<loc>https://elixircl.github.io/elixir-robotics/atomvm/devenv.html</loc>
17-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
17+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
1818
</url>
1919
<url>
2020
<loc>https://elixircl.github.io/elixir-robotics/atomvm/extensions.html</loc>
21-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
21+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
2222
</url>
2323
<url>
2424
<loc>https://elixircl.github.io/elixir-robotics/atomvm/remote.html</loc>
25-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
25+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
2626
</url>
2727
<url>
2828
<loc>https://elixircl.github.io/elixir-robotics/colosseo/colosseo.html</loc>
29-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
29+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
3030
</url>
3131
<url>
3232
<loc>https://elixircl.github.io/elixir-robotics/communication/bibliography.html</loc>
33-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
33+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
3434
</url>
3535
<url>
3636
<loc>https://elixircl.github.io/elixir-robotics/communication/iot.html</loc>
37-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
37+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
3838
</url>
3939
<url>
4040
<loc>https://elixircl.github.io/elixir-robotics/communication/meshtastic.html</loc>
41-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
41+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
4242
</url>
4343
<url>
4444
<loc>https://elixircl.github.io/elixir-robotics/communication/sigfox.html</loc>
45-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
45+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
4646
</url>
4747
<url>
4848
<loc>https://elixircl.github.io/elixir-robotics/communication/zigbee.html</loc>
49-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
49+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
5050
</url>
5151
<url>
5252
<loc>https://elixircl.github.io/elixir-robotics/controllers/arduino.html</loc>
53-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
53+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
5454
</url>
5555
<url>
5656
<loc>https://elixircl.github.io/elixir-robotics/controllers/basicstamp.html</loc>
57-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
57+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
5858
</url>
5959
<url>
6060
<loc>https://elixircl.github.io/elixir-robotics/controllers/esp32.html</loc>
61-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
61+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
6262
</url>
6363
<url>
6464
<loc>https://elixircl.github.io/elixir-robotics/controllers/esp32/animatronics.html</loc>
65-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
65+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
6666
</url>
6767
<url>
6868
<loc>https://elixircl.github.io/elixir-robotics/controllers/esp32/gladiators.html</loc>
69-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
69+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
7070
</url>
7171
<url>
7272
<loc>https://elixircl.github.io/elixir-robotics/controllers/fpga.html</loc>
73-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
73+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
7474
</url>
7575
<url>
7676
<loc>https://elixircl.github.io/elixir-robotics/controllers/ic555.html</loc>
77-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
77+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
7878
</url>
7979
<url>
8080
<loc>https://elixircl.github.io/elixir-robotics/controllers/jetson.html</loc>
81-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
81+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
8282
</url>
8383
<url>
8484
<loc>https://elixircl.github.io/elixir-robotics/controllers/pic16f877a.html</loc>
85-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
85+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
8686
</url>
8787
<url>
8888
<loc>https://elixircl.github.io/elixir-robotics/controllers/raspberry.html</loc>
89-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
89+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
9090
</url>
9191
<url>
9292
<loc>https://elixircl.github.io/elixir-robotics/controllers/stm32.html</loc>
93-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
93+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
9494
</url>
9595
<url>
9696
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/bibliography.html</loc>
97-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
97+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
9898
</url>
9999
<url>
100100
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/electricity.html</loc>
101-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
101+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
102102
</url>
103103
<url>
104104
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/energy.html</loc>
105-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
105+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
106106
</url>
107107
<url>
108108
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/history.html</loc>
109-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
109+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
110110
</url>
111111
<url>
112112
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/introduction.html</loc>
113-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
113+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
114114
</url>
115115
<url>
116116
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/programming.html</loc>
117-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
117+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
118118
</url>
119119
<url>
120120
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/programming/ada.html</loc>
121-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
121+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
122122
</url>
123123
<url>
124124
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/programming/cpp.html</loc>
125-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
125+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
126126
</url>
127127
<url>
128128
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/programming/elixir.html</loc>
129-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
129+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
130130
</url>
131131
<url>
132132
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/scientists.html</loc>
133-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
133+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
134134
</url>
135135
<url>
136136
<loc>https://elixircl.github.io/elixir-robotics/fundamentals/signals.html</loc>
137-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
137+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
138138
</url>
139139
<url>
140140
<loc>https://elixircl.github.io/elixir-robotics/index.html</loc>
141-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
141+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
142142
</url>
143143
<url>
144144
<loc>https://elixircl.github.io/elixir-robotics/nerves/circuits.html</loc>
145-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
145+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
146146
</url>
147147
<url>
148148
<loc>https://elixircl.github.io/elixir-robotics/nerves/nerves.html</loc>
149-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
149+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
150150
</url>
151151
<url>
152152
<loc>https://elixircl.github.io/elixir-robotics/nerves/soleil.html</loc>
153-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
153+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
154154
</url>
155155
<url>
156156
<loc>https://elixircl.github.io/elixir-robotics/os/rtos.html</loc>
157-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
157+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
158158
</url>
159159
<url>
160160
<loc>https://elixircl.github.io/elixir-robotics/solar/solar.html</loc>
161-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
161+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
162162
</url>
163163
<url>
164164
<loc>https://elixircl.github.io/elixir-robotics/tools/bibliography.html</loc>
165-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
165+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
166166
</url>
167167
<url>
168168
<loc>https://elixircl.github.io/elixir-robotics/tools/cad.html</loc>
169-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
169+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
170170
</url>
171171
<url>
172172
<loc>https://elixircl.github.io/elixir-robotics/tools/dashboards.html</loc>
173-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
173+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
174174
</url>
175175
<url>
176176
<loc>https://elixircl.github.io/elixir-robotics/tools/home-assistant.html</loc>
177-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
177+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
178178
</url>
179179
<url>
180180
<loc>https://elixircl.github.io/elixir-robotics/tools/platformio.html</loc>
181-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
181+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
182182
</url>
183183
<url>
184184
<loc>https://elixircl.github.io/elixir-robotics/tools/stores.html</loc>
185-
<lastmod>2025-12-29T14:52:38.997Z</lastmod>
185+
<lastmod>2025-12-29T18:08:55.965Z</lastmod>
186186
</url>
187187
</urlset>

modules/atomvm/examples/tic80/.gitkeep

Whitespace-only changes.

modules/atomvm/pages/arcade.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ y debe comunicarse via serial con el ESP32 y leer el archivo `out.log` generado
236236

237237
Este ejemplo de Daemon en Go muestra cómo leer la entrada serial del ESP32, simular eventos de teclado para TIC-80, y cómo procesar comandos que representarían eventos del juego para enviar de vuelta al ESP32 (en este caso, para controlar el LED RGB).
238238

239-
main.go
239+
.main.go
240240
[source, go]
241241
----
242242
package main
@@ -533,6 +533,8 @@ func calculateDuration(diff int) time.Duration {
533533

534534
Este programa está diseñado para ejecutarse en un ESP32 utilizando AtomVM. Su función principal es leer el estado de los sensores de entrada (botones y potenciómetro) y enviar esta información por el puerto serial al Daemon en el computador. Adicionalmente, escucha el puerto serial para recibir comandos del Daemon (basados en eventos del juego TIC-80) y controlar el LED RGB.
535535

536+
.AtomVM Elixir
537+
[source, elixir]
536538
----
537539
defmodule Tic80 do
538540
@led_duty 1000

0 commit comments

Comments
 (0)