Skip to content

Commit 1c78f44

Browse files
committed
docs(pages): overhaul GitHub Pages site — custom layout, nav bar, feature grid, hero, TUI screenshot, page nav
Made-with: Cursor
1 parent e26cb78 commit 1c78f44

File tree

4 files changed

+348
-72
lines changed

4 files changed

+348
-72
lines changed

docs/_config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
theme: jekyll-theme-cayman
22
title: subenum
3-
description: A fast, concurrent Go CLI tool for subdomain enumeration — for educational and legitimate security testing
4-
show_downloads: true
3+
description: Fast, concurrent subdomain enumeration via DNS brute-forcing — written in pure Go.
4+
show_downloads: false
55
url: "https://tmhsdigital.github.io"
66
baseurl: "/subenum"
7-
repository: TMHSDigital/subenum
7+
repository: TMHSDigital/subenum

docs/_includes/page-nav.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div class="doc-nav" style="margin-top:2.5rem; border-top:1px solid #21262d; padding-top:1.5rem;">
2+
<a href="{{ '/' | relative_url }}">Home</a>
3+
<a href="{{ '/ARCHITECTURE.html' | relative_url }}">Architecture</a>
4+
<a href="{{ '/DEVELOPER_GUIDE.html' | relative_url }}">Developer Guide</a>
5+
<a href="{{ '/docker.html' | relative_url }}">Docker</a>
6+
<a href="{{ '/CONTRIBUTING.html' | relative_url }}">Contributing</a>
7+
</div>

docs/_layouts/default.html

Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
<!DOCTYPE html>
2+
<html lang="en-US">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<title>{% if page.title == "Home" %}{{ site.title }} — {{ site.description }}{% else %}{{ page.title }} — {{ site.title }}{% endif %}</title>
8+
<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
9+
<style>
10+
/* ── Nav bar ── */
11+
.site-nav {
12+
background: #1b2027;
13+
border-bottom: 1px solid #2d333b;
14+
padding: 0 24px;
15+
display: flex;
16+
align-items: center;
17+
gap: 0;
18+
flex-wrap: wrap;
19+
}
20+
.site-nav a {
21+
display: inline-block;
22+
padding: 12px 16px;
23+
font-size: 13px;
24+
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
25+
color: #8b949e;
26+
text-decoration: none;
27+
letter-spacing: 0.04em;
28+
transition: color 0.15s;
29+
border-bottom: 2px solid transparent;
30+
}
31+
.site-nav a:hover,
32+
.site-nav a.active {
33+
color: #58a6ff;
34+
border-bottom-color: #58a6ff;
35+
}
36+
.site-nav .nav-brand {
37+
color: #e6edf3;
38+
font-weight: 700;
39+
margin-right: 16px;
40+
border-bottom: none !important;
41+
}
42+
.site-nav .nav-brand span { color: #58a6ff; }
43+
.site-nav .nav-right {
44+
margin-left: auto;
45+
}
46+
.site-nav .nav-right a {
47+
background: #238636;
48+
color: #fff !important;
49+
border-radius: 6px;
50+
padding: 6px 14px;
51+
border-bottom: none !important;
52+
font-size: 12px;
53+
}
54+
.site-nav .nav-right a:hover { background: #2ea043; }
55+
56+
/* ── Hero overrides ── */
57+
.page-header {
58+
padding: 3rem 2rem 2.5rem;
59+
background: linear-gradient(135deg, #0d1117 0%, #161b22 50%, #1a2332 100%);
60+
}
61+
.page-header .project-name {
62+
font-size: 2.4rem;
63+
letter-spacing: 0.02em;
64+
margin-bottom: 0.5rem;
65+
}
66+
.page-header .project-tagline {
67+
font-size: 1rem;
68+
opacity: 0.75;
69+
margin-bottom: 1.5rem;
70+
}
71+
.hero-logo {
72+
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
73+
font-size: 2rem;
74+
font-weight: 700;
75+
margin-bottom: 0.6rem;
76+
letter-spacing: 0.04em;
77+
}
78+
.hero-logo .prompt { color: #3fb950; }
79+
.hero-logo .word { color: #e6edf3; }
80+
.hero-logo .accent { color: #58a6ff; }
81+
.hero-logo .cursor {
82+
color: #58a6ff;
83+
animation: blink 1.1s step-end infinite;
84+
}
85+
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
86+
.hero-tagline {
87+
font-family: "SFMono-Regular", Consolas, monospace;
88+
font-size: 0.8rem;
89+
color: #8b949e;
90+
letter-spacing: 0.06em;
91+
margin-bottom: 1.8rem;
92+
}
93+
.hero-badges { margin-bottom: 1rem; }
94+
.hero-badges img { margin: 2px; }
95+
.btn-hero {
96+
display: inline-block;
97+
margin: 0.3rem 0.4rem;
98+
padding: 10px 22px;
99+
border-radius: 6px;
100+
font-size: 13px;
101+
font-weight: 600;
102+
text-decoration: none;
103+
border: 1px solid rgba(255,255,255,0.15);
104+
color: #e6edf3 !important;
105+
background: rgba(255,255,255,0.07);
106+
transition: background 0.15s, border-color 0.15s;
107+
}
108+
.btn-hero:hover { background: rgba(255,255,255,0.13); border-color: rgba(255,255,255,0.3); }
109+
.btn-hero-primary {
110+
background: #238636;
111+
border-color: #2ea043;
112+
}
113+
.btn-hero-primary:hover { background: #2ea043; }
114+
115+
/* ── Content overrides ── */
116+
.main-content {
117+
max-width: 900px;
118+
}
119+
.main-content h2 {
120+
border-bottom: 1px solid #21262d;
121+
padding-bottom: 0.4rem;
122+
}
123+
.main-content code {
124+
background: #161b22;
125+
border: 1px solid #21262d;
126+
border-radius: 4px;
127+
padding: 1px 5px;
128+
font-size: 0.88em;
129+
}
130+
131+
/* ── Feature grid ── */
132+
.feature-grid {
133+
display: grid;
134+
grid-template-columns: 1fr 1fr;
135+
gap: 12px;
136+
margin: 1.2rem 0 2rem;
137+
}
138+
@media (max-width: 600px) { .feature-grid { grid-template-columns: 1fr; } }
139+
.feature-card {
140+
background: #161b22;
141+
border: 1px solid #21262d;
142+
border-radius: 8px;
143+
padding: 14px 16px;
144+
}
145+
.feature-card strong {
146+
display: block;
147+
color: #e6edf3;
148+
font-size: 0.85rem;
149+
margin-bottom: 4px;
150+
letter-spacing: 0.02em;
151+
}
152+
.feature-card span {
153+
font-size: 0.8rem;
154+
color: #8b949e;
155+
line-height: 1.5;
156+
}
157+
158+
/* ── Nav links strip ── */
159+
.doc-nav {
160+
display: flex;
161+
flex-wrap: wrap;
162+
gap: 8px;
163+
margin: 2rem 0 1rem;
164+
}
165+
.doc-nav a {
166+
background: #161b22;
167+
border: 1px solid #21262d;
168+
border-radius: 6px;
169+
padding: 6px 14px;
170+
font-size: 12px;
171+
font-family: "SFMono-Regular", Consolas, monospace;
172+
color: #58a6ff;
173+
text-decoration: none;
174+
transition: background 0.15s;
175+
}
176+
.doc-nav a:hover { background: #1c2128; }
177+
178+
/* ── Screenshot ── */
179+
.screenshot-wrap {
180+
text-align: center;
181+
margin: 1.5rem 0;
182+
}
183+
.screenshot-wrap img {
184+
max-width: 100%;
185+
border-radius: 8px;
186+
border: 1px solid #21262d;
187+
box-shadow: 0 4px 24px rgba(0,0,0,0.4);
188+
}
189+
.screenshot-wrap figcaption {
190+
font-size: 0.78rem;
191+
color: #8b949e;
192+
margin-top: 8px;
193+
font-family: "SFMono-Regular", Consolas, monospace;
194+
}
195+
196+
/* ── Footer ── */
197+
.site-footer {
198+
border-top: 1px solid #21262d;
199+
background: #0d1117;
200+
}
201+
.site-footer-owner a,
202+
.site-footer-credits a { color: #58a6ff; }
203+
</style>
204+
</head>
205+
<body>
206+
207+
<!-- ── Nav bar ── -->
208+
<nav class="site-nav">
209+
<a class="nav-brand" href="{{ '/' | relative_url }}">sub<span>enum</span></a>
210+
<a href="{{ '/' | relative_url }}"{% if page.url == '/' or page.url == '/index.html' %} class="active"{% endif %}>Home</a>
211+
<a href="{{ '/ARCHITECTURE.html' | relative_url }}"{% if page.title == 'Architecture' %} class="active"{% endif %}>Architecture</a>
212+
<a href="{{ '/DEVELOPER_GUIDE.html' | relative_url }}"{% if page.title == 'Developer Guide' %} class="active"{% endif %}>Dev Guide</a>
213+
<a href="{{ '/docker.html' | relative_url }}"{% if page.title == 'Docker Usage' %} class="active"{% endif %}>Docker</a>
214+
<a href="{{ '/CONTRIBUTING.html' | relative_url }}"{% if page.title == 'Contributing' %} class="active"{% endif %}>Contributing</a>
215+
<div class="nav-right">
216+
<a href="https://github.com/TMHSDigital/subenum/releases/latest" target="_blank">Download v0.5.0</a>
217+
</div>
218+
</nav>
219+
220+
<!-- ── Hero ── -->
221+
<header class="page-header" role="banner">
222+
<div class="hero-logo">
223+
<span class="prompt">$ </span><span class="word">sub</span><span class="accent">enum</span><span class="cursor"></span>
224+
</div>
225+
<p class="hero-tagline">fast concurrent subdomain enumeration // written in Go</p>
226+
227+
<div class="hero-badges">
228+
<img src="https://img.shields.io/github/actions/workflow/status/TMHSDigital/subenum/go.yml?branch=main&style=flat-square&label=build" alt="build">
229+
<img src="https://img.shields.io/github/v/release/TMHSDigital/subenum?style=flat-square" alt="release">
230+
<img src="https://img.shields.io/badge/Go-1.22+-00ADD8?style=flat-square&logo=go&logoColor=white" alt="go">
231+
<img src="https://img.shields.io/badge/License-GPLv3-blue?style=flat-square" alt="license">
232+
<img src="https://goreportcard.com/badge/github.com/TMHSDigital/subenum?style=flat-square&v=0.5.0" alt="go report">
233+
</div>
234+
235+
<a href="https://github.com/TMHSDigital/subenum/releases/latest" class="btn-hero btn-hero-primary" target="_blank">Download latest release</a>
236+
<a href="https://github.com/TMHSDigital/subenum" class="btn-hero" target="_blank">View on GitHub</a>
237+
<a href="{{ '/ARCHITECTURE.html' | relative_url }}" class="btn-hero">Architecture</a>
238+
</header>
239+
240+
<!-- ── Content ── -->
241+
<main id="content" class="main-content" role="main">
242+
{{ content }}
243+
{% if page.title != "Home" %}
244+
{% include page-nav.html %}
245+
{% endif %}
246+
<footer class="site-footer">
247+
<span class="site-footer-owner">
248+
<a href="https://github.com/TMHSDigital/subenum">subenum</a> is maintained by
249+
<a href="https://github.com/TMHSDigital">TMHSDigital</a>.
250+
</span>
251+
<span class="site-footer-credits">
252+
&nbsp;&middot;&nbsp;
253+
<a href="{{ '/CONTRIBUTING.html' | relative_url }}">Contributing</a>
254+
&nbsp;&middot;&nbsp;
255+
<a href="https://github.com/TMHSDigital/subenum/blob/main/SECURITY.md">Security</a>
256+
&nbsp;&middot;&nbsp;
257+
<a href="https://github.com/TMHSDigital/subenum/blob/main/LICENSE">GPL-3.0</a>
258+
</span>
259+
</footer>
260+
</main>
261+
262+
</body>
263+
</html>

0 commit comments

Comments
 (0)