No description
| assets | ||
| blog | ||
| projects | ||
| .gitignore | ||
| about.html | ||
| CNAME | ||
| contact.html | ||
| index.html | ||
| lab.html | ||
| README.md | ||
Ertunç Özbay — Personal Website, Workshop & Technical Notebook
Live website: https://ertuncozbay.dev
Repository: https://github.com/ertunc-ozbay/ertuncozbay.github.io (Branch: main)
Welcome! This repository contains the source files for my personal website, engineering project showcase, blog, and lab notebook.
The site is intentionally built with plain HTML, CSS, and JavaScript—with no framework, no build step, no database, and no external backend—so it remains free, fast, and easy to understand and maintain as a beginner.
1. What GitHub Pages Does (and How Changes Reach the Live Website)
- GitHub Pages is a free static web hosting service provided by GitHub. It takes the HTML, CSS, JavaScript, and image files stored on the
mainbranch of this repository and serves them directly to visitors at https://ertuncozbay.dev. - How changes go live: Whenever you edit a file on GitHub (or push a commit to the
mainbranch), GitHub Pages automatically updates the live website within about 1 to 2 minutes. You do not need to run any build command or deploy script.
2. Which File Must NOT Be Changed (CNAME)
CNAME(located in the root folder/CNAME) contains a single line:ertuncozbay.dev- Do not delete, rename, or modify
CNAME. GitHub Pages uses this exact file to connect this repository to the custom domainhttps://ertuncozbay.dev.
3. Repository Structure & Where Every Page Lives
/
├── CNAME # Custom domain file (DO NOT MODIFY)
├── README.md # This beginner maintenance guide
├── index.html # Homepage (Personal workshop intro)
├── about.html # About page (Philosophy, car/AI analogy, university)
├── contact.html # Contact & collaboration page
├── lab.html # Lab & experiment notebook page
├── assets/
│ ├── css/
│ │ └── style.css # All visual styling (dark metallic workshop theme)
│ ├── js/
│ │ └── main.js # Mobile menu toggle & blog category filter
│ └── images/
│ ├── favicon.svg # Browser tab icon
│ ├── hardware-software-bridge.svg # Diagram on the About page
│ └── midi-breadboard-layout.svg # Diagram on the MIDI project page
├── projects/
│ ├── index.html # Projects overview page (all project cards)
│ ├── multi-functional-controller.html # Project 1 detail page
│ ├── rc-autonomous-vehicle.html # Project 2 detail page
│ └── midi-breadboard-instrument.html # Project 3 detail page
└── blog/
├── index.html # Blog index page (lists all blog posts)
├── welcome-to-my-workshop-note.html # Starter / example note
└── post-template.html # Copy this file to write a new blog post!
- Where the Homepage is:
index.htmlin the main (root) folder. - Where the About page is:
about.htmlin the main (root) folder. - Where CSS is stored:
assets/css/style.css. Change colors, fonts, spacing, or card styles here, and every page updates automatically. - Where JavaScript is stored:
assets/js/main.js. Controls the mobile menu button (Menu/Close) and the category filter buttons on the Blog page.
4. How to Edit Project Cards & Create a New Project Detail Page
Editing existing project cards
- Open
projects/index.html. - Each project is inside an
<article class="card">...</article>block. - You can update the status badge (
In progress), description, confirmed component tags (<ul class="tag-list">), "What I am currently learning", or "Next step" text directly inside that card. - If you also want the summary on the homepage to match, update the matching card in
index.html.
Creating a new project detail page
- Go into the
projects/folder. - Copy one of the existing pages (for example,
projects/multi-functional-controller.html) and rename the copy to your new project name using lowercase letters and hyphens (for example,projects/new-circuit-test.html). - Open your new file and edit the
<title>,<h1>heading, overview paragraphs, and table rows. - Open
projects/index.html, copy one<article class="card">...</article>block, and change its link (href="new-circuit-test.html") and text to point to your new page.
5. How to Create a Blog Post (Step-by-Step)
- Go into the
blog/folder and make a copy ofblog/post-template.html. - Rename your copied file using lowercase letters and hyphens, for example:
blog/midi-script-first-test.html - Open your new HTML file and edit:
<title>in the<head>- The badge,
<time>, Category, and Reading time inside<div class="card-meta"> - The article title inside
<h1> - The summary inside
<p class="hero-lead"> - The tags inside
<ul class="tag-list"> - The main article sections (
<h2>and<p>)
- Remove the amber "Template Notice" box once your real article is ready.
- Open
blog/index.htmland add a new<article class="card" data-blog-category="build-logs">block at the top of<div class="card-grid-2">linking to your new file (href="midi-script-first-test.html").
6. How to Update Navigation
The top navigation bar (Home, About, Projects, Blog, Lab, Contact) sits inside <header class="site-header"> near the top of each HTML file.
- Important relative path rule:
- In root files (
index.html,about.html,lab.html,contact.html), links use direct paths likehref="about.html"andhref="projects/index.html". - In subfolder files (
projects/*.htmlandblog/*.html), links to the root folder start with../(meaning "go up one folder"), such ashref="../index.html",href="../about.html", andhref="../assets/css/style.css".
- In root files (
- The current page link has
aria-current="page"so visitors and screen readers can see which page is active.
7. Static Architecture & Future Phases
- Currently 100% Static (Phase 1): This website does not use a backend server, database, user login system, or commenting service right now. Everything runs directly from static files on GitHub Pages.
- Postponed for Future Phases: User accounts, blog/project comments, and a small personal community/forum are intentionally postponed until later phases so the foundation stays simple, reliable, and easy to maintain first.