dev-jas commited on
Commit
ef866ab
·
1 Parent(s): f99d97c

Add GitHub Actions workflow for GitHub Pages deployment

Browse files

This workflow automates the deployment of static content to GitHub Pages on push to the main branch or manually via the Actions tab.

Enhance content styling and structure in HTML and CSS for improved readability and visual appeal

Files changed (3) hide show
  1. .github/workflows/static.yml +43 -0
  2. index.html +12 -7
  3. style.css +395 -313
.github/workflows/static.yml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Simple workflow for deploying static content to GitHub Pages
2
+ name: Deploy static content to Pages
3
+
4
+ on:
5
+ # Runs on pushes targeting the default branch
6
+ push:
7
+ branches: ["main"]
8
+
9
+ # Allows you to run this workflow manually from the Actions tab
10
+ workflow_dispatch:
11
+
12
+ # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13
+ permissions:
14
+ contents: read
15
+ pages: write
16
+ id-token: write
17
+
18
+ # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19
+ # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20
+ concurrency:
21
+ group: "pages"
22
+ cancel-in-progress: false
23
+
24
+ jobs:
25
+ # Single deploy job since we're just deploying
26
+ deploy:
27
+ environment:
28
+ name: github-pages
29
+ url: ${{ steps.deployment.outputs.page_url }}
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - name: Checkout
33
+ uses: actions/checkout@v4
34
+ - name: Setup Pages
35
+ uses: actions/configure-pages@v5
36
+ - name: Upload artifact
37
+ uses: actions/upload-pages-artifact@v3
38
+ with:
39
+ # Upload entire repository
40
+ path: '.'
41
+ - name: Deploy to GitHub Pages
42
+ id: deployment
43
+ uses: actions/deploy-pages@v4
index.html CHANGED
@@ -83,18 +83,23 @@
83
  <div class="container">
84
  <h2>Why CodeMind?</h2>
85
  <div class="why-content">
86
- <p>CodeMind brings together document semantic search, retrieval-augmented Q&A, and AI-powered commit
87
- message generation to help you work faster and smarter by leveraging your own project context.</p>
 
 
 
 
 
88
 
89
- <h3>Efficient Knowledge Retrieval</h3>
90
  <p>Makes searching and querying documentation more powerful by using semantic embeddings rather than
91
- keyword search.</p>
92
 
93
- <h3>Smarter Git Workflow</h3>
94
  <p>Automates the creation of meaningful commit messages by analyzing git diffs and using an LLM to
95
- summarize changes.</p>
96
 
97
- <h3>AI-Powered Documentation</h3>
98
  <p>Enables you to ask questions about your project, using your own docs/context rather than just generic
99
  answers.</p>
100
  </div>
 
83
  <div class="container">
84
  <h2>Why CodeMind?</h2>
85
  <div class="why-content">
86
+ <p>CodeMind brings together <b class="b">document semantic search</b>, <b class="b">retrieval-augmented
87
+ Q&A</b>, and
88
+ <b class="b">AI-powered commit
89
+ message generation</b> to help you work faster and smarter by leveraging your own project
90
+ context.
91
+ </p>
92
+ <br>
93
 
94
+ <h3 class="b">Efficient Knowledge Retrieval</h3>
95
  <p>Makes searching and querying documentation more powerful by using semantic embeddings rather than
96
+ keyword search.</p><br>
97
 
98
+ <h3 class="b">Smarter Git Workflow</h3>
99
  <p>Automates the creation of meaningful commit messages by analyzing git diffs and using an LLM to
100
+ summarize changes.</p><br>
101
 
102
+ <h3 class="b">AI-Powered Documentation</h3>
103
  <p>Enables you to ask questions about your project, using your own docs/context rather than just generic
104
  answers.</p>
105
  </div>
style.css CHANGED
@@ -1,313 +1,395 @@
1
- :root {
2
- --primary: #6c63ff;
3
- --primary-dark: #5651e9;
4
- --secondary: #4a4a4a;
5
- --light: #f8f9fa;
6
- --dark: #212529;
7
- --success: #28a745;
8
- --info: #17a2b8;
9
- --gradient-start: #6c63ff;
10
- --gradient-end: #4a43b7;
11
- }
12
-
13
- * {
14
- margin: 0;
15
- padding: 0;
16
- box-sizing: border-box;
17
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
18
- }
19
-
20
- body {
21
- color: var(--dark);
22
- line-height: 1.6;
23
- background-color: #f9f9f9;
24
- }
25
-
26
- .container {
27
- width: 90%;
28
- max-width: 1200px;
29
- margin: 0 auto;
30
- padding: 0 15px;
31
- }
32
-
33
- /* Header & Navigation */
34
- header {
35
- background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
36
- color: white;
37
- padding: 1rem 0;
38
- position: sticky;
39
- top: 0;
40
- z-index: 100;
41
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
42
- }
43
-
44
- nav {
45
- display: flex;
46
- justify-content: space-between;
47
- align-items: center;
48
- }
49
-
50
- .logo {
51
- font-size: 1.8rem;
52
- font-weight: 700;
53
- display: flex;
54
- align-items: center;
55
- }
56
-
57
- .logo-icon {
58
- margin-right: 10px;
59
- font-size: 2rem;
60
- }
61
-
62
- .nav-links {
63
- display: flex;
64
- list-style: none;
65
- }
66
-
67
- .nav-links li {
68
- margin-left: 2rem;
69
- }
70
-
71
- .nav-links a {
72
- color: white;
73
- text-decoration: none;
74
- font-weight: 500;
75
- transition: opacity 0.3s;
76
- }
77
-
78
- .nav-links a:hover {
79
- opacity: 0.8;
80
- }
81
-
82
- /* Hero Section */
83
- .hero {
84
- background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
85
- color: white;
86
- padding: 5rem 0;
87
- text-align: center;
88
- }
89
-
90
- .hero h1 {
91
- font-size: 3rem;
92
- margin-bottom: 1rem;
93
- }
94
-
95
- .hero p {
96
- font-size: 1.2rem;
97
- max-width: 700px;
98
- margin: 0 auto 2rem;
99
- }
100
-
101
- .btn {
102
- display: inline-block;
103
- background: white;
104
- color: var(--primary);
105
- padding: 0.8rem 1.5rem;
106
- border-radius: 30px;
107
- text-decoration: none;
108
- font-weight: 600;
109
- transition: all 0.3s;
110
- border: none;
111
- cursor: pointer;
112
- }
113
-
114
- .btn:hover {
115
- transform: translateY(-3px);
116
- box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
117
- }
118
-
119
- .btn-outline {
120
- background: transparent;
121
- border: 2px solid white;
122
- color: white;
123
- margin-left: 1rem;
124
- }
125
-
126
- /* Sections */
127
- section {
128
- padding: 5rem 0;
129
- }
130
-
131
- section h2 {
132
- text-align: center;
133
- margin-bottom: 3rem;
134
- font-size: 2.5rem;
135
- color: var(--secondary);
136
- }
137
-
138
- section h3 {
139
- margin-bottom: 1rem;
140
- color: var(--primary);
141
- }
142
-
143
- /* Features */
144
- .features {
145
- background-color: white;
146
- }
147
-
148
- .features-grid {
149
- display: grid;
150
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
151
- gap: 2rem;
152
- }
153
-
154
- .feature-card {
155
- background: var(--light);
156
- padding: 2rem;
157
- border-radius: 10px;
158
- text-align: center;
159
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
160
- transition: transform 0.3s;
161
- }
162
-
163
- .feature-card:hover {
164
- transform: translateY(-5px);
165
- }
166
-
167
- .feature-icon {
168
- font-size: 2.5rem;
169
- color: var(--primary);
170
- margin-bottom: 1rem;
171
- }
172
-
173
- /* Why Section */
174
- .why {
175
- background-color: var(--light);
176
- }
177
-
178
- .why-content {
179
- max-width: 800px;
180
- margin: 0 auto;
181
- }
182
-
183
- /* How It Works */
184
- .how-steps {
185
- display: flex;
186
- flex-direction: column;
187
- gap: 2rem;
188
- max-width: 900px;
189
- margin: 0 auto;
190
- }
191
-
192
- .step {
193
- display: flex;
194
- align-items: flex-start;
195
- gap: 1.5rem;
196
- }
197
-
198
- .step-number {
199
- background: var(--primary);
200
- color: white;
201
- width: 40px;
202
- height: 40px;
203
- border-radius: 50%;
204
- display: flex;
205
- align-items: center;
206
- justify-content: center;
207
- flex-shrink: 0;
208
- font-weight: bold;
209
- }
210
-
211
- .step-content {
212
- flex: 1;
213
- }
214
-
215
- /* Usage */
216
- .usage {
217
- background-color: var(--light);
218
- }
219
-
220
- .code-block {
221
- background: #2d2d2d;
222
- color: #f8f8f2;
223
- padding: 1.5rem;
224
- border-radius: 5px;
225
- overflow-x: auto;
226
- margin: 1.5rem 0;
227
- font-family: 'Courier New', monospace;
228
- }
229
-
230
- .code-comment {
231
- color: #75715e;
232
- }
233
-
234
- /* Setup */
235
- .setup-cards {
236
- display: grid;
237
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
238
- gap: 2rem;
239
- }
240
-
241
- .setup-card {
242
- background: white;
243
- padding: 2rem;
244
- border-radius: 10px;
245
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
246
- }
247
-
248
- /* FAQ */
249
- .faq-list {
250
- max-width: 800px;
251
- margin: 0 auto;
252
- }
253
-
254
- .faq-item {
255
- margin-bottom: 1.5rem;
256
- border-bottom: 1px solid #eee;
257
- padding-bottom: 1.5rem;
258
- }
259
-
260
- .faq-question {
261
- font-weight: 600;
262
- margin-bottom: 0.5rem;
263
- color: var(--primary);
264
- }
265
-
266
- /* Footer */
267
- footer {
268
- background: var(--dark);
269
- color: white;
270
- padding: 3rem 0;
271
- text-align: center;
272
- }
273
-
274
- .footer-links {
275
- display: flex;
276
- justify-content: center;
277
- list-style: none;
278
- margin: 2rem 0;
279
- }
280
-
281
- .footer-links li {
282
- margin: 0 1rem;
283
- }
284
-
285
- .footer-links a {
286
- color: white;
287
- text-decoration: none;
288
- }
289
-
290
- /* Responsive */
291
- @media (max-width: 768px) {
292
- .nav-links {
293
- display: none;
294
- }
295
-
296
- .hero h1 {
297
- font-size: 2.2rem;
298
- }
299
-
300
- .step {
301
- flex-direction: column;
302
- }
303
-
304
- .btn {
305
- display: block;
306
- margin: 0.5rem auto;
307
- width: 80%;
308
- }
309
-
310
- .btn-outline {
311
- margin-left: 0;
312
- }
313
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
2
+
3
+ :root {
4
+ --primary: #6c63ff;
5
+ --primary-dark: #5651e9;
6
+ --secondary: #4a4a4a;
7
+ --light: #f8f9fa;
8
+ --dark: #212529;
9
+ --success: #28a745;
10
+ --info: #17a2b8;
11
+ --gradient-start: #6c63ff;
12
+ --gradient-end: #4a43b7;
13
+ --card-bg: #fff;
14
+ --card-shadow: 0 8px 32px rgba(44, 62, 80, 0.08);
15
+ --border-radius: 16px;
16
+ --section-spacing: 6rem;
17
+ }
18
+
19
+ * {
20
+ margin: 0;
21
+ padding: 0;
22
+ box-sizing: border-box;
23
+ font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
24
+ }
25
+
26
+ body {
27
+ color: var(--dark);
28
+ line-height: 1.7;
29
+ background-color: #f4f6fb;
30
+ font-size: 1.08rem;
31
+ }
32
+
33
+ .b {
34
+ letter-spacing: .777px;
35
+ font-weight: 800;
36
+ color: var(--primary);
37
+ }
38
+
39
+ .container {
40
+ width: 92%;
41
+ max-width: 1200px;
42
+ margin: 0 auto;
43
+ padding: 0 18px;
44
+ }
45
+
46
+ header {
47
+ background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));
48
+ color: white;
49
+ padding: 1.5rem 0;
50
+ position: sticky;
51
+ top: 0;
52
+ z-index: 100;
53
+ box-shadow: 0 4px 24px rgba(44, 62, 80, 0.08);
54
+ border-bottom-left-radius: var(--border-radius);
55
+ border-bottom-right-radius: var(--border-radius);
56
+ }
57
+
58
+ nav {
59
+ display: flex;
60
+ justify-content: space-between;
61
+ align-items: center;
62
+ }
63
+
64
+ .logo {
65
+ font-size: 2rem;
66
+ font-weight: 700;
67
+ display: flex;
68
+ align-items: center;
69
+ letter-spacing: 1px;
70
+ }
71
+
72
+ .logo-icon {
73
+ margin-right: 12px;
74
+ font-size: 2.2rem;
75
+ }
76
+
77
+ .nav-links {
78
+ display: flex;
79
+ list-style: none;
80
+ }
81
+
82
+ .nav-links li {
83
+ margin-left: 2.2rem;
84
+ }
85
+
86
+ .nav-links a {
87
+ color: white;
88
+ text-decoration: none;
89
+ font-weight: 500;
90
+ letter-spacing: 0.5px;
91
+ transition: opacity 0.3s, color 0.3s;
92
+ padding: 0.3rem 0.7rem;
93
+ border-radius: 8px;
94
+ }
95
+
96
+ .nav-links a:hover {
97
+ opacity: 0.85;
98
+ background: rgba(255, 255, 255, 0.08);
99
+ }
100
+
101
+ .hero {
102
+ background: linear-gradient(120deg, var(--gradient-start) 60%, var(--gradient-end) 100%);
103
+ color: white;
104
+ padding: 6rem 0 4rem 0;
105
+ text-align: center;
106
+ border-radius: 0 0 var(--border-radius) var(--border-radius);
107
+ box-shadow: 0 8px 32px rgba(44, 62, 80, 0.08);
108
+ }
109
+
110
+ .hero h1 {
111
+ font-size: 3.2rem;
112
+ margin-bottom: 1.2rem;
113
+ font-weight: 700;
114
+ letter-spacing: 1px;
115
+ }
116
+
117
+ .hero p {
118
+ font-size: 1.25rem;
119
+ max-width: 700px;
120
+ margin: 0 auto 2.2rem;
121
+ opacity: 0.95;
122
+ }
123
+
124
+ .btn {
125
+ display: inline-block;
126
+ background: linear-gradient(90deg, var(--gradient-start), var(--gradient-end));
127
+ color: white;
128
+ padding: 1rem 2.2rem;
129
+ border-radius: 30px;
130
+ text-decoration: none;
131
+ font-weight: 600;
132
+ font-size: 1.08rem;
133
+ transition: all 0.3s;
134
+ border: none;
135
+ cursor: pointer;
136
+ box-shadow: 0 4px 16px rgba(44, 62, 80, 0.08);
137
+ margin: 0.5rem 0.5rem 0.5rem 0;
138
+ }
139
+
140
+ .btn:hover {
141
+ transform: translateY(-2px) scale(1.04);
142
+ box-shadow: 0 10px 24px rgba(44, 62, 80, 0.12);
143
+ background: linear-gradient(90deg, var(--primary-dark), var(--gradient-end));
144
+ }
145
+
146
+ .btn-outline {
147
+ background: transparent;
148
+ border: 2px solid white;
149
+ color: white;
150
+ margin-left: 1rem;
151
+ }
152
+
153
+ section {
154
+ padding: var(--section-spacing) 0;
155
+ }
156
+
157
+ section h2 {
158
+ text-align: center;
159
+ margin-bottom: 3.5rem;
160
+ font-size: 2.7rem;
161
+ color: var(--secondary);
162
+ font-weight: 700;
163
+ letter-spacing: 0.5px;
164
+ }
165
+
166
+ section h3 {
167
+ margin-bottom: 1rem;
168
+ color: var(--primary);
169
+ font-weight: 600;
170
+ }
171
+
172
+ .features {
173
+ background-color: var(--card-bg);
174
+ border-radius: var(--border-radius);
175
+ box-shadow: var(--card-shadow);
176
+ }
177
+
178
+ .features-grid {
179
+ display: grid;
180
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
181
+ gap: 2.5rem;
182
+ }
183
+
184
+ .feature-card {
185
+ background: var(--light);
186
+ padding: 2.2rem;
187
+ border-radius: var(--border-radius);
188
+ text-align: center;
189
+ box-shadow: var(--card-shadow);
190
+ transition: transform 0.3s, box-shadow 0.3s;
191
+ border: 1px solid #ececec;
192
+ }
193
+
194
+ .feature-card:hover {
195
+ transform: translateY(-7px) scale(1.03);
196
+ box-shadow: 0 12px 32px rgba(44, 62, 80, 0.12);
197
+ border-color: var(--primary);
198
+ }
199
+
200
+ .feature-icon {
201
+ font-size: 2.7rem;
202
+ color: var(--primary);
203
+ margin-bottom: 1.2rem;
204
+ }
205
+
206
+ .why {
207
+ background-color: var(--light);
208
+ border-radius: var(--border-radius);
209
+ box-shadow: var(--card-shadow);
210
+ }
211
+
212
+ .why-content {
213
+ max-width: 800px;
214
+ margin: 0 auto;
215
+ font-size: 1.15rem;
216
+ opacity: 0.97;
217
+ }
218
+
219
+ .how-steps {
220
+ display: flex;
221
+ flex-direction: column;
222
+ gap: 2.5rem;
223
+ max-width: 900px;
224
+ margin: 0 auto;
225
+ }
226
+
227
+ .step {
228
+ display: flex;
229
+ align-items: flex-start;
230
+ gap: 2rem;
231
+ background: var(--card-bg);
232
+ border-radius: var(--border-radius);
233
+ box-shadow: var(--card-shadow);
234
+ padding: 2rem;
235
+ transition: box-shadow 0.3s;
236
+ }
237
+
238
+ .step:hover {
239
+ box-shadow: 0 16px 32px rgba(44, 62, 80, 0.14);
240
+ }
241
+
242
+ .step-number {
243
+ background: var(--primary);
244
+ color: white;
245
+ width: 48px;
246
+ height: 48px;
247
+ border-radius: 50%;
248
+ display: flex;
249
+ align-items: center;
250
+ justify-content: center;
251
+ flex-shrink: 0;
252
+ font-weight: bold;
253
+ font-size: 1.3rem;
254
+ box-shadow: 0 4px 16px rgba(44, 62, 80, 0.08);
255
+ }
256
+
257
+ .step-content {
258
+ flex: 1;
259
+ }
260
+
261
+ .usage {
262
+ background-color: var(--light);
263
+ border-radius: var(--border-radius);
264
+ box-shadow: var(--card-shadow);
265
+ }
266
+
267
+ .code-block {
268
+ background: #23272f;
269
+ color: #f8f8f2;
270
+ padding: 1.7rem;
271
+ border-radius: 8px;
272
+ overflow-x: auto;
273
+ margin: 1.7rem 0;
274
+ font-family: 'Fira Mono', 'Courier New', monospace;
275
+ font-size: 1.05rem;
276
+ box-shadow: 0 4px 16px rgba(44, 62, 80, 0.08);
277
+ }
278
+
279
+ .code-comment {
280
+ color: #8ec07c;
281
+ }
282
+
283
+ .setup-cards {
284
+ display: grid;
285
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
286
+ gap: 2.5rem;
287
+ }
288
+
289
+ .setup-card {
290
+ background: var(--card-bg);
291
+ padding: 2.2rem;
292
+ border-radius: var(--border-radius);
293
+ box-shadow: var(--card-shadow);
294
+ border: 1px solid #ececec;
295
+ }
296
+
297
+ .faq-list {
298
+ max-width: 800px;
299
+ margin: 0 auto;
300
+ }
301
+
302
+ .faq-item {
303
+ padding: 12px;
304
+ margin-bottom: 2rem;
305
+ border-bottom: 1px solid #eee;
306
+ padding-bottom: 2rem;
307
+ background: var(--card-bg);
308
+ border-radius: var(--border-radius);
309
+ box-shadow: var(--card-shadow);
310
+ }
311
+
312
+ .faq-question {
313
+ font-weight: 600;
314
+ margin-bottom: 0.7rem;
315
+ color: var(--primary);
316
+ font-size: 1.13rem;
317
+ }
318
+
319
+ footer {
320
+ background: var(--dark);
321
+ color: white;
322
+ padding: 3.5rem 0;
323
+ text-align: center;
324
+ border-top-left-radius: var(--border-radius);
325
+ border-top-right-radius: var(--border-radius);
326
+ box-shadow: 0 -4px 24px rgba(44, 62, 80, 0.08);
327
+ }
328
+
329
+ .footer-links {
330
+ display: flex;
331
+ justify-content: center;
332
+ list-style: none;
333
+ margin: 2.5rem 0;
334
+ }
335
+
336
+ .footer-links li {
337
+ margin: 0 1.2rem;
338
+ }
339
+
340
+ .footer-links a {
341
+ color: white;
342
+ text-decoration: none;
343
+ font-weight: 500;
344
+ letter-spacing: 0.5px;
345
+ transition: color 0.3s;
346
+ }
347
+
348
+ .footer-links a:hover {
349
+ color: var(--primary);
350
+ }
351
+
352
+ @media (max-width: 900px) {
353
+ .container {
354
+ width: 98%;
355
+ padding: 0 8px;
356
+ }
357
+
358
+ .features-grid,
359
+ .setup-cards {
360
+ grid-template-columns: 1fr;
361
+ }
362
+
363
+ .how-steps {
364
+ gap: 1.2rem;
365
+ }
366
+ }
367
+
368
+ @media (max-width: 768px) {
369
+ .nav-links {
370
+ display: none;
371
+ }
372
+
373
+ .hero h1 {
374
+ font-size: 2.2rem;
375
+ }
376
+
377
+ .step {
378
+ flex-direction: column;
379
+ padding: 1.2rem;
380
+ }
381
+
382
+ .btn {
383
+ display: block;
384
+ margin: 0.7rem auto;
385
+ width: 90%;
386
+ }
387
+
388
+ .btn-outline {
389
+ margin-left: 0;
390
+ }
391
+
392
+ section {
393
+ padding: 3rem 0;
394
+ }
395
+ }