John

Senior Cloud Engineer & Technical Lead

Architecture Overview

This document describes the technical architecture and structure of the johnoct.github.io website.

Technology Stack

Core Framework

Hosting & Deployment

Dependencies

Directory Structure

johnoct.github.io/
├── _config.yml              # Jekyll configuration
├── _layouts/                # Page templates
│   ├── default.html         # Base layout with navigation
│   └── post.html            # Blog post template
├── _posts/                  # Blog content (Markdown)
│   ├── 2024-12-06-*.md     # Technical blog posts
│   └── 2025-07-26-*.md     # GitHub stars posts
├── _site/                   # Generated static files (ignored)
├── scripts/                 # Automation utilities
│   ├── daily-stars.sh      # GitHub stars collection
│   └── quick-stars.sh      # Manual stars script
├── assets/                  # Static assets
├── docs/                    # Documentation
├── blog.md                  # Blog listing page
├── github-stars.md          # Stars collection page
├── github-activity.md       # Activity tracker page
├── index.html              # Homepage
├── styles.css              # Custom styling
├── Gemfile                 # Ruby dependencies
└── README.md               # Project documentation

Jekyll Configuration

Site Settings (_config.yml)

title: John - Senior Cloud Engineer
description: Cloud Engineering & Technical Leadership
url: "https://johnoct.github.io"
theme: minima

# Permalink structure
permalink: /blog/:year/:month/:day/:title/

# Post collections
collections:
  posts:
    output: true
    permalink: /blog/:title/

# Plugins
plugins:
  - jekyll-feed
  - jekyll-sitemap

Content Categories

Posts are organized using Jekyll’s category system:

  1. Technical Blog (categories: blog)
    • Professional insights and experiences
    • Cloud engineering tutorials
    • DevOps best practices
  2. GitHub Stars (categories: github-stars)
    • Daily automated collections
    • Weekly curated roundups
    • Repository discoveries

Page Templates

Default Layout (_layouts/default.html)

Post Layout (_layouts/post.html)

Content Management

Front Matter Structure

Technical Blog Posts

---
title: "Post Title"
date: YYYY-MM-DD
layout: post
categories: blog
tags: [aws, cloud, devops]
---

GitHub Stars Posts

---
title: "Daily GitHub Stars: Month DD, YYYY"
date: YYYY-MM-DD
layout: post
categories: github-stars
tags: [automation, open-source, github]
---

Content Filtering

Pages use Jekyll’s Liquid templating to filter content:

# Blog page - shows only technical posts


# GitHub stars page - shows only repository posts

Styling Architecture

CSS Organization

Key Design Principles

Build Process

Local Development

  1. Jekyll monitors file changes
  2. Automatically regenerates _site/ directory
  3. Serves content at localhost:4000
  4. Live reload for immediate feedback

Production Deployment

  1. Push commits to master branch
  2. GitHub Actions triggers build
  3. Jekyll generates static files
  4. GitHub Pages serves content
  5. Site updates within 1-2 minutes

Automation Architecture

GitHub Stars Collection

Content Generation Flow

  1. Fetch starred repositories from GitHub API
  2. Compare with existing posts to find new additions
  3. Generate front matter and content structure
  4. Create properly formatted blog post file
  5. Include repository metadata and descriptions

Performance Considerations

Optimization Strategies

Loading Times

Security & Maintenance

Security Features

Maintenance Tasks

Extension Points

Adding New Features

Integration Possibilities


Technical Details: This architecture prioritizes simplicity, performance, and maintainability while providing flexibility for future enhancements.