Mark Siebert

msiebert.github.io - Jekyll Blog

Project Overview

This is a personal blog built with Jekyll, hosted on GitHub Pages. It contains technical articles, project showcases, and presentations about software development topics.

Technology Stack

Project Structure

├── _config.yml              # Jekyll configuration
├── _includes/               # Reusable HTML components
│   ├── header.html
│   ├── footer.html
│   └── social.html
├── _layouts/                # Page layout templates
│   ├── main.html           # Main layout
│   └── post.html           # Blog post layout
├── _posts/                  # Blog post content (Markdown)
├── assets/                  # Static assets
│   ├── css/                # Compiled stylesheets (output)
│   ├── fonts/              # Font files and Font Awesome icons
│   ├── img/                # Images and project screenshots
│   └── less/               # LESS source files (excluded from Jekyll)
├── presentations/          # Reveal.js presentation slides
├── docker/                 # Docker configuration for local development
├── Gemfile                 # Ruby dependencies
├── index.html              # Home page
└── CLAUDE.md              # This file

Key Configuration

Content

Styling

Development & Deployment

Prerequisites

Installation

# Install Ruby dependencies
bundle install

# Install LESS compiler
npm install -g less

Local Development

  1. Compile LESS to CSS:
    lessc assets/less/site.less assets/css/site.css
    
  2. Run Jekyll locally:
    bundle exec jekyll serve
    

    Or use Docker:

    docker/run-docker.sh
    

Deployment

Required steps before pushing to GitHub Pages:

  1. Compile LESS files (REQUIRED):
    lessc assets/less/site.less assets/css/site.css
    

    This must be done before committing and pushing, as GitHub Pages will serve the compiled CSS.

  2. Test locally:
    bundle exec jekyll build
    
  3. Commit and push:
    git add assets/css/site.css
    git commit -m "Rebuild styles"
    git push
    

GitHub Pages will automatically build the Jekyll site and deploy it.

Common Tasks

Adding a Blog Post

  1. Create a new file in _posts/ with format: YYYY-MM-DD-title.md
  2. Add frontmatter with layout, author, and post metadata
  3. Write content in Markdown
  4. Commit and push to trigger automatic deployment

Modifying Styles

  1. Edit .less files in assets/less/
  2. Compile to CSS: lessc assets/less/site.less assets/css/site.css
  3. Commit both the .less source and compiled .css files
  4. Push to deploy

Running Locally

Notes