Skip to content

Repository files navigation

theoteske.github.io

GitHub Pages Jekyll

This repository contains the source code for my personal website and portfolio, hosted live at theoteske.github.io via GitHub Pages.


Features

  • Technical Writing & Blog: Posts covering machine learning, algorithms, and software development with support for LaTeX math formulas via MathJax and code syntax highlighting via Rouge.
  • Projects Portfolio: Showcase of open-source projects and research experiments using a custom Jekyll projects collection.
  • SEO & RSS Integration: Automated sitemap generation, RSS feed (/feed.xml), and Open Graph metadata via jekyll-seo-tag.
  • Developer Workflow: Makefile commands and jekyll-compose integration for frictionless local drafting and building.

Tech Stack

  • Static Site Generator: Jekyll
  • Hosting: GitHub Pages
  • Theme: Minima with custom SCSS extensions
  • Markdown Processor: Kramdown (GitHub Flavored Markdown)
  • Math Engine: MathJax
  • Syntax Highlighting: Rouge

Repository Structure

.
├── _config.yml        # Site configurations, metadata, and plugin settings
├── _data/             # Custom site data files
├── _includes/         # Reusable HTML snippets (headers, footers, math scripts)
├── _layouts/          # Page and post layout templates
├── _posts/            # Blog posts (formatted as YYYY-MM-DD-title.md)
├── _projects/         # Portfolio entries (custom Jekyll collection)
├── _sass/             # Custom Sass stylesheets and theme overrides
├── about.md           # About page markdown source
├── index.md           # Home page markdown source
├── Gemfile            # Ruby dependencies for Jekyll & GitHub Pages
└── Makefile           # Convenience tasks for local development and workflow

Local Development

Prerequisites

  • Ruby (v3.0+)
  • Bundler (gem install bundler)
  • Make (optional, for simplified commands)

Setup & Run

  1. Clone the repository:

    git clone https://github.com/theoteske/theoteske.github.io.git
    cd theoteske.github.io
  2. Install dependencies:

    make install
    # or: bundle install
  3. Start local development server:

    make serve
    # or: bundle exec jekyll serve --livereload --drafts

    Open your browser at http://localhost:4000.


Creating Content

Convenience make tasks are available to quickly scaffold new posts and projects:

  • Create a new blog post draft:

    make new-post

    Creates a draft file in _drafts/ with front matter preconfigured.

  • Create a new project entry:

    make new-project

    Creates a new project file in _projects/.


Deployment

The site is automatically built and deployed by GitHub Pages whenever changes are pushed to the main branch.

To manually verify production builds locally:

make build
# or: JEKYLL_ENV=production bundle exec jekyll build

License

Content and source code copyright Theo Teske.

About

Personal website/portfolio.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages