Skip to content

Commit b2570f0

Browse files
Add interactive website with search and responsive design
1 parent e41d829 commit b2570f0

File tree

7 files changed

+1551
-0
lines changed

7 files changed

+1551
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Deploy GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ "main", "master" ]
6+
pull_request:
7+
branches: [ "main", "master" ]
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+
# Build job
26+
build:
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
32+
- name: Setup Pages
33+
uses: actions/configure-pages@v4
34+
35+
- name: Build with Jekyll
36+
uses: actions/jekyll-build-pages@v1
37+
with:
38+
source: ./
39+
destination: ./_site
40+
41+
- name: Upload artifact
42+
uses: actions/upload-pages-artifact@v3
43+
44+
# Deployment job
45+
deploy:
46+
environment:
47+
name: github-pages
48+
url: ${{ steps.deployment.outputs.page_url }}
49+
runs-on: ubuntu-latest
50+
needs: build
51+
steps:
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4

README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
A comprehensive reference guide covering essential Java concepts needed to master Spring Framework.
44

5+
## 🌐 Interactive Website
6+
7+
Visit our interactive website: **[https://omar-mega-byte.github.io/java-fundamentals-for-spring](https://omar-mega-byte.github.io/java-fundamentals-for-spring)**
8+
9+
The website features:
10+
- 📱 Responsive design for all devices
11+
- 🔍 Search functionality across all modules
12+
- 📊 Progress tracking while reading
13+
- 🎯 Quick navigation between modules
14+
- ⚡ Fast loading and smooth animations
15+
516
## 📚 Module Structure
617

718
This guide is organized into focused modules, each covering key Java concepts essential for Spring development:
@@ -33,6 +44,10 @@ This guide is organized into focused modules, each covering key Java concepts es
3344

3445
## 🚀 Getting Started
3546

47+
### Option 1: Interactive Website (Recommended)
48+
Visit our [interactive website](https://omar-mega-byte.github.io/java-fundamentals-for-spring) for the best learning experience with search, progress tracking, and responsive design.
49+
50+
### Option 2: GitHub Repository
3651
Start with Module 1 if you want a complete review, or jump to specific modules based on your needs.
3752

3853
Each module contains:
@@ -43,6 +58,34 @@ Each module contains:
4358
- Spring Framework relevance
4459
- Practice exercises
4560

61+
## 🌐 Website Features
62+
63+
The companion website includes:
64+
- **Responsive Design**: Works perfectly on desktop, tablet, and mobile
65+
- **Advanced Search**: Find modules and topics instantly
66+
- **Progress Tracking**: Visual progress indicator while reading
67+
- **Interactive Elements**: Smooth animations and hover effects
68+
- **Quick Navigation**: Jump between modules effortlessly
69+
- **SEO Optimized**: Easy to find and share
70+
71+
### Hosting Your Own Website
72+
73+
To set up GitHub Pages for this repository:
74+
75+
1. **Enable GitHub Pages**:
76+
- Go to repository Settings → Pages
77+
- Source: "Deploy from a branch"
78+
- Branch: `main`, Folder: `/ (root)`
79+
80+
2. **Access your site**:
81+
- Visit: `https://yourusername.github.io/repository-name`
82+
83+
The website files included:
84+
- `index.html` - Main website structure
85+
- `style.css` - Professional styling and responsive design
86+
- `script.js` - Interactive features and animations
87+
- `_config.yml` - GitHub Pages configuration
88+
4689
## 🤝 Contributing
4790

4891
We welcome contributions! Please see our [Contributing Guidelines](./CONTRIBUTING.md) for details on how to help improve this guide.

_config.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
title: Java Core Principles - Spring Preparation Guide
2+
description: A comprehensive reference guide covering essential Java concepts needed to master Spring Framework
3+
theme: minima
4+
plugins:
5+
- jekyll-feed
6+
- jekyll-sitemap
7+
- jekyll-seo-tag
8+
9+
# SEO settings
10+
author: Java Spring Fundamentals Guide
11+
social:
12+
type: Organization
13+
links:
14+
- https://github.com/Omar-Mega-Byte/java-fundamentals-for-spring
15+
16+
# GitHub Pages settings
17+
repository: Omar-Mega-Byte/java-fundamentals-for-spring
18+
github:
19+
owner_name: Omar-Mega-Byte
20+
repository_name: java-fundamentals-for-spring
21+
22+
# Additional settings
23+
markdown: kramdown
24+
highlighter: rouge
25+
permalink: pretty
26+
27+
# Collections (if you want to organize modules as collections)
28+
collections:
29+
modules:
30+
output: true
31+
permalink: /:collection/:name/
32+
33+
# Exclude files from processing
34+
exclude:
35+
- README.md
36+
- Gemfile
37+
- Gemfile.lock
38+
- node_modules
39+
- vendor/
40+
- .sass-cache/
41+
- .jekyll-cache/
42+
- gemfiles/
43+
- package.json
44+
- package-lock.json

0 commit comments

Comments
 (0)