Skip to content

Commit d1414c5

Browse files
committed
Fixing and Modifications
1 parent 5c6c90d commit d1414c5

10 files changed

Lines changed: 139 additions & 338 deletions

File tree

docs/website/app.js

Lines changed: 20 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ const DocsData = (() => {
4040
const DocsState = {
4141
currentPage: document.body.dataset.page || "index.html",
4242
currentSection: document.body.dataset.defaultSection || "home",
43-
navOpen: false,
44-
paletteOpen: false
43+
navOpen: false
4544
};
4645

4746
const DocsElements = {
@@ -50,12 +49,8 @@ const DocsElements = {
5049
sidebarNav: document.getElementById("sidebar-nav"),
5150
sidebarBackdrop: document.getElementById("sidebar-backdrop"),
5251
menuToggle: document.getElementById("menu-toggle"),
53-
palette: document.getElementById("command-palette"),
54-
paletteInput: document.getElementById("command-palette-input"),
55-
paletteResults: document.getElementById("command-palette-results"),
56-
paletteClose: document.getElementById("command-palette-close"),
57-
quickJumpTrigger: document.getElementById("quick-jump-trigger"),
58-
paletteTriggers: Array.from(document.querySelectorAll("[data-open-palette]")),
52+
searchInput: document.getElementById("docs-search-input"),
53+
searchResults: document.getElementById("docs-search-results"),
5954
title: document.querySelector("title")
6055
};
6156

@@ -206,12 +201,12 @@ const Sidebar = (() => {
206201
return { render, syncActive, setOpen, toggle };
207202
})();
208203

209-
const Palette = (() => {
204+
const Search = (() => {
210205
function renderResults(query = "") {
211206
const needle = query.trim().toLowerCase();
212207
const results = DocsData.entries.filter((entry) => {
213208
if (needle.length === 0) {
214-
return true;
209+
return DocsData.pages[entry.page]?.title === DocsData.pages[DocsState.currentPage]?.title;
215210
}
216211

217212
return [
@@ -223,62 +218,36 @@ const Palette = (() => {
223218
});
224219

225220
if (results.length === 0) {
226-
DocsElements.paletteResults.innerHTML = `
227-
<div class="command-result-empty">
228-
No matching docs pages. Try install, pipeline, console, reports, or testing.
229-
</div>
230-
`;
221+
DocsElements.searchResults.innerHTML = '<div class="command-result-empty">No matching docs pages. Try install, pipeline, console, reports, or testing.</div>';
231222
return;
232223
}
233224

234-
DocsElements.paletteResults.innerHTML = results.map((entry) => `
225+
DocsElements.searchResults.innerHTML = results.map((entry) => `
235226
<button type="button" class="command-result" data-section-id="${entry.id}">
236227
<span class="command-result-title">${entry.title}</span>
237228
<span class="command-result-meta">${DocsData.pages[entry.page]?.title || "Docs"}</span>
238229
<span class="command-result-desc">${entry.hint}</span>
239230
</button>
240231
`).join("");
241232

242-
DocsElements.paletteResults.querySelectorAll(".command-result").forEach((button) => {
233+
DocsElements.searchResults.querySelectorAll(".command-result").forEach((button) => {
243234
button.addEventListener("click", () => {
244235
const entry = DocsHelpers.findEntry(button.dataset.sectionId);
245-
close();
246236
DocsHelpers.goToEntry(entry);
247237
});
248238
});
249239
}
250240

251-
function open() {
252-
DocsState.paletteOpen = true;
253-
DocsElements.palette.hidden = false;
254-
DocsElements.body.classList.add("palette-open");
255-
renderResults(DocsElements.paletteInput.value);
256-
requestAnimationFrame(() => DocsElements.paletteInput.focus());
257-
}
258-
259-
function close() {
260-
DocsState.paletteOpen = false;
261-
DocsElements.palette.hidden = true;
262-
DocsElements.body.classList.remove("palette-open");
263-
}
264-
265241
function bind() {
266-
DocsElements.paletteInput?.addEventListener("input", (event) => {
242+
DocsElements.searchInput?.addEventListener("input", (event) => {
267243
renderResults(event.target.value);
268244
});
269-
270-
DocsElements.palette?.addEventListener("click", (event) => {
271-
if (event.target === DocsElements.palette) {
272-
close();
273-
}
245+
DocsElements.searchInput?.addEventListener("focus", () => {
246+
renderResults(DocsElements.searchInput.value);
274247
});
275-
276-
DocsElements.paletteClose?.addEventListener("click", close);
277-
DocsElements.quickJumpTrigger?.addEventListener("click", open);
278-
DocsElements.paletteTriggers.forEach((trigger) => trigger.addEventListener("click", open));
279248
}
280249

281-
return { bind, open, close, renderResults };
250+
return { bind, renderResults };
282251
})();
283252

284253
const App = (() => {
@@ -297,28 +266,28 @@ const App = (() => {
297266
document.addEventListener("keydown", (event) => {
298267
if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === "k") {
299268
event.preventDefault();
300-
Palette.open();
269+
DocsElements.searchInput?.focus();
301270
return;
302271
}
303272

304-
if (event.key === "/" && !DocsState.paletteOpen) {
273+
if (event.key === "/") {
305274
const target = event.target;
306275
const editable =
307276
target instanceof HTMLElement &&
308277
(target.isContentEditable || ["INPUT", "TEXTAREA", "SELECT"].includes(target.tagName));
309278

310279
if (!editable) {
311280
event.preventDefault();
312-
Palette.open();
281+
DocsElements.searchInput?.focus();
313282
}
314283
return;
315284
}
316285

317286
if (event.key === "Escape") {
318-
if (DocsState.paletteOpen) {
319-
Palette.close();
320-
} else if (DocsState.navOpen) {
287+
if (DocsState.navOpen) {
321288
Sidebar.setOpen(false);
289+
} else if (DocsElements.searchInput && document.activeElement === DocsElements.searchInput) {
290+
DocsElements.searchInput.blur();
322291
}
323292
}
324293
});
@@ -327,8 +296,8 @@ const App = (() => {
327296
function init() {
328297
DocsHelpers.syncCurrentSection();
329298
Sidebar.render();
330-
Palette.bind();
331-
Palette.renderResults("");
299+
Search.bind();
300+
Search.renderResults("");
332301
bindGlobalEvents();
333302

334303
if (DocsHelpers.currentHashId()) {

docs/website/cli-reference.html

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!DOCTYPE html>
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8">
@@ -7,49 +7,36 @@
77
<link rel="preconnect" href="https://fonts.googleapis.com">
88
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@300;400;500;600;700&family=Orbitron:wght@400;600;700;900&display=swap" rel="stylesheet">
99
<link rel="stylesheet" href="styles.css">
10+
<link rel="icon" href="web_assets/favicon.ico" sizes="any">
11+
<link rel="shortcut icon" href="web_assets/favicon.ico" type="image/x-icon">
1012
</head>
1113
<body data-page="cli-reference.html" data-default-section="commands">
1214
<header id="topbar">
1315
<div id="topbar-logo-wrap"><img id="topbar-logo" src="web_assets/asrfacet-rb-web.png" alt="ASRFacet-Rb"><span id="topbar-name">ASRFacet-Rb</span></div>
14-
<span id="topbar-version">v1.0.0 · CLI Reference</span>
16+
<span id="topbar-version">v1.0.0 | CLI Reference</span>
1517
<div id="topbar-links">
16-
<a href="index.html">Home</a>
17-
<a href="workflow.html#pipeline">🧭 Workflow</a>
18-
<a href="mailto:voltsparx@proton.me">Contact</a>
18+
<a href="index.html">Home</a>
19+
<a href="workflow.html#pipeline">Workflow</a>
20+
<a href="mailto:voltsparx@gmail.com">Contact</a>
1921
</div>
2022
<div id="topbar-actions">
21-
<button id="quick-jump-trigger" class="topbar-action" type="button">Quick Jump</button>
2223
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
2324
</div>
2425
</header>
2526

2627
<nav id="sidebar" aria-label="Documentation navigation">
2728
<div class="sidebar-panel-head">
2829
<div class="sidebar-kicker">CLI</div>
29-
<button class="sidebar-jump-btn" type="button" data-open-palette>Jump To Section</button>
30+
<label class="sidebar-search" for="docs-search-input">
31+
<span>Search Docs</span>
32+
<input id="docs-search-input" type="search" placeholder="Try scan, passive, flags, syntax..." autocomplete="off">
33+
</label>
34+
<div id="docs-search-results" class="sidebar-search-results" aria-live="polite"></div>
3035
<p class="sidebar-note">Commands, shared flags, and syntax patterns for everyday operator use.</p>
3136
</div>
3237
<div id="sidebar-nav"></div>
3338
</nav>
3439
<button id="sidebar-backdrop" type="button" aria-label="Close navigation"></button>
35-
36-
<div id="command-palette" class="command-palette" hidden>
37-
<div class="command-palette-panel" role="dialog" aria-modal="true" aria-labelledby="command-palette-title">
38-
<div class="command-palette-head">
39-
<div>
40-
<div id="command-palette-title" class="command-palette-title">Quick Jump</div>
41-
<div class="command-palette-sub">Search commands, flags, syntax, and neighboring docs pages.</div>
42-
</div>
43-
<button id="command-palette-close" class="command-palette-close" type="button" aria-label="Close quick jump">×</button>
44-
</div>
45-
<label class="command-palette-search">
46-
<span>Search Docs</span>
47-
<input id="command-palette-input" type="search" placeholder="Try scan, passive, flags, syntax..." autocomplete="off">
48-
</label>
49-
<div id="command-palette-results" class="command-palette-results"></div>
50-
</div>
51-
</div>
52-
5340
<main id="main">
5441
<section id="commands" class="page-section active">
5542
<div class="page-hero">
@@ -128,3 +115,4 @@
128115
<script src="app.js"></script>
129116
</body>
130117
</html>
118+

docs/website/getting-started.html

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!DOCTYPE html>
1+
<!DOCTYPE html>
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8">
@@ -7,49 +7,36 @@
77
<link rel="preconnect" href="https://fonts.googleapis.com">
88
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@300;400;500;600;700&family=Orbitron:wght@400;600;700;900&display=swap" rel="stylesheet">
99
<link rel="stylesheet" href="styles.css">
10+
<link rel="icon" href="web_assets/favicon.ico" sizes="any">
11+
<link rel="shortcut icon" href="web_assets/favicon.ico" type="image/x-icon">
1012
</head>
1113
<body data-page="getting-started.html" data-default-section="install">
1214
<header id="topbar">
1315
<div id="topbar-logo-wrap"><img id="topbar-logo" src="web_assets/asrfacet-rb-web.png" alt="ASRFacet-Rb"><span id="topbar-name">ASRFacet-Rb</span></div>
14-
<span id="topbar-version">v1.0.0 · Getting Started</span>
16+
<span id="topbar-version">v1.0.0 | Getting Started</span>
1517
<div id="topbar-links">
16-
<a href="index.html">Home</a>
17-
<a href="workflow.html#pipeline">🧭 Workflow</a>
18-
<a href="mailto:voltsparx@proton.me">Contact</a>
18+
<a href="index.html">Home</a>
19+
<a href="workflow.html#pipeline">Workflow</a>
20+
<a href="mailto:voltsparx@gmail.com">Contact</a>
1921
</div>
2022
<div id="topbar-actions">
21-
<button id="quick-jump-trigger" class="topbar-action" type="button">Quick Jump</button>
2223
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
2324
</div>
2425
</header>
2526

2627
<nav id="sidebar" aria-label="Documentation navigation">
2728
<div class="sidebar-panel-head">
2829
<div class="sidebar-kicker">Start Here</div>
29-
<button class="sidebar-jump-btn" type="button" data-open-palette>Jump To Section</button>
30+
<label class="sidebar-search" for="docs-search-input">
31+
<span>Search Docs</span>
32+
<input id="docs-search-input" type="search" placeholder="Try install, quick start, testing..." autocomplete="off">
33+
</label>
34+
<div id="docs-search-results" class="sidebar-search-results" aria-live="polite"></div>
3035
<p class="sidebar-note">Install the framework, validate it, and follow a safe first-run path before touching a real authorized target.</p>
3136
</div>
3237
<div id="sidebar-nav"></div>
3338
</nav>
3439
<button id="sidebar-backdrop" type="button" aria-label="Close navigation"></button>
35-
36-
<div id="command-palette" class="command-palette" hidden>
37-
<div class="command-palette-panel" role="dialog" aria-modal="true" aria-labelledby="command-palette-title">
38-
<div class="command-palette-head">
39-
<div>
40-
<div id="command-palette-title" class="command-palette-title">Quick Jump</div>
41-
<div class="command-palette-sub">Search the full docs site and jump directly to any page or section.</div>
42-
</div>
43-
<button id="command-palette-close" class="command-palette-close" type="button" aria-label="Close quick jump">×</button>
44-
</div>
45-
<label class="command-palette-search">
46-
<span>Search Docs</span>
47-
<input id="command-palette-input" type="search" placeholder="Try install, quick start, testing..." autocomplete="off">
48-
</label>
49-
<div id="command-palette-results" class="command-palette-results"></div>
50-
</div>
51-
</div>
52-
5340
<main id="main">
5441
<section id="install" class="page-section active">
5542
<div class="page-hero">
@@ -163,3 +150,4 @@
163150
<script src="app.js"></script>
164151
</body>
165152
</html>
153+

docs/website/index.html

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,21 @@
77
<link rel="preconnect" href="https://fonts.googleapis.com">
88
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@300;400;500;600;700&family=Orbitron:wght@400;600;700;900&display=swap" rel="stylesheet">
99
<link rel="stylesheet" href="styles.css">
10+
<link rel="icon" href="web_assets/favicon.ico" sizes="any">
11+
<link rel="shortcut icon" href="web_assets/favicon.ico" type="image/x-icon">
1012
</head>
1113
<body data-page="index.html" data-default-section="home">
1214

1315
<!-- TOP BAR -->
1416
<header id="topbar">
15-
<div id="topbar-logo-wrap">
16-
<img id="topbar-logo" src="web_assets/asrfacet-rb-web.png" alt="ASRFacet-Rb">
17-
<span id="topbar-name">ASRFacet-Rb</span>
18-
</div>
19-
<span id="topbar-version">v1.0.0 · Ruby 3.2+ · Stable</span>
17+
<div id="topbar-logo-wrap"><img id="topbar-logo" src="web_assets/asrfacet-rb-web.png" alt="ASRFacet-Rb"><span id="topbar-name">ASRFacet-Rb</span></div>
18+
<span id="topbar-version">v1.0.0 | Ruby 3.2+ | Stable</span>
2019
<div id="topbar-links">
21-
<a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">GitHub</a>
22-
<a href="https://github.com/voltsparx" target="_blank">Author</a>
23-
<a href="mailto:voltsparx@proton.me">Contact</a>
20+
<a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">GitHub</a>
21+
<a href="https://github.com/voltsparx" target="_blank">Author</a>
22+
<a href="mailto:voltsparx@gmail.com">Contact</a>
2423
</div>
2524
<div id="topbar-actions">
26-
<button id="quick-jump-trigger" class="topbar-action" type="button">Quick Jump</button>
2725
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
2826
</div>
2927
</header>
@@ -32,31 +30,16 @@
3230
<nav id="sidebar" aria-label="Documentation navigation">
3331
<div class="sidebar-panel-head">
3432
<div class="sidebar-kicker">Docs Control</div>
35-
<button class="sidebar-jump-btn" type="button" data-open-palette>Jump To Section</button>
33+
<label class="sidebar-search" for="docs-search-input">
34+
<span>Search Docs</span>
35+
<input id="docs-search-input" type="search" placeholder="Try install, pipeline, web, outputs, testing..." autocomplete="off">
36+
</label>
37+
<div id="docs-search-results" class="sidebar-search-results" aria-live="polite"></div>
3638
<p class="sidebar-note">A real multi-page docs shell for the framework, still a little handmade on purpose.</p>
3739
</div>
3840
<div id="sidebar-nav"></div>
3941
</nav>
4042
<button id="sidebar-backdrop" type="button" aria-label="Close navigation"></button>
41-
42-
<div id="command-palette" class="command-palette" hidden>
43-
<div class="command-palette-panel" role="dialog" aria-modal="true" aria-labelledby="command-palette-title">
44-
<div class="command-palette-head">
45-
<div>
46-
<div id="command-palette-title" class="command-palette-title">Quick Jump</div>
47-
<div class="command-palette-sub">Search the full docs site and jump across pages without digging through the sidebar.</div>
48-
</div>
49-
<button id="command-palette-close" class="command-palette-close" type="button" aria-label="Close quick jump">×</button>
50-
</div>
51-
<label class="command-palette-search">
52-
<span>Search Docs</span>
53-
<input id="command-palette-input" type="search" placeholder="Try install, pipeline, web, outputs, testing..." autocomplete="off">
54-
</label>
55-
<div id="command-palette-results" class="command-palette-results"></div>
56-
</div>
57-
</div>
58-
59-
<!-- MAIN -->
6043
<main id="main">
6144
<section id="home" class="page-section active">
6245
<div class="home-hero">
@@ -162,3 +145,4 @@
162145
<script src="app.js"></script>
163146
</body>
164147
</html>
148+

0 commit comments

Comments
 (0)