πŸ“– COMPLETE SETUP GUIDE

Installation & Setup

Step 1: Install Ruby Dependencies

cd /Users/kostapet/git/PetyoKostakov.github.io
bundle install

Step 2: Run Development Server

bundle exec jekyll serve

Step 3: Visit Your Site

Open browser β†’ http://localhost:4000


πŸ“ Creating Content

Blog Posts

Create a new file in _posts/ with format: YYYY-MM-DD-title.md

---
layout: post
title: "Your Post Title"
date: 2024-09-09 10:00:00 +0000
categories: [category]
tags: [tag1, tag2]
---

Your content here...

Courses

Create a new file in _courses/ with format: course-name.md

---
layout: page
title: "Course Title"
description: "Course description"
level: "Beginner"
topics:
  - Topic 1
  - Topic 2
permalink: /courses/course-url/
---

Course content...

🎨 Customization

Change Site Settings

Edit _config.yml:

title: Your Name
email: your-email@example.com
description: Your site description
github_username: your-github
linkedin_username: your-linkedin

Update Homepage

Edit index.md - Change title, description, and content

Update CV

Edit cv.md - Add your professional experience

Update About

Edit about.md - Write your bio


🌐 Deployment

Deploy to GitHub Pages

  1. Commit your changes:
    git add .
    git commit -m "Update portfolio"
    git push origin main
    
  2. Enable GitHub Pages in settings:
    • Go to GitHub repository settings
    • Scroll to β€œGitHub Pages”
    • Select β€œDeploy from a branch”
    • Choose β€œmain” branch
    • Save
  3. Your site goes live at: https://petyokostakov.github.io

πŸ†˜ Troubleshooting

Port 4000 Already in Use

bundle exec jekyll serve --port 4001

Bundle Issues

bundle clean --force
bundle install
bundle exec jekyll serve

Clear Cache

bundle exec jekyll clean

πŸ“š Project Structure

.
β”œβ”€β”€ index.md              ← Homepage
β”œβ”€β”€ cv.md                 ← CV page
β”œβ”€β”€ blog.md               ← Blog listing
β”œβ”€β”€ courses.md            ← Courses
β”œβ”€β”€ about.md              ← About page
β”œβ”€β”€ 404.md                ← Error page
β”œβ”€β”€ _posts/               ← Blog posts
β”œβ”€β”€ _courses/             ← Courses
β”œβ”€β”€ _layouts/             ← Templates
β”œβ”€β”€ _includes/            ← Components
β”œβ”€β”€ assets/               ← CSS & media
β”œβ”€β”€ _config.yml           ← Configuration
β”œβ”€β”€ Gemfile               ← Dependencies
└── .gitignore            ← Git rules

βœ… Commands Reference

Command Purpose
bundle install Install dependencies
bundle update Update gems
bundle exec jekyll serve Run development server
bundle exec jekyll build Build for production
bundle exec jekyll clean Clear build cache
JEKYLL_ENV=production bundle exec jekyll build Production build

πŸ“Š Plugin Features

jekyll-feed

  • Automatically generates RSS feed at /feed.xml
  • Allows readers to subscribe to your blog

jekyll-seo-tag

  • Adds SEO meta tags
  • Improves search engine visibility
  • Open Graph support

jekyll-sitemap

  • Generates sitemap.xml
  • Helps search engines crawl your site
  • Better SEO

🎯 Next Steps

  1. Customize Configuration - Update _config.yml
  2. Write Your CV - Edit cv.md
  3. Update About - Edit about.md
  4. Create Blog Posts - Add to _posts/
  5. Create Courses - Add to _courses/
  6. Test Locally - Run the server and verify
  7. Deploy - Push to GitHub

πŸ“ž Resources


Your professional Jekyll portfolio is complete and ready to use!

Start with bundle exec jekyll serve and visit http://localhost:4000

Good luck! πŸš€