@@ -9,18 +9,15 @@ layout: default
99
1010A 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