Skip to content

Commit 3c097d3

Browse files
authored
Merge pull request #7 from embeddedos-org/fix-html-syntax-search
Fix broken HTML syntax and duplicated search overlays
2 parents effeeb2 + 560213a commit 3c097d3

3 files changed

Lines changed: 7 additions & 86 deletions

File tree

getting-started.html

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -225,49 +225,6 @@ <h2 style="border:none;text-align:center;margin-top:3rem">📚 Full Documentatio
225225
</div>
226226

227227
<script>
228-
<div id="eos-search-overlay" class="search-overlay" hidden>
229-
<div class="search-modal">
230-
<div class="search-header">
231-
<span class="search-icon">&#128269;</span>
232-
<input type="text" id="eos-search-input" class="search-input" placeholder="Search EmbeddedOS docs..." autocomplete="off">
233-
<kbd class="search-kbd">Esc</kbd>
234-
</div>
235-
<ul id="eos-search-results" class="search-results"></ul>
236-
</div>
237-
</div>
238-
<script>
239-
const EosSearch={pages:[
240-
{t:'Home',u:'index.html',d:'The Operating System for Every Device'},
241-
{t:'Get Started',u:'getting-started.html',d:'Choose your path and get running in minutes'},
242-
{t:'Documentation Hub',u:'docs/index.html',d:'Complete developer documentation for all components'},
243-
{t:'Platform Flow',u:'flow.html',d:'EoS platform build and deployment flow'},
244-
{t:'Kids Guide',u:'kids.html',d:'Welcome young explorers to EmbeddedOS'},
245-
{t:'Hardware Lab',u:'hardware-lab.html',d:'Pick your board and get EoS running on real hardware'},
246-
{t:'App Store',u:'https://embeddedos-org.github.io/eApps/',d:'60+ apps across all platforms'},
247-
{t:'EoS Kernel',u:'docs/eos.html',d:'Modular RTOS kernel with HAL and multicore framework'},
248-
{t:'eBoot Bootloader',u:'docs/eboot.html',d:'Secure A/B bootloader with verified boot chain'},
249-
{t:'ebuild CLI',u:'docs/ebuild.html',d:'Unified build system with cross-compilation'},
250-
{t:'EIPC Protocol',u:'docs/eipc.html',d:'Secure real-time IPC framework'},
251-
{t:'EAI Framework',u:'docs/eai.html',d:'Embedded AI for on-device LLM inference'},
252-
{t:'ENI Neural Interface',u:'docs/eni.html',d:'Brain-computer interface framework'},
253-
{t:'EoSim Simulator',u:'docs/eosim.html',d:'Multi-architecture simulation platform'},
254-
{t:'EoStudio',u:'docs/eostudio.html',d:'Unified design suite with 12 editors'},
255-
{t:'eApps Suite',u:'docs/eosuite.html',d:'60+ apps for all platforms'},
256-
{t:'eDB Database',u:'docs/edb.html',d:'Unified multi-model database'},
257-
{t:'eBowser Browser',u:'docs/ebowser.html',d:'Lightweight web browser engine'},
258-
{t:'eOffice Suite',u:'docs/eoffice.html',d:'AI-powered office suite with 11 apps'},
259-
{t:'eServiceApps',u:'docs/eserviceapps.html',d:'Flutter mobile service apps'}
260-
],
261-
overlay:null,input:null,results:null,
262-
init(){this.overlay=document.getElementById('eos-search-overlay');this.input=document.getElementById('eos-search-input');this.results=document.getElementById('eos-search-results')},
263-
open(){if(!this.overlay)this.init();this.overlay.hidden=false;this.input.value='';this.render(this.pages);this.input.focus()},
264-
close(){if(this.overlay)this.overlay.hidden=true},
265-
render(items){this.results.innerHTML=items.map(p=>'<li class="search-result-item"><a href="'+p.u+'"><strong>'+p.t+'</strong><span>'+p.d+'</span></a></li>').join('')||'<li class="search-result-item" style="color:var(--text-secondary)">No results found.</li>'},
266-
filter(q){const l=q.toLowerCase();this.render(this.pages.filter(p=>p.t.toLowerCase().includes(l)||p.d.toLowerCase().includes(l)))}
267-
};
268-
document.addEventListener('keydown',e=>{if(e.key==='/'&&!['INPUT','TEXTAREA'].includes(document.activeElement.tagName)){e.preventDefault();EosSearch.open()}if(e.key==='Escape')EosSearch.close()});
269-
document.addEventListener('DOMContentLoaded',()=>{const i=document.getElementById('eos-search-input');if(i)i.addEventListener('input',e=>EosSearch.filter(e.target.value));const o=document.getElementById('eos-search-overlay');if(o)o.addEventListener('click',e=>{if(e.target===o)EosSearch.close()})});
270-
</script>
271228
function showPath(id){
272229
document.querySelectorAll('.path-content').forEach(function(el){el.classList.remove('active')});
273230
document.querySelectorAll('.path-btn').forEach(function(el){el.classList.remove('active')});
@@ -282,6 +239,7 @@ <h2 style="border:none;text-align:center;margin-top:3rem">📚 Full Documentatio
282239
<div><h4>Components</h4><ul><li><a href="docs/eipc.html">EIPC</a></li><li><a href="docs/eni.html">ENI</a></li><li><a href="docs/eosuite.html">eApps</a></li><li><a href="docs/eosim.html">EoSim</a></li><li><a href="docs/eostudio.html">EoStudio</a></li></ul></div>
283240
<div><h4>Learn</h4><ul><li><a href="kids.html">Kids Guide 🎮</a></li><li><a href="hardware-lab.html">Hardware Lab 🔌</a></li><li><a href="https://github.com/embeddedos-org">GitHub</a></li></ul></div>
284241
</div><div class="footer-bottom">&copy; 2025 EmbeddedOS Project &bull; MIT License</div></footer>
242+
285243
<div id="eos-search-overlay" class="search-overlay" hidden>
286244
<div class="search-modal">
287245
<div class="search-header">
@@ -292,6 +250,7 @@ <h2 style="border:none;text-align:center;margin-top:3rem">📚 Full Documentatio
292250
<ul id="eos-search-results" class="search-results"></ul>
293251
</div>
294252
</div>
253+
295254
<script>
296255
const EosSearch={pages:[
297256
{t:'Home',u:'index.html',d:'The Operating System for Every Device'},

hardware-lab.html

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -286,49 +286,6 @@ <h2 style="border:none;text-align:center;font-size:1.8rem">📊 Board Comparison
286286
</tbody></table></div>
287287

288288
<div class="callout callout-tip" style="margin-top:2rem"><div class="callout-title">Which board should I pick?</div>
289-
<div id="eos-search-overlay" class="search-overlay" hidden>
290-
<div class="search-modal">
291-
<div class="search-header">
292-
<span class="search-icon">&#128269;</span>
293-
<input type="text" id="eos-search-input" class="search-input" placeholder="Search EmbeddedOS docs..." autocomplete="off">
294-
<kbd class="search-kbd">Esc</kbd>
295-
</div>
296-
<ul id="eos-search-results" class="search-results"></ul>
297-
</div>
298-
</div>
299-
<script>
300-
const EosSearch={pages:[
301-
{t:'Home',u:'index.html',d:'The Operating System for Every Device'},
302-
{t:'Get Started',u:'getting-started.html',d:'Choose your path and get running in minutes'},
303-
{t:'Documentation Hub',u:'docs/index.html',d:'Complete developer documentation for all components'},
304-
{t:'Platform Flow',u:'flow.html',d:'EoS platform build and deployment flow'},
305-
{t:'Kids Guide',u:'kids.html',d:'Welcome young explorers to EmbeddedOS'},
306-
{t:'Hardware Lab',u:'hardware-lab.html',d:'Pick your board and get EoS running on real hardware'},
307-
{t:'App Store',u:'https://embeddedos-org.github.io/eApps/',d:'60+ apps across all platforms'},
308-
{t:'EoS Kernel',u:'docs/eos.html',d:'Modular RTOS kernel with HAL and multicore framework'},
309-
{t:'eBoot Bootloader',u:'docs/eboot.html',d:'Secure A/B bootloader with verified boot chain'},
310-
{t:'ebuild CLI',u:'docs/ebuild.html',d:'Unified build system with cross-compilation'},
311-
{t:'EIPC Protocol',u:'docs/eipc.html',d:'Secure real-time IPC framework'},
312-
{t:'EAI Framework',u:'docs/eai.html',d:'Embedded AI for on-device LLM inference'},
313-
{t:'ENI Neural Interface',u:'docs/eni.html',d:'Brain-computer interface framework'},
314-
{t:'EoSim Simulator',u:'docs/eosim.html',d:'Multi-architecture simulation platform'},
315-
{t:'EoStudio',u:'docs/eostudio.html',d:'Unified design suite with 12 editors'},
316-
{t:'eApps Suite',u:'docs/eosuite.html',d:'60+ apps for all platforms'},
317-
{t:'eDB Database',u:'docs/edb.html',d:'Unified multi-model database'},
318-
{t:'eBowser Browser',u:'docs/ebowser.html',d:'Lightweight web browser engine'},
319-
{t:'eOffice Suite',u:'docs/eoffice.html',d:'AI-powered office suite with 11 apps'},
320-
{t:'eServiceApps',u:'docs/eserviceapps.html',d:'Flutter mobile service apps'}
321-
],
322-
overlay:null,input:null,results:null,
323-
init(){this.overlay=document.getElementById('eos-search-overlay');this.input=document.getElementById('eos-search-input');this.results=document.getElementById('eos-search-results')},
324-
open(){if(!this.overlay)this.init();this.overlay.hidden=false;this.input.value='';this.render(this.pages);this.input.focus()},
325-
close(){if(this.overlay)this.overlay.hidden=true},
326-
render(items){this.results.innerHTML=items.map(p=>'<li class="search-result-item"><a href="'+p.u+'"><strong>'+p.t+'</strong><span>'+p.d+'</span></a></li>').join('')||'<li class="search-result-item" style="color:var(--text-secondary)">No results found.</li>'},
327-
filter(q){const l=q.toLowerCase();this.render(this.pages.filter(p=>p.t.toLowerCase().includes(l)||p.d.toLowerCase().includes(l)))}
328-
};
329-
document.addEventListener('keydown',e=>{if(e.key==='/'&&!['INPUT','TEXTAREA'].includes(document.activeElement.tagName)){e.preventDefault();EosSearch.open()}if(e.key==='Escape')EosSearch.close()});
330-
document.addEventListener('DOMContentLoaded',()=>{const i=document.getElementById('eos-search-input');if(i)i.addEventListener('input',e=>EosSearch.filter(e.target.value));const o=document.getElementById('eos-search-overlay');if(o)o.addEventListener('click',e=>{if(e.target===o)EosSearch.close()})});
331-
</script>
332289
<p><strong>Just starting out?</strong> Get a <a href="#raspi">Raspberry Pi</a> ($35) or <a href="#esp32">ESP32</a> ($5).<br>
333290
<strong>Want professional MCU dev?</strong> Get an <a href="#stm32">STM32 Discovery</a> ($20).<br>
334291
<strong>Interested in open hardware?</strong> Try the <a href="#sifive">SiFive HiFive</a>.<br>
@@ -343,6 +300,7 @@ <h2 style="border:none;text-align:center;font-size:1.8rem">📊 Board Comparison
343300
<div><h4>Components</h4><ul><li><a href="docs/eipc.html">EIPC</a></li><li><a href="docs/eai.html">EAI</a></li><li><a href="docs/eni.html">ENI</a></li><li><a href="docs/eosuite.html">eApps</a></li><li><a href="docs/eosim.html">EoSim</a></li><li><a href="docs/eostudio.html">EoStudio</a></li></ul></div>
344301
<div><h4>Learn</h4><ul><li><a href="kids.html">Kids Guide 🎮</a></li><li><a href="hardware-lab.html">Hardware Lab 🔌</a></li><li><a href="https://github.com/embeddedos-org">GitHub</a></li></ul></div>
345302
</div><div class="footer-bottom">&copy; 2025 EmbeddedOS Project &bull; MIT License &bull; Built with ❤️ for hardware hackers</div></footer>
303+
346304
<div id="eos-search-overlay" class="search-overlay" hidden>
347305
<div class="search-modal">
348306
<div class="search-header">
@@ -353,6 +311,7 @@ <h2 style="border:none;text-align:center;font-size:1.8rem">📊 Board Comparison
353311
<ul id="eos-search-results" class="search-results"></ul>
354312
</div>
355313
</div>
314+
356315
<script>
357316
const EosSearch={pages:[
358317
{t:'Home',u:'index.html',d:'The Operating System for Every Device'},

style.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,9 @@ details[open] summary { border-bottom: 1px solid var(--border-color); }
483483
padding-top: 15vh;
484484
backdrop-filter: blur(4px);
485485
}
486+
.search-overlay[hidden] {
487+
display: none !important;
488+
}
486489
.search-modal {
487490
background: var(--bg-secondary);
488491
border: 1px solid var(--border-color);

0 commit comments

Comments
 (0)