feat: SPA wiki con terminología hover - #15
Conversation
- Crea portal/public/wiki.html: SPA auto-contenida con navegación tipo wiki, búsqueda y artículos sobre NEUBAT. - Añade diccionario de términos y siglas con tooltips al pasar el ratón. - Incluye contenido de concepto, arquitectura, flujo, perfiles, scripts, Ansible, tests, CI/CD y roadmap. - Añade enlace a la wiki en el footer del portal. - Genera docs/assets/wiki-hero.png como referencia visual.
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 40bcb24. Configure here.
| html = html.replace(re, `<span class="term" data-term="${term}">$1</span>`); | ||
| }); | ||
| return html; | ||
| } |
There was a problem hiding this comment.
Term wrapping breaks code snippets
Medium Severity
enrichText wraps every dictionary match in article HTML, including text inside code and pre. Routes like /api/health, files like base.json and neubat-ansible, and the architecture diagram pick up extra .term spans, so literal snippets no longer display as written.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 40bcb24. Configure here.
| document.querySelectorAll('.term').forEach(el => { | ||
| const term = el.getAttribute('data-term'); | ||
| const def = terms[term]; | ||
| if (!def) return; |
There was a problem hiding this comment.
Highlighted terms lack definitions
Medium Severity
Several pink .term highlights (Bash, Python, GET, POST, USB, GitHub, Terraform, Pulumi) have no terms entry. attachTooltips only binds when data-term resolves in that map, so those help-cursor words never show a definition despite the page telling users to hover them.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit 40bcb24. Configure here.
| <li>En el primer arranque, <span class="term">Ansible</span> instala paquetes, habilita servicios, despliega el portal local y genera la URL de setup.</li> | ||
| </ol> | ||
|
|
||
| <p>Ver <a href="/">docs/ANSIBLE.md</a> para uso manual.</p> |
There was a problem hiding this comment.
Ansible docs link goes home
Low Severity
The Ansible article labels a link as docs/ANSIBLE.md but sets href to /. Clicks open the portal homepage instead of the documentation, so the manual-usage pointer is a dead end.
Reviewed by Cursor Bugbot for commit 40bcb24. Configure here.


Añade una Single Page Application tipo wiki accesible desde /wiki.html, con navegación, búsqueda y definiciones de términos técnicos/sigas visibles al pasar el ratón.
Note
Low Risk
Documentation-only static assets and a footer link; no changes to APIs, auth, or installation logic.
Overview
Adds in-portal documentation via a new
/wiki.htmlsingle-page wiki and links it from the main portal footer.The wiki is a self-contained static page with sidebar navigation (hash routes +
history.pushState), client-side search over articles and glossary terms, and hover tooltips for technical vocabulary. Content is embedded in JavaScript (articles,terms,categories) covering architecture, install flow, JSON profiles, portal API, iPXE, Ansible, CI/CD, and roadmap.index.htmlonly gains a footer link to the wiki; no API or installer behavior changes.Reviewed by Cursor Bugbot for commit 40bcb24. Configure here.