Skip to content

Commit c4a7899

Browse files
author
Anass Rach
committed
Update index.md!
1 parent 9b40c38 commit c4a7899

1 file changed

Lines changed: 182 additions & 88 deletions

File tree

index.md

Lines changed: 182 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,15 @@ layout: default
99

1010
A structured collection of flashcards to help you prepare for the Java 21 OCP certification exam.
1111

12-
## Quick Links
12+
## Quick Start
1313

14-
<div class="quick-links">
14+
<div class="quick-actions">
1515
<a href="{{ '/quiz/' | relative_url }}" class="btn btn-primary">
16-
🎯 Take the Quiz
16+
🎯 Take Practice Quiz
1717
</a>
1818
<a href="{{ '/complete-java21-qa.html' | relative_url }}" class="btn btn-secondary">
1919
📚 Q&A Study Guide
2020
</a>
21-
<a href="#all-flashcards" class="btn btn-secondary">
22-
🃏 Browse All Cards
23-
</a>
2421
</div>
2522

2623
## Study Progress Overview
@@ -47,54 +44,78 @@ A structured collection of flashcards to help you prepare for the Java 21 OCP ce
4744

4845
## Getting Started
4946

50-
1. **📖 Start with fundamentals**: Begin with OOP and Encapsulation or Java 21 Features
51-
2. **🔄 Study systematically**: Work through each category, focusing on code examples
52-
3. **🎯 Test your knowledge**: Take the quiz to identify weak areas
53-
4. **📝 Review and practice**: Use the Q&A guide for deeper understanding
54-
5. **🔁 Repeat and refine**: Regular review is key to exam success
55-
56-
## <a id="all-flashcards"></a>All Flashcards
57-
58-
<div class="flashcard-index">
59-
{% assign categories = site.flashcards | map: "category" | uniq | sort %}
60-
{% for category in categories %}
61-
{% assign flashcards_in_category = site.flashcards | where: "category", category | sort: "order" %}
62-
63-
<div class="category-section">
64-
<h3 class="category-heading">{{ category }}</h3>
65-
<div class="flashcard-grid">
66-
{% for flashcard in flashcards_in_category %}
67-
<a href="{{ flashcard.url | relative_url }}" class="flashcard-item">
68-
<div class="flashcard-title">{{ flashcard.title }}</div>
69-
{% if flashcard.learning_tip %}
70-
<div class="flashcard-tip">💡 {{ flashcard.learning_tip | truncate: 60 }}</div>
71-
{% endif %}
72-
</a>
73-
{% endfor %}
74-
</div>
47+
Follow this proven study path for Java 21 OCP certification success:
48+
49+
### 📖 Study Strategy
50+
1. **Start with Core Concepts**: Begin with OOP and Encapsulation fundamentals
51+
2. **Explore Java 21 Features**: Master records, sealed classes, and pattern matching
52+
3. **Practice with Collections**: Understand generics, streams, and functional programming
53+
4. **Test Frequently**: Use the quiz to identify knowledge gaps
54+
5. **Review and Reinforce**: Revisit weak areas using the Q&A guide
55+
56+
57+
58+
## All Study Materials
59+
60+
<div class="materials-grid">
61+
<div class="material-section">
62+
<h3>🃏 Flashcards by Category</h3>
63+
<div class="flashcard-index">
64+
{% assign categories = site.flashcards | map: "category" | uniq | sort %}
65+
{% for category in categories %}
66+
{% assign flashcards_in_category = site.flashcards | where: "category", category | sort: "order" %}
67+
68+
<details class="category-details">
69+
<summary class="category-summary">
70+
<span class="category-name">{{ category }}</span>
71+
<span class="category-count">{{ flashcards_in_category.size }} card{% if flashcards_in_category.size != 1 %}s{% endif %}</span>
72+
</summary>
73+
<div class="flashcard-list">
74+
{% for flashcard in flashcards_in_category %}
75+
<a href="{{ flashcard.url | relative_url }}" class="flashcard-link">
76+
<span class="flashcard-title">{{ flashcard.title }}</span>
77+
{% if flashcard.learning_tip %}
78+
<span class="flashcard-tip">💡 {{ flashcard.learning_tip | truncate: 50 }}</span>
79+
{% endif %}
80+
</a>
81+
{% endfor %}
82+
</div>
83+
</details>
84+
{% endfor %}
7585
</div>
76-
{% endfor %}
86+
</div>
7787
</div>
7888

79-
## Contributing
80-
81-
We welcome contributions! Check out our [contributing guide](https://github.com/Anasss/java21docCards/blob/main/CONTRIBUTING.md) for details on how to:
89+
## Resources & Support
8290

83-
- Add new flashcards and improve existing content
84-
- Add quiz questions and enhance the Q&A guide
85-
- Report issues and suggest improvements
86-
87-
## License
88-
89-
This project is open-source and available under the MIT License.
91+
<div class="resources-grid">
92+
<div class="resource-card">
93+
<h4>📚 Additional Materials</h4>
94+
<ul>
95+
<li><a href="{{ '/complete-java21-qa.html' | relative_url }}">Complete Q&A Study Guide</a></li>
96+
<li><a href="{{ '/quiz/' | relative_url }}">Interactive Practice Quiz</a></li>
97+
</ul>
98+
</div>
99+
100+
<div class="resource-card">
101+
<h4>🤝 Contributing</h4>
102+
<p>Help improve this study resource:</p>
103+
<ul>
104+
<li><a href="https://github.com/Anasss/java21docCards/blob/main/CONTRIBUTING.md" target="_blank">Contribution Guide</a></li>
105+
<li><a href="https://github.com/Anasss/java21docCards/issues" target="_blank">Report Issues</a></li>
106+
<li><a href="https://github.com/Anasss/java21docCards" target="_blank">View Source Code</a></li>
107+
</ul>
108+
</div>
109+
</div>
90110

91111
<style>
92-
/* Quick Links */
93-
.quick-links {
112+
/* Quick Actions */
113+
.quick-actions {
94114
display: flex;
95115
gap: 15px;
96116
margin: 30px 0;
97117
flex-wrap: wrap;
118+
justify-content: center;
98119
}
99120

100121
.btn {
@@ -170,78 +191,148 @@ This project is open-source and available under the MIT License.
170191
font-weight: 600;
171192
}
172193

173-
/* Flashcard Index */
174-
.flashcard-index {
194+
/* Materials Grid */
195+
.materials-grid {
175196
margin: 40px 0;
176197
}
177198

178-
.category-section {
179-
margin-bottom: 40px;
180-
}
181-
182-
.category-heading {
199+
.material-section h3 {
183200
color: #2c3e50;
184201
border-bottom: 3px solid #667eea;
185202
padding-bottom: 10px;
186203
margin-bottom: 20px;
187-
font-size: 1.4em;
188204
}
189205

190-
.flashcard-grid {
191-
display: grid;
192-
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
193-
gap: 15px;
206+
/* Collapsible Categories */
207+
.category-details {
208+
margin-bottom: 15px;
209+
border: 1px solid #e1e8ed;
210+
border-radius: 8px;
211+
overflow: hidden;
194212
}
195213

196-
.flashcard-item {
197-
display: block;
198-
padding: 18px;
214+
.category-summary {
215+
padding: 15px 20px;
216+
background: #f8f9fa;
217+
cursor: pointer;
218+
display: flex;
219+
justify-content: space-between;
220+
align-items: center;
221+
transition: background-color 0.3s ease;
222+
list-style: none;
223+
}
224+
225+
.category-summary::-webkit-details-marker {
226+
display: none;
227+
}
228+
229+
.category-summary::marker {
230+
content: "";
231+
}
232+
233+
.category-summary:hover {
234+
background: #e9ecef;
235+
}
236+
237+
.category-name {
238+
font-weight: 600;
239+
color: #2c3e50;
240+
}
241+
242+
.category-count {
243+
background: #667eea;
244+
color: white;
245+
padding: 4px 12px;
246+
border-radius: 12px;
247+
font-size: 0.8em;
248+
font-weight: 600;
249+
}
250+
251+
.flashcard-list {
252+
padding: 10px;
199253
background: white;
200-
border: 1px solid #e1e8ed;
201-
border-radius: 8px;
254+
}
255+
256+
.flashcard-link {
257+
display: block;
258+
padding: 12px 15px;
202259
text-decoration: none;
203260
color: #333;
261+
border-bottom: 1px solid #f0f0f0;
204262
transition: all 0.3s ease;
205263
}
206264

207-
.flashcard-item:hover {
208-
transform: translateY(-3px);
209-
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
210-
border-color: #667eea;
211-
text-decoration: none;
265+
.flashcard-link:last-child {
266+
border-bottom: none;
267+
}
268+
269+
.flashcard-link:hover {
270+
background: #f8f9ff;
212271
color: #667eea;
272+
text-decoration: none;
273+
padding-left: 20px;
213274
}
214275

215276
.flashcard-title {
216-
font-weight: 600;
217-
font-size: 1.05em;
218-
margin-bottom: 8px;
219-
color: inherit;
277+
font-weight: 500;
278+
display: block;
220279
}
221280

222281
.flashcard-tip {
223282
font-size: 0.85em;
224283
color: #666;
225-
line-height: 1.4;
226-
margin-bottom: 8px;
227284
font-style: italic;
285+
display: block;
286+
margin-top: 4px;
228287
}
229288

230-
.flashcard-meta {
231-
font-size: 0.8em;
232-
color: #999;
233-
text-transform: uppercase;
234-
letter-spacing: 0.5px;
289+
/* Resources Grid */
290+
.resources-grid {
291+
display: grid;
292+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
293+
gap: 20px;
294+
margin: 40px 0;
295+
}
296+
297+
.resource-card {
298+
padding: 20px;
299+
background: white;
300+
border: 1px solid #e1e8ed;
301+
border-radius: 8px;
302+
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
303+
}
304+
305+
.resource-card h4 {
306+
color: #2c3e50;
307+
margin: 0 0 15px 0;
308+
}
309+
310+
.resource-card ul {
311+
margin: 0;
312+
padding-left: 20px;
313+
}
314+
315+
.resource-card li {
316+
margin-bottom: 8px;
317+
}
318+
319+
.resource-card a {
320+
color: #667eea;
321+
text-decoration: none;
322+
}
323+
324+
.resource-card a:hover {
325+
text-decoration: underline;
235326
}
236327

237328
/* Responsive Design */
238329
@media (max-width: 768px) {
239-
.quick-links {
330+
.quick-actions {
240331
flex-direction: column;
332+
gap: 10px;
241333
}
242334

243335
.btn {
244-
text-align: center;
245336
font-size: 1em;
246337
padding: 12px 20px;
247338
}
@@ -259,24 +350,27 @@ This project is open-source and available under the MIT License.
259350
font-size: 2.2em;
260351
}
261352

262-
.flashcard-grid {
353+
.resources-grid {
263354
grid-template-columns: 1fr;
264355
}
265356

266-
.category-heading {
267-
font-size: 1.2em;
357+
.category-summary {
358+
padding: 12px 15px;
359+
flex-direction: column;
360+
align-items: flex-start;
361+
gap: 5px;
268362
}
269363
}
270364

271-
/* Smooth scrolling for anchor links */
272-
html {
273-
scroll-behavior: smooth;
274-
}
275-
276365
/* Focus states for accessibility */
277366
.btn:focus,
278-
.flashcard-item:focus {
367+
.flashcard-link:focus {
279368
outline: 2px solid #667eea;
280369
outline-offset: 2px;
281370
}
371+
372+
/* Smooth scrolling for anchor links */
373+
html {
374+
scroll-behavior: smooth;
375+
}
282376
</style>

0 commit comments

Comments
 (0)