Header

Michal’s Beautiful Jekyll

A streamlined personal website built with Beautiful Jekyll using GitHub’s remote_theme feature for minimal maintenance.

Live site: https://michalferber.me

Features

  • Remote Theme: Uses daattali/beautiful-jekyll@6.0.1 via remote_theme - no need to maintain theme files locally
  • Bootstrap 5 UI (loaded via theme)
  • Font Awesome 6 icons (loaded via theme)
  • Splide.js for lightweight image carousels
  • Dark theme with custom color scheme
  • Disqus comments
  • Google Analytics 4

Quick Start (Local Development)

Prerequisites: Ruby 3.x, Bundler

bundle install
bundle exec jekyll serve --livereload
# http://127.0.0.1:4000

Project Structure

β”œβ”€β”€ _config.yml              # Site configuration + remote_theme
β”œβ”€β”€ _data/
β”‚   β”œβ”€β”€ programming-skills.yml
β”‚   β”œβ”€β”€ other-skills.yml
β”‚   └── timeline.yml
β”œβ”€β”€ _includes/
β”‚   β”œβ”€β”€ buymeacoffee.html    # Footer donation button
β”‚   β”œβ”€β”€ splide-css.html      # Splide carousel CSS
β”‚   └── elements/            # Custom includes
β”‚       β”œβ”€β”€ adobe.html       # PDF viewer embed
β”‚       β”œβ”€β”€ button.html      # Styled buttons
β”‚       β”œβ”€β”€ carousel.html    # Splide image carousel
β”‚       β”œβ”€β”€ list.html        # List/TOC generator
β”‚       └── video.html       # Video embed (YouTube, Vimeo, etc.)
β”‚   └── about/               # About page components
β”‚       β”œβ”€β”€ skills.html
β”‚       └── timeline.html
β”œβ”€β”€ _posts/                  # Blog posts
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ css/custom.css       # Custom styles (carousel, etc.)
β”‚   β”œβ”€β”€ img/                 # Images
β”‚   β”œβ”€β”€ badges/              # Certification badges
β”‚   β”œβ”€β”€ certs/               # Certificate images & PDFs
β”‚   β”œβ”€β”€ docs/                # Embedded documents
β”‚   └── downloads/           # Downloadable files
β”œβ”€β”€ about.html               # About page
β”œβ”€β”€ index.html               # Home page
└── plex.md                  # Plex request page

Why Remote Theme?

Using remote_theme instead of vendoring all theme files provides:

  • Less maintenance: Theme updates come from the upstream repo automatically
  • Cleaner repository: ~30+ fewer files to manage
  • Easier updates: Pin to a specific version tag (e.g., @6.0.1)
  • Override only what you need: Keep custom includes/layouts, theme provides the rest

Customizations

Custom Includes

  • Splide Carousel: Lightweight image slider for badges/certifications
  • Adobe PDF Viewer: Embedded PDF documents
  • Video Embed: Support for YouTube, Vimeo, Rumble, Dailymotion
  • Buy Me A Coffee: Footer donation button on all pages

Custom Styles

assets/css/custom.css contains:

  • Carousel container sizing
  • Splide dark theme overrides

Writing Posts

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

---
layout: post
title: "My Post Title"
subtitle: "Optional subtitle"
date: 2025-01-19
tags: [tag1, tag2]
thumbnail-img: /assets/img/my-image.jpg
---

Your content here...

Deployment

This site is deployed via GitHub Pages:

  • GitHub Pages builds from the default branch
  • CNAME file contains: michalferber.me
  • DNS is configured to point to GitHub Pages

Configuration Highlights

Key settings in _config.yml:

remote_theme: daattali/beautiful-jekyll@6.0.1

# Custom colors (dark theme)
page-col: "#27262b"
text-col: "#e6e1e8"
link-col: "#56b4fc"
navbar-col: "#27262b"
footer-col: "#27262b"

# Custom CSS
site-css:
  - "/assets/css/custom.css"

# Footer extras (Buy Me A Coffee on all pages)
defaults:
  - scope:
      path: ""
    values:
      footer-extra: ["buymeacoffee.html"]

License & Credits

Contact