Skip to content

Commit f3b6c15

Browse files
committed
Modifications
1 parent 0893181 commit f3b6c15

9 files changed

Lines changed: 174 additions & 13 deletions

File tree

docs/website/app.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,73 @@ const Search = (() => {
253253
return { bind, renderResults };
254254
})();
255255

256+
const ContactPanel = (() => {
257+
let openContainer = null;
258+
259+
function close(container) {
260+
if (!container) {
261+
return;
262+
}
263+
264+
const toggle = container.querySelector(".topbar-contact-toggle");
265+
const popover = container.querySelector(".topbar-contact-popover");
266+
if (toggle) {
267+
toggle.setAttribute("aria-expanded", "false");
268+
}
269+
if (popover) {
270+
popover.hidden = true;
271+
}
272+
if (openContainer === container) {
273+
openContainer = null;
274+
}
275+
}
276+
277+
function closeOpen() {
278+
if (openContainer) {
279+
close(openContainer);
280+
}
281+
}
282+
283+
function bind() {
284+
const containers = document.querySelectorAll(".topbar-contact");
285+
if (containers.length === 0) {
286+
return;
287+
}
288+
289+
containers.forEach((container) => {
290+
const toggle = container.querySelector(".topbar-contact-toggle");
291+
const popover = container.querySelector(".topbar-contact-popover");
292+
if (!toggle || !popover) {
293+
return;
294+
}
295+
296+
popover.hidden = true;
297+
toggle.setAttribute("aria-expanded", "false");
298+
299+
toggle.addEventListener("click", (event) => {
300+
event.preventDefault();
301+
const shouldOpen = popover.hidden;
302+
closeOpen();
303+
popover.hidden = !shouldOpen;
304+
toggle.setAttribute("aria-expanded", shouldOpen ? "true" : "false");
305+
openContainer = shouldOpen ? container : null;
306+
});
307+
});
308+
309+
document.addEventListener("click", (event) => {
310+
if (!openContainer) {
311+
return;
312+
}
313+
if (openContainer.contains(event.target)) {
314+
return;
315+
}
316+
closeOpen();
317+
});
318+
}
319+
320+
return { bind, closeOpen };
321+
})();
322+
256323
const App = (() => {
257324
function bindHomeEasterEgg() {
258325
const logo = DocsElements.homeHeroLogo;
@@ -301,6 +368,7 @@ const App = (() => {
301368
}
302369

303370
function bindGlobalEvents() {
371+
ContactPanel.bind();
304372
DocsElements.menuToggle?.addEventListener("click", Sidebar.toggle);
305373
DocsElements.sidebarBackdrop?.addEventListener("click", () => Sidebar.setOpen(false));
306374

@@ -333,6 +401,10 @@ const App = (() => {
333401
}
334402

335403
if (event.key === "Escape") {
404+
if (document.querySelector(".topbar-contact-popover:not([hidden])")) {
405+
ContactPanel.closeOpen();
406+
return;
407+
}
336408
if (DocsState.navOpen) {
337409
Sidebar.setOpen(false);
338410
} else if (DocsElements.searchInput && document.activeElement === DocsElements.searchInput) {

docs/website/cli-reference.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="workflow.html#pipeline">Workflow</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -130,3 +136,4 @@
130136
</html>
131137

132138

139+

docs/website/getting-started.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="workflow.html#pipeline">Workflow</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -165,3 +171,4 @@
165171
</html>
166172

167173

174+

docs/website/index.html

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,14 @@
3131
<span id="topbar-version">v1.0.0 | Ruby 3.2+ | Stable</span>
3232
<div id="topbar-links">
3333
<a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">GitHub</a>
34-
<a href="https://github.com/voltsparx" target="_blank">Author</a>
35-
<a href="mailto:voltsparx@gmail.com">Contact</a>
34+
<a href="project.html#author">Author & License</a>
35+
<div class="topbar-contact">
36+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
37+
<div class="topbar-contact-popover" hidden>
38+
<span>voltsparx@gmail.com</span>
39+
<span>voltsparx@proton.me</span>
40+
</div>
41+
</div>
3642
</div>
3743
<div id="topbar-actions">
3844
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -59,7 +65,7 @@
5965
<div>
6066
<div class="home-hero-eyebrow">// attack surface reconnaissance framework</div>
6167
<div class="home-hero-title">ASRFacet-Rb</div>
62-
<div class="home-hero-sub">MULTI-STAGE · OPERATOR-FOCUSED · DOCUMENTED LIKE A REAL TOOL</div>
68+
<div class="home-hero-sub">MULTI-STAGE · OPERATOR-FOCUSED · DOCUMENTATION</div>
6369
<div class="home-hero-desc">
6470
ASRFacet-Rb is a Ruby 3.2+ attack surface reconnaissance framework for authorized testing.
6571
It combines passive discovery, DNS and certificate enrichment, service mapping, web analysis,
@@ -163,3 +169,4 @@
163169
</html>
164170

165171

172+

docs/website/modes.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="cli-reference.html#commands">CLI</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -155,3 +161,4 @@
155161
</html>
156162

157163

164+

docs/website/project.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">GitHub</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -64,8 +70,9 @@
6470
<tbody>
6571
<tr><td>Author</td><td>voltsparx</td></tr>
6672
<tr><td>Handle</td><td>voltsparx</td></tr>
73+
<tr><td>GitHub Profile</td><td><a href="https://github.com/voltsparx" target="_blank">github.com/voltsparx</a></td></tr>
6774
<tr><td>Email</td><td><a href="mailto:voltsparx@gmail.com">voltsparx@gmail.com</a></td></tr>
68-
<tr><td>Repository</td><td><a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">github.com/voltsparx/ASRFacet-Rb</a></td></tr>
75+
<tr><td>Main Repository</td><td><a href="https://github.com/voltsparx/ASRFacet-Rb" target="_blank">github.com/voltsparx/ASRFacet-Rb</a></td></tr>
6976
<tr><td>Version</td><td>1.0.0</td></tr>
7077
<tr><td>License</td><td><a href="https://raw.githubusercontent.com/voltsparx/ASRFacet-Rb/main/LICENSE" target="_blank">Proprietary custom license (raw)</a></td></tr>
7178
</tbody>
@@ -98,3 +105,4 @@
98105
</html>
99106

100107

108+

docs/website/reporting.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="cli-reference.html#flags">CLI</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -143,3 +149,4 @@
143149
</html>
144150

145151

152+

docs/website/styles.css

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,23 +111,59 @@ code {
111111
}
112112

113113
#topbar-links {
114-
display: flex; gap: 12px;
114+
display: flex;
115+
gap: 12px;
116+
align-items: center;
115117
}
116-
#topbar-links a {
118+
#topbar-links a,
119+
.topbar-contact-toggle {
117120
font-family: var(--mono);
118121
font-size: 0.68rem;
119122
color: var(--txt3);
120123
border: 1px solid var(--border2);
121124
padding: 4px 10px;
122125
transition: all 0.15s;
123126
letter-spacing: 0.04em;
127+
background: transparent;
128+
line-height: 1.35;
129+
cursor: pointer;
124130
}
125-
#topbar-links a:hover {
131+
#topbar-links a:hover,
132+
.topbar-contact-toggle:hover,
133+
.topbar-contact-toggle[aria-expanded="true"] {
126134
color: var(--r0);
127135
border-color: var(--r1);
128136
background: var(--glowf);
129137
text-decoration: none;
130138
}
139+
.topbar-contact {
140+
position: relative;
141+
display: inline-flex;
142+
}
143+
.topbar-contact-popover {
144+
position: absolute;
145+
right: 0;
146+
top: calc(100% + 8px);
147+
min-width: 240px;
148+
border: 1px solid var(--border);
149+
border-radius: 10px;
150+
background: rgba(10, 1, 1, 0.97);
151+
box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
152+
padding: 9px 10px;
153+
display: grid;
154+
gap: 6px;
155+
z-index: 1200;
156+
}
157+
.topbar-contact-popover span {
158+
display: block;
159+
font-family: var(--mono);
160+
font-size: 0.68rem;
161+
color: var(--txt2);
162+
border: 1px solid var(--border2);
163+
border-radius: 8px;
164+
padding: 6px 8px;
165+
white-space: nowrap;
166+
}
131167

132168
#topbar-actions {
133169
margin-left: auto;
@@ -1123,6 +1159,9 @@ tbody td code { white-space: nowrap; }
11231159
padding: 0 10px;
11241160
gap: 8px;
11251161
}
1162+
#topbar-logo-wrap {
1163+
flex-direction: row-reverse;
1164+
}
11261165
#topbar-logo { width: 28px; height: 28px; }
11271166
#topbar-name { font-size: 0.78rem; letter-spacing: 0.04em; }
11281167
#topbar-version { display: none; }

docs/website/workflow.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@
3030
<div id="topbar-links">
3131
<a href="index.html">Home</a>
3232
<a href="getting-started.html#quickstart">Start</a>
33-
<a href="mailto:voltsparx@gmail.com">Contact</a>
33+
<div class="topbar-contact">
34+
<button class="topbar-contact-toggle" type="button" aria-expanded="false">Contact</button>
35+
<div class="topbar-contact-popover" hidden>
36+
<span>voltsparx@gmail.com</span>
37+
<span>voltsparx@proton.me</span>
38+
</div>
39+
</div>
3440
</div>
3541
<div id="topbar-actions">
3642
<button id="menu-toggle" class="topbar-action topbar-action-menu" type="button">Menu</button>
@@ -137,3 +143,4 @@
137143
</html>
138144

139145

146+

0 commit comments

Comments
 (0)