Skip to content

Commit 306c787

Browse files
committed
update
1 parent fc85078 commit 306c787

File tree

21 files changed

+616
-101
lines changed

21 files changed

+616
-101
lines changed

Java.svg

Lines changed: 1 addition & 0 deletions
Loading

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ title: "Java Learning Platform"
22
description: "Learn Java from Core to Senior level"
33
baseurl: ""
44
url: "https://ashmeet07.github.io/java-course"
5-
theme: minima # Optional: Choose a Jekyll theme, you can use 'minima' or any other theme
5+
theme: jekyll-theme-cayman # You can choose any theme you like
66
markdown: kramdown # Ensure you're using kramdown for better Markdown rendering

advanced-java/abstraction/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays

advanced-java/collections/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays

advanced-java/file-io/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays

advanced-java/jdbc/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Module 1: Arrays
2+
3+
In this module, you'll learn about Arrays in Java.
4+
5+
## Topics Covered:
6+
- Array Declaration
7+
- Array Initialization
8+
- Multi-dimensional Arrays

index.html

Lines changed: 175 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,195 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
4-
<head>
3+
<head>
54
<meta charset="UTF-8" />
65
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
76
<title>Java Learning Platform</title>
87
<link rel="stylesheet" href="styles.css" />
98
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
10-
</head>
11-
12-
<body>
13-
<!-- Theme Toggle Button -->
14-
<button id="theme-toggle">Toggle Theme</button>
9+
</head>
10+
<body>
11+
<!-- Theme Toggle -->
12+
<button id="theme-toggle">🌓</button>
1513

1614
<!-- Mobile Nav Toggle -->
1715
<button id="menu-toggle"></button>
1816

1917
<!-- Sidebar -->
2018
<aside id="sidebar">
21-
<div class="logo">
22-
<h2>Java Course</h2>
23-
</div>
24-
<nav class="nav-sections">
25-
<section>
26-
<button class="dropdown-btn">Core Level ▾</button>
27-
<ul class="dropdown-container">
28-
<li><a href="#" onclick="loadContent('core-java/arrays-collections/')">Arrays & Collections</a></li>
29-
<li><a href="#" onclick="loadContent('core-java/control-flow/')">Control Flow</a></li>
30-
</ul>
31-
</section>
32-
<section>
33-
<button class="dropdown-btn">Advanced Level ▾</button>
34-
<ul class="dropdown-container">
35-
<li><a href="#" onclick="loadContent('advanced-java/multithreading/')">Multithreading</a></li>
36-
</ul>
37-
</section>
38-
</nav>
19+
<div class="logo">
20+
<img src="Java.svg" alt="Java Logo" class="java-logo" />
21+
<h2>Java Course</h2>
22+
<br />
23+
<h3>Beginner ---> Advance </h3>
24+
<hr class="styled-hr" />
25+
</div>
26+
27+
<nav class="nav-sections">
28+
<!-- Core Java -->
29+
<section>
30+
<button class="dropdown-btn">Core Java ▾</button>
31+
<ul class="dropdown-container">
32+
<hr class="styled-hr" />
33+
<li>
34+
<a href="#core-java/java-basics" onclick="loadContent('core-java/java-basics/')"
35+
>📘 Java Basics</a
36+
>
37+
</li>
38+
<li>
39+
<a
40+
href="#core-java/variables-data-types"
41+
onclick="loadContent('core-java/variables-data-types/')"
42+
>🔡 Variables & Data Types</a
43+
>
44+
</li>
45+
<li>
46+
<a href="#core-java/control-flow" onclick="loadContent('core-java/control-flow/')"
47+
>🔁 Control Flow</a
48+
>
49+
</li>
50+
<li>
51+
<a href="#core-java/exception-handling" onclick="loadContent('core-java/exception-handling/')"
52+
>⚠️ Exception Handling</a
53+
>
54+
</li>
55+
<li>
56+
<a href="#core-java/methods" onclick="loadContent('core-java/methods/')"
57+
>🔧 Methods</a
58+
>
59+
</li>
60+
<li>
61+
<a href="#core-java/oops-basics" onclick="loadContent('core-java/oops-basics/')"
62+
>🏛️ OOP Basics</a
63+
>
64+
</li>
65+
<li>
66+
<a href="#core-java/threads" onclick="loadContent('core-java/threads/')"
67+
>🧵 Threads</a
68+
>
69+
</li>
70+
<li>
71+
<a
72+
href="#core-java/functional-programming"
73+
onclick="loadContent('core-java/functional-programming/')"
74+
>🧠 Functional Programming</a
75+
>
76+
</li>
77+
<li>
78+
<a href="#core-java/arrays-collections" onclick="loadContent('core-java/arrays-collections/')"
79+
>[1,2,3] Arrays & Collections</a
80+
>
81+
</li>
82+
</ul>
83+
</section>
84+
85+
<!-- Advanced Java -->
86+
<section>
87+
<button class="dropdown-btn">Advanced Java ▾</button>
88+
<ul class="dropdown-container">
89+
<hr class="styled-hr" />
90+
<li>
91+
<a href="#advanced-java/abstraction" onclick="loadContent('advanced-java/abstraction/')"
92+
>🌀 Abstraction</a
93+
>
94+
</li>
95+
<li>
96+
<a
97+
href="#advanced-java/advanced-threads"
98+
onclick="loadContent('advanced-java/advanced-threads/')"
99+
>🔀 Advanced Threads</a
100+
>
101+
</li>
102+
<li>
103+
<a href="#advanced-java/collections" onclick="loadContent('advanced-java/collections/')"
104+
>📚 Collections</a
105+
>
106+
</li>
107+
<li>
108+
<a href="#advanced-java/file-io" onclick="loadContent('advanced-java/file-io/')"
109+
>📁 File I/O</a
110+
>
111+
</li>
112+
<li>
113+
<a
114+
href="#advanced-java/inheritance-polymorphism"
115+
onclick="loadContent('advanced-java/inheritance-polymorphism/')"
116+
>🧬 Inheritance & Polymorphism</a
117+
>
118+
</li>
119+
<li>
120+
<a href="#advanced-java/jdbc" onclick="loadContent('advanced-java/jdbc/')"
121+
>🗄️ JDBC</a
122+
>
123+
</li>
124+
<li>
125+
<a href="#advanced-java/COLLECTIONS" onclick="loadContent('advanced-java/COLLECTIONS/')"
126+
>📦 COLLECTIONS</a
127+
>
128+
</li>
129+
</ul>
130+
</section>
131+
132+
<!-- Senior Level -->
133+
<section>
134+
<button class="dropdown-btn">Senior Level ▾</button>
135+
<ul class="dropdown-container">
136+
<hr class="styled-hr" />
137+
<li>
138+
<a href="#senior-java/advanced-jdbc" onclick="loadContent('senior-java/advanced-jdbc/')"
139+
>🔌 Advanced JDBC</a
140+
>
141+
</li>
142+
<li>
143+
<a href="#senior-java/big-data" onclick="loadContent('senior-java/big-data/')"
144+
>📊 Big Data</a
145+
>
146+
</li>
147+
<li>
148+
<a href="#senior-java/design-pattern" onclick="loadContent('senior-java/design-pattern/')"
149+
>🎨 Design Pattern</a
150+
>
151+
</li>
152+
<li>
153+
<a href="#senior-java/microservices" onclick="loadContent('senior-java/microservices/')"
154+
>☁️ Microservices</a
155+
>
156+
</li>
157+
<li>
158+
<a
159+
href="#senior-java/performance-tunning"
160+
onclick="loadContent('senior-java/performance-tunning/')"
161+
>🚀 Performance Tuning</a
162+
>
163+
</li>
164+
<li>
165+
<a href="#senior-java/servelt-jsp" onclick="loadContent('senior-java/servelt-jsp/')"
166+
>🌐 Servlet & JSP</a
167+
>
168+
</li>
169+
<li>
170+
<a
171+
href="#senior-java/spring-framework"
172+
onclick="loadContent('senior-java/spring-framework/')"
173+
>🌿 Spring Framework</a
174+
>
175+
</li>
176+
</ul>
177+
</section>
178+
</nav>
39179
</aside>
40180

41181
<!-- Main Content -->
42182
<main id="main-content">
43-
<header>
44-
<h1>Welcome to Your Java Journey</h1>
45-
<p>Click on a topic in the sidebar to begin learning.</p>
46-
</header>
47-
<section id="dynamic-content">
48-
<!-- Content will be loaded here -->
49-
</section>
183+
<header>
184+
<h1 class="welcome">Welcome to Your Java(Oak) Journey</h1>
185+
<p class="guide">Click on a topic in the sidebar to begin learning.</p>
186+
</header>
187+
<section id="dynamic-content">
188+
<!-- Markdown content will be loaded here -->
189+
</section>
50190
</main>
51191

192+
<!-- JavaScript -->
52193
<script src="script.js"></script>
53-
</body>
54-
55-
</html>
194+
</body>
195+
</html>

script.js

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,66 @@ async function loadContent(path) {
33
const markdownPath = path + 'index.md';
44

55
try {
6-
const res = await fetch(markdownPath);
7-
const md = await res.text();
8-
const html = marked.parse(md); // Using marked.js to convert Markdown to HTML
9-
document.getElementById("dynamic-content").innerHTML = html;
10-
window.scrollTo({ top: 0, behavior: 'smooth' });
6+
const res = await fetch(markdownPath);
7+
const md = await res.text();
8+
const html = marked.parse(md); // Convert Markdown to HTML
9+
document.getElementById("dynamic-content").innerHTML = html;
10+
window.scrollTo({ top: 0, behavior: 'smooth' });
1111
} catch (err) {
12-
document.getElementById("dynamic-content").innerHTML = `<p>Error loading content: ${err.message}</p>`;
12+
document.getElementById("dynamic-content").innerHTML =
13+
`<p style="color: red;">Please go through the nav links to find your relevant content.</p>`;
1314
}
1415
}
1516

16-
// Dropdown functionality for collapsing/expanding menu sections
17+
// Static welcome content
18+
const defaultStaticHTML = `
19+
<div class="welcome-block">
20+
<h2>🚀 Let's Get Started with Java</h2>
21+
<p>Explore the structured Java path starting from Core to Senior level topics:</p>
22+
<ul class="starter-list">
23+
<li>🔰 Core Java: Variables, Control Flow, OOP Basics</li>
24+
<li>⚙️ Advanced Java: Threads, Collections, File I/O</li>
25+
<li>👨‍💻 Senior Level: JVM, Microservices, Performance</li>
26+
</ul>
27+
<p class="start-note">Use the sidebar to begin your journey. Happy learning! ☕</p>
28+
</div>
29+
`;
30+
31+
// Handle dropdown toggle
1732
document.querySelectorAll('.dropdown-btn').forEach(btn => {
1833
btn.addEventListener('click', () => {
19-
const container = btn.nextElementSibling;
20-
const isOpen = container.style.display === 'block';
34+
const container = btn.nextElementSibling;
35+
const isOpen = container.style.display === 'block';
2136

22-
container.style.display = isOpen ? 'none' : 'block';
23-
btn.textContent = isOpen
24-
? btn.textContent.replace('▾', '▸')
25-
: btn.textContent.replace('▸', '▾');
37+
container.style.display = isOpen ? 'none' : 'block';
38+
btn.textContent = isOpen
39+
? btn.textContent.replace('▾', '▸')
40+
: btn.textContent.replace('▸', '▾');
2641
});
2742
});
2843

29-
// Sidebar toggle for mobile view
44+
// Handle sidebar toggle for mobile
3045
document.getElementById('menu-toggle').addEventListener('click', () => {
3146
document.getElementById('sidebar').classList.toggle('active');
3247
});
3348

34-
// Theme toggle functionality
49+
// Handle theme toggle
3550
document.getElementById('theme-toggle').addEventListener('click', () => {
36-
const current = document.documentElement.getAttribute('data-theme');
37-
const next = current === 'dark' ? 'light' : 'dark';
38-
document.documentElement.setAttribute('data-theme', next);
39-
localStorage.setItem('theme', next);
51+
const currentTheme = document.documentElement.getAttribute('data-theme');
52+
const nextTheme = currentTheme === 'dark' ? 'light' : 'dark';
53+
document.documentElement.setAttribute('data-theme', nextTheme);
54+
localStorage.setItem('theme', nextTheme);
4055
});
4156

42-
// Auto-load the README content and set the saved theme
57+
// On page load: static first, then markdown + theme
4358
window.addEventListener('DOMContentLoaded', () => {
44-
loadContent('README');
59+
// Load static HTML first
60+
document.getElementById('dynamic-content').innerHTML = defaultStaticHTML;
61+
62+
// Optional: Load README if available (comment this if you want to keep only static)
63+
// loadContent('README');
64+
65+
// Apply saved theme
4566
const savedTheme = localStorage.getItem('theme') || 'light';
4667
document.documentElement.setAttribute('data-theme', savedTheme);
4768
});

0 commit comments

Comments
 (0)