Skip to content

Commit f7e4a4f

Browse files
committed
docs: add Docsify documentation site with blue theme
1 parent 54703d0 commit f7e4a4f

4 files changed

Lines changed: 386 additions & 0 deletions

File tree

.github/workflows/docs.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches: [docs-site]
6+
paths:
7+
- 'docs/**'
8+
- 'README.md'
9+
- 'index.html'
10+
- '_sidebar.md'
11+
- '.github/workflows/docs.yml'
12+
workflow_dispatch:
13+
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
concurrency:
20+
group: pages
21+
cancel-in-progress: true
22+
23+
jobs:
24+
deploy:
25+
runs-on: ubuntu-latest
26+
environment:
27+
name: github-pages
28+
url: ${{ steps.deployment.outputs.page_url }}
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@v4
32+
33+
- name: Setup Pages
34+
uses: actions/configure-pages@v4
35+
36+
- name: Upload artifact
37+
uses: actions/upload-pages-artifact@v3
38+
with:
39+
path: .
40+
41+
- name: Deploy to GitHub Pages
42+
id: deployment
43+
uses: actions/deploy-pages@v4

.nojekyll

Whitespace-only changes.

_sidebar.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
* [Home](/)
2+
3+
* **Getting Started**
4+
* [Quick Start](docs/getting-started.md)
5+
* [Walkthrough](docs/walkthrough.md)
6+
7+
* **Reference**
8+
* [API Reference](docs/api.md)
9+
* [Architecture](docs/architecture.md)
10+
* [Preflight Checks](docs/preflight.md)
11+
12+
* **Links**
13+
* [GitHub](https://github.com/dev-dami/ignite)
14+
* [Releases](https://github.com/dev-dami/ignite/releases)

index.html

Lines changed: 329 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,329 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Ignite - Secure Sandbox for AI-Generated Code</title>
6+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7+
<meta name="description" content="Secure sandbox for executing AI-generated code, untrusted scripts, and JS/TS microservices">
8+
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
9+
<meta name="theme-color" content="#2563eb">
10+
11+
<!-- Favicon -->
12+
<link rel="icon" href="assets/logo.png" type="image/png">
13+
14+
<!-- JetBrains Mono Font -->
15+
<link rel="preconnect" href="https://fonts.googleapis.com">
16+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
17+
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
18+
19+
<!-- Docsify Theme -->
20+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
21+
22+
<!-- Custom Styles - Blue Theme + JetBrains Mono -->
23+
<style>
24+
:root {
25+
--theme-color: #2563eb;
26+
--theme-color-light: #3b82f6;
27+
--theme-color-dark: #1d4ed8;
28+
--theme-bg: #ffffff;
29+
--theme-bg-secondary: #f8fafc;
30+
--theme-text: #1e293b;
31+
--theme-text-light: #64748b;
32+
--code-font: 'JetBrains Mono', monospace;
33+
--content-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
34+
}
35+
36+
* {
37+
-webkit-font-smoothing: antialiased;
38+
-moz-osx-font-smoothing: grayscale;
39+
}
40+
41+
body {
42+
font-family: var(--content-font);
43+
color: var(--theme-text);
44+
}
45+
46+
/* Sidebar */
47+
.sidebar {
48+
background: var(--theme-bg-secondary);
49+
border-right: 1px solid #e2e8f0;
50+
}
51+
52+
.sidebar-nav {
53+
font-family: var(--content-font);
54+
}
55+
56+
.sidebar-nav a {
57+
color: var(--theme-text);
58+
font-weight: 500;
59+
transition: color 0.2s ease;
60+
}
61+
62+
.sidebar-nav a:hover,
63+
.sidebar-nav a.active {
64+
color: var(--theme-color);
65+
}
66+
67+
.sidebar-nav li.active > a {
68+
color: var(--theme-color);
69+
border-right: 3px solid var(--theme-color);
70+
}
71+
72+
.app-name-link {
73+
font-family: var(--code-font);
74+
font-weight: 700;
75+
font-size: 1.5rem !important;
76+
color: var(--theme-color) !important;
77+
}
78+
79+
/* Main Content */
80+
.markdown-section {
81+
max-width: 900px;
82+
}
83+
84+
.markdown-section h1,
85+
.markdown-section h2,
86+
.markdown-section h3,
87+
.markdown-section h4 {
88+
font-family: var(--content-font);
89+
font-weight: 700;
90+
color: var(--theme-text);
91+
}
92+
93+
.markdown-section h1 {
94+
font-size: 2.5rem;
95+
border-bottom: 2px solid var(--theme-color);
96+
padding-bottom: 0.5rem;
97+
}
98+
99+
.markdown-section h2 {
100+
font-size: 1.75rem;
101+
margin-top: 2.5rem;
102+
color: var(--theme-color-dark);
103+
}
104+
105+
.markdown-section a {
106+
color: var(--theme-color);
107+
font-weight: 500;
108+
text-decoration: none;
109+
border-bottom: 1px solid transparent;
110+
transition: border-color 0.2s ease;
111+
}
112+
113+
.markdown-section a:hover {
114+
border-bottom-color: var(--theme-color);
115+
}
116+
117+
/* Code Blocks - JetBrains Mono */
118+
.markdown-section code,
119+
.markdown-section pre {
120+
font-family: var(--code-font) !important;
121+
}
122+
123+
.markdown-section code {
124+
background: #f1f5f9;
125+
color: var(--theme-color-dark);
126+
padding: 0.125rem 0.375rem;
127+
border-radius: 4px;
128+
font-size: 0.875em;
129+
font-weight: 500;
130+
}
131+
132+
.markdown-section pre {
133+
background: #0f172a !important;
134+
border-radius: 8px;
135+
padding: 1.25rem !important;
136+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
137+
}
138+
139+
.markdown-section pre code {
140+
background: transparent;
141+
color: #e2e8f0;
142+
padding: 0;
143+
font-size: 0.875rem;
144+
line-height: 1.7;
145+
}
146+
147+
/* Token colors for syntax highlighting */
148+
.token.comment { color: #64748b; }
149+
.token.keyword { color: #f472b6; }
150+
.token.string { color: #34d399; }
151+
.token.function { color: #60a5fa; }
152+
.token.number { color: #fbbf24; }
153+
.token.operator { color: #94a3b8; }
154+
.token.class-name { color: #c084fc; }
155+
156+
/* Tables */
157+
.markdown-section table {
158+
border-collapse: collapse;
159+
width: 100%;
160+
margin: 1.5rem 0;
161+
}
162+
163+
.markdown-section th {
164+
background: var(--theme-color);
165+
color: white;
166+
font-weight: 600;
167+
text-align: left;
168+
padding: 0.75rem 1rem;
169+
}
170+
171+
.markdown-section td {
172+
padding: 0.75rem 1rem;
173+
border-bottom: 1px solid #e2e8f0;
174+
}
175+
176+
.markdown-section tr:hover td {
177+
background: var(--theme-bg-secondary);
178+
}
179+
180+
/* Blockquotes / Tips */
181+
.markdown-section blockquote {
182+
border-left: 4px solid var(--theme-color);
183+
background: #eff6ff;
184+
padding: 1rem 1.5rem;
185+
margin: 1.5rem 0;
186+
border-radius: 0 8px 8px 0;
187+
}
188+
189+
.markdown-section blockquote p {
190+
margin: 0;
191+
color: var(--theme-color-dark);
192+
}
193+
194+
/* Search */
195+
.search {
196+
border-bottom: 1px solid #e2e8f0;
197+
}
198+
199+
.search input {
200+
font-family: var(--content-font);
201+
border: 2px solid #e2e8f0 !important;
202+
border-radius: 8px !important;
203+
padding: 0.75rem 1rem !important;
204+
transition: border-color 0.2s ease;
205+
}
206+
207+
.search input:focus {
208+
border-color: var(--theme-color) !important;
209+
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
210+
}
211+
212+
/* Cover Page */
213+
.cover {
214+
background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%) !important;
215+
}
216+
217+
.cover h1 {
218+
font-family: var(--code-font);
219+
font-weight: 700;
220+
}
221+
222+
.cover a.anchor {
223+
background: white !important;
224+
color: var(--theme-color) !important;
225+
font-weight: 600;
226+
border-radius: 8px;
227+
padding: 0.75rem 2rem !important;
228+
transition: transform 0.2s ease, box-shadow 0.2s ease;
229+
}
230+
231+
.cover a.anchor:hover {
232+
transform: translateY(-2px);
233+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
234+
}
235+
236+
/* Scrollbar */
237+
::-webkit-scrollbar {
238+
width: 8px;
239+
height: 8px;
240+
}
241+
242+
::-webkit-scrollbar-thumb {
243+
background: #cbd5e1;
244+
border-radius: 4px;
245+
}
246+
247+
::-webkit-scrollbar-thumb:hover {
248+
background: var(--theme-color-light);
249+
}
250+
251+
/* Mobile */
252+
@media screen and (max-width: 768px) {
253+
.markdown-section h1 {
254+
font-size: 1.75rem;
255+
}
256+
257+
.markdown-section pre {
258+
padding: 1rem !important;
259+
}
260+
}
261+
</style>
262+
</head>
263+
<body>
264+
<div id="app">Loading...</div>
265+
266+
<script>
267+
window.$docsify = {
268+
name: 'Ignite',
269+
repo: 'https://github.com/dev-dami/ignite',
270+
loadSidebar: true,
271+
subMaxLevel: 3,
272+
auto2top: true,
273+
274+
// Search plugin config
275+
search: {
276+
placeholder: 'Search docs...',
277+
noData: 'No results found',
278+
paths: 'auto',
279+
depth: 3
280+
},
281+
282+
// Copy code button
283+
copyCode: {
284+
buttonText: 'Copy',
285+
successText: 'Copied!'
286+
},
287+
288+
// Pagination
289+
pagination: {
290+
previousText: 'Previous',
291+
nextText: 'Next'
292+
},
293+
294+
// Tabs plugin
295+
tabs: {
296+
persist: true,
297+
sync: true
298+
},
299+
300+
// Dark mode toggle (optional)
301+
themeColor: '#2563eb',
302+
303+
// Format updated time
304+
formatUpdated: '{MM}/{DD}/{YYYY}',
305+
306+
// Alias for cleaner URLs
307+
alias: {
308+
'/.*/_sidebar.md': '/_sidebar.md'
309+
}
310+
}
311+
</script>
312+
313+
<!-- Docsify Core -->
314+
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/docsify.min.js"></script>
315+
316+
<!-- Plugins -->
317+
<script src="https://cdn.jsdelivr.net/npm/docsify@4/lib/plugins/search.min.js"></script>
318+
<script src="https://cdn.jsdelivr.net/npm/docsify-copy-code@2"></script>
319+
<script src="https://cdn.jsdelivr.net/npm/docsify-pagination@2/dist/docsify-pagination.min.js"></script>
320+
321+
<!-- Syntax Highlighting -->
322+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
323+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-typescript.min.js"></script>
324+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-javascript.min.js"></script>
325+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-yaml.min.js"></script>
326+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
327+
<script src="https://cdn.jsdelivr.net/npm/prismjs@1/components/prism-docker.min.js"></script>
328+
</body>
329+
</html>

0 commit comments

Comments
 (0)