Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Commit 2b598f3

Browse files
author
Repo Gardener
committed
docs(site): add styled 404 page for GitHub Pages
GitHub Pages automatically serves /404.html for any unknown URL on a project site. Previously a broken link or stale URL on sauravbhattacharya001.github.io/GraphVisual/<anything-missing> rendered the default white Jekyll 404, which is jarring against the rest of the dark-themed docs site. This page reuses the existing sidebar nav and styles.css color tokens so it visually matches the rest of the docs. It includes: - A large 404 hero with a friendly message - Three quick-action buttons: back to docs home, view repo on GitHub, and a deep link to the bug-report issue template for reporting broken links - Three curated card sections (Getting Started, Popular Tools, Reference) so a lost reader can probably find what they wanted in one click - A noindex/follow robots meta so the 404 page itself doesn't get indexed but its links are still crawled for discovery All linked targets were verified to exist in docs/. No workflow change needed -- pages.yml already uploads the whole docs/ tree as the artifact, so GitHub Pages will pick this up on the next deploy.
1 parent 9f221e0 commit 2b598f3

1 file changed

Lines changed: 156 additions & 0 deletions

File tree

docs/404.html

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Page Not Found - GraphVisual</title>
7+
<meta name="description" content="The requested page could not be found. Browse the GraphVisual documentation to find what you need.">
8+
<meta name="robots" content="noindex, follow">
9+
<link rel="canonical" href="https://sauravbhattacharya001.github.io/GraphVisual/404.html">
10+
<link rel="stylesheet" href="styles.css">
11+
<style>
12+
.nf-wrap { max-width: 720px; margin: 4rem auto; padding: 0 1.5rem; text-align: center; }
13+
.nf-code { font-size: 6rem; font-weight: 800; color: var(--accent); line-height: 1; margin: 0 0 0.5rem; letter-spacing: -0.04em; }
14+
.nf-sub { color: var(--text-muted); font-size: 1.1rem; margin: 0 0 2rem; }
15+
.nf-actions { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.5rem; }
16+
.nf-btn { display: inline-block; padding: 0.6rem 1.1rem; border-radius: 6px; text-decoration: none; font-weight: 600; border: 1px solid var(--border); color: var(--text); background: var(--surface); }
17+
.nf-btn:hover { background: var(--surface-hover); border-color: var(--accent); }
18+
.nf-btn.primary { background: var(--accent); color: #0d1117; border-color: var(--accent); }
19+
.nf-btn.primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
20+
.nf-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; text-align: left; }
21+
.nf-card { display: block; padding: 1rem; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); text-decoration: none; color: var(--text); }
22+
.nf-card:hover { border-color: var(--accent); background: var(--surface-hover); }
23+
.nf-card strong { display: block; color: var(--text); margin-bottom: 0.25rem; }
24+
.nf-card span { color: var(--text-muted); font-size: 0.9rem; }
25+
.nf-section-title { color: var(--text-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; margin: 2rem 0 0.75rem; text-align: left; }
26+
</style>
27+
</head>
28+
<body>
29+
30+
<nav class="sidebar">
31+
<a href="index.html" class="sidebar-logo">
32+
<span>📊</span>
33+
<div>
34+
<h2>GraphVisual</h2>
35+
<small>Documentation</small>
36+
</div>
37+
</a>
38+
<div class="sidebar-section">
39+
<div class="sidebar-section-title">Getting Started</div>
40+
<a href="index.html" class="sidebar-link"><span class="icon">🏠</span>Overview</a>
41+
<a href="guide.html" class="sidebar-link"><span class="icon">🚀</span>Setup Guide</a>
42+
</div>
43+
<div class="sidebar-section">
44+
<div class="sidebar-section-title">Tools</div>
45+
<a href="explorer.html" class="sidebar-link"><span class="icon">&#x1F50D;</span>Graph Explorer</a>
46+
<a href="pathfinder.html" class="sidebar-link"><span class="icon">🧭</span>Path Finder</a>
47+
<a href="diff.html" class="sidebar-link"><span class="icon">🔀</span>Diff Visualizer</a>
48+
<a href="query.html" class="sidebar-link"><span class="icon">🔎</span>Query Playground</a>
49+
<a href="generator.html" class="sidebar-link"><span class="icon">🎲</span>Graph Generator</a>
50+
<a href="stats.html" class="sidebar-link"><span class="icon">📈</span>Statistics</a>
51+
<a href="spectrum.html" class="sidebar-link"><span class="icon">🌈</span>Spectrum</a>
52+
<a href="matrix.html" class="sidebar-link"><span class="icon">🔢</span>Adjacency Matrix</a>
53+
<a href="coloring.html" class="sidebar-link"><span class="icon">🎨</span>Graph Coloring</a>
54+
<a href="coloring-game.html" class="sidebar-link"><span class="icon">🧩</span>Coloring Game</a>
55+
<a href="centrality-radar.html" class="sidebar-link"><span class="icon">🎯</span>Centrality Radar</a>
56+
<a href="editor.html" class="sidebar-link"><span class="icon">✏️</span>Graph Editor</a>
57+
<a href="communities.html" class="sidebar-link"><span class="icon">🔍</span>Community Detection</a>
58+
<a href="community-evolution.html" class="sidebar-link"><span class="icon">🧬</span>Community Evolution</a>
59+
<a href="mst.html" class="sidebar-link"><span class="icon">🌲</span>MST Visualizer</a>
60+
<a href="flow.html" class="sidebar-link"><span class="icon">🌊</span>Network Flow</a>
61+
<a href="random-walk.html" class="sidebar-link"><span class="icon">🚶</span>Random Walk</a>
62+
<a href="diffusion.html" class="sidebar-link"><span class="icon">🦠</span>Diffusion Sim</a>
63+
<a href="isomorphism.html" class="sidebar-link"><span class="icon">🔄</span>Isomorphism</a>
64+
<a href="bipartite.html" class="sidebar-link"><span class="icon">⚖️</span>Bipartite Checker</a>
65+
<a href="bridges.html" class="sidebar-link"><span class="icon">🌉</span>Bridges &amp; APs</a>
66+
<a href="planarity.html" class="sidebar-link"><span class="icon">📐</span>Planarity</a>
67+
<a href="crossing-game.html" class="sidebar-link"><span class="icon">🔀</span>Crossing Game</a>
68+
<a href="anomaly.html" class="sidebar-link"><span class="icon">🚨</span>Anomaly Detector</a>
69+
<a href="dominating-set.html" class="sidebar-link"><span class="icon">👑</span>Dominating Set</a>
70+
<a href="independent-set.html" class="sidebar-link"><span class="icon">🏝️</span>Independent Set</a>
71+
<a href="vertex-cover.html" class="sidebar-link"><span class="icon">🛡️</span>Vertex Cover</a>
72+
<a href="partitioning.html" class="sidebar-link"><span class="icon">✂️</span>Graph Partitioning</a>
73+
<a href="matching.html" class="sidebar-link"><span class="icon">💍</span>Max Matching</a>
74+
<a href="graph-advisor.html" class="sidebar-link"><span class="icon">🧠</span>Graph Advisor</a>
75+
<a href="graph-evolution.html" class="sidebar-link"><span class="icon">🧬</span>Evolution Sim</a>
76+
<a href="symmetry.html" class="sidebar-link"><span class="icon">🔮</span>Symmetry Explorer</a>
77+
<a href="link-predictor.html" class="sidebar-link"><span class="icon">🔮</span>Link Predictor</a>
78+
<a href="influence-maximizer.html" class="sidebar-link"><span class="icon">📢</span>Influence Max</a>
79+
<a href="epidemic.html" class="sidebar-link"><span class="icon">🏥</span>Epidemic Sim</a>
80+
<a href="graph-automaton.html" class="sidebar-link"><span class="icon">🤖</span>Graph Automaton</a>
81+
<a href="gnn-playground.html" class="sidebar-link"><span class="icon">🧠</span>GNN Playground</a>
82+
<a href="narrative.html" class="sidebar-link"><span class="icon">📝</span>Narrative Gen</a>
83+
</div>
84+
<div class="sidebar-section">
85+
<div class="sidebar-section-title">Advanced Analysis</div>
86+
<a href="network-profiler.html" class="sidebar-link"><span class="icon">🔬</span>Network Profiler</a>
87+
<a href="chordal.html" class="sidebar-link"><span class="icon">🔺</span>Chordal Analysis</a>
88+
<a href="signed-graph.html" class="sidebar-link"><span class="icon">±</span>Signed Graphs</a>
89+
<a href="graph-compressor.html" class="sidebar-link"><span class="icon">🗜️</span>Graph Compressor</a>
90+
<a href="role-classifier.html" class="sidebar-link"><span class="icon">🎭</span>Role Classifier</a>
91+
<a href="game-theory.html" class="sidebar-link"><span class="icon">🎲</span>Game Theory</a>
92+
<a href="topology-tester.html" class="sidebar-link"><span class="icon">🧪</span>Topology Tester</a>
93+
<a href="sentinel.html" class="sidebar-link"><span class="icon">🛡️</span>Graph Sentinel</a>
94+
</div>
95+
<div class="sidebar-section">
96+
<div class="sidebar-section-title">Architecture</div>
97+
<a href="architecture.html" class="sidebar-link"><span class="icon">🏗️</span>Architecture</a>
98+
<a href="database.html" class="sidebar-link"><span class="icon">🗄️</span>Database Schema</a>
99+
</div>
100+
<div class="sidebar-section">
101+
<div class="sidebar-section-title">Reference</div>
102+
<a href="api.html" class="sidebar-link"><span class="icon">📖</span>API Reference</a>
103+
<a href="cookbook.html" class="sidebar-link"><span class="icon">🍳</span>Cookbook</a>
104+
<a href="javadoc/index.html" class="sidebar-link"><span class="icon"></span>Javadoc</a>
105+
</div>
106+
<div class="sidebar-section">
107+
<div class="sidebar-section-title">Links</div>
108+
<a href="https://github.com/sauravbhattacharya001/GraphVisual" class="sidebar-link"><span class="icon">💻</span>GitHub</a>
109+
<a href="https://github.com/sauravbhattacharya001/GraphVisual/releases" class="sidebar-link"><span class="icon">📦</span>Releases</a>
110+
</div>
111+
</nav>
112+
113+
<div class="main">
114+
<div class="content">
115+
116+
<div class="nf-wrap">
117+
<p class="nf-code">404</p>
118+
<h1 style="margin:0 0 0.5rem;">Page not found</h1>
119+
<p class="nf-sub">The page you&rsquo;re looking for doesn&rsquo;t exist or may have moved. Try one of the popular destinations below.</p>
120+
121+
<div class="nf-actions">
122+
<a class="nf-btn primary" href="index.html">&larr; Back to docs home</a>
123+
<a class="nf-btn" href="https://github.com/sauravbhattacharya001/GraphVisual">View on GitHub</a>
124+
<a class="nf-btn" href="https://github.com/sauravbhattacharya001/GraphVisual/issues/new?template=bug_report.yml">Report a broken link</a>
125+
</div>
126+
127+
<div class="nf-section-title">Getting started</div>
128+
<div class="nf-cards">
129+
<a class="nf-card" href="index.html"><strong>Overview</strong><span>What GraphVisual does and why.</span></a>
130+
<a class="nf-card" href="guide.html"><strong>Setup Guide</strong><span>Install, build, and run.</span></a>
131+
<a class="nf-card" href="cookbook.html"><strong>Cookbook</strong><span>Recipes for common tasks.</span></a>
132+
<a class="nf-card" href="architecture.html"><strong>Architecture</strong><span>How the pieces fit together.</span></a>
133+
</div>
134+
135+
<div class="nf-section-title">Popular tools</div>
136+
<div class="nf-cards">
137+
<a class="nf-card" href="explorer.html"><strong>Graph Explorer</strong><span>Interactive in-browser exploration.</span></a>
138+
<a class="nf-card" href="communities.html"><strong>Community Detection</strong><span>Louvain &amp; friends.</span></a>
139+
<a class="nf-card" href="centrality-radar.html"><strong>Centrality Radar</strong><span>Compare 7 centrality scores.</span></a>
140+
<a class="nf-card" href="community-evolution.html"><strong>Community Evolution</strong><span>Timeline player.</span></a>
141+
</div>
142+
143+
<div class="nf-section-title">Reference</div>
144+
<div class="nf-cards">
145+
<a class="nf-card" href="api.html"><strong>API Reference</strong><span>Programmatic surface.</span></a>
146+
<a class="nf-card" href="javadoc/index.html"><strong>Javadoc</strong><span>Generated class docs.</span></a>
147+
<a class="nf-card" href="database.html"><strong>Database Schema</strong><span>Required tables.</span></a>
148+
<a class="nf-card" href="topology-tester.html"><strong>Topology Tester</strong><span>Validate graph properties.</span></a>
149+
</div>
150+
</div>
151+
152+
</div>
153+
</div>
154+
155+
</body>
156+
</html>

0 commit comments

Comments
 (0)