Skip to content

DanielThurau/danielthurau.github.io

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Daniel Thurau's Personal Website

This is the source code for my personal website hosted at thurau.io. It's a Jekyll-based static site that showcases my projects, blog posts, and professional information.

πŸ—οΈ Architecture

This is a Jekyll static site with the following structure:

Core Components

  • Jekyll 4.3.3 - Static site generator
  • no-style-please theme - Minimal, clean design theme
  • GitHub Pages - Hosting platform

Directory Structure

danielthurau.github.io/
β”œβ”€β”€ _config.yml          # Jekyll configuration
β”œβ”€β”€ _layouts/            # HTML templates
β”‚   β”œβ”€β”€ default.html     # Base layout
β”‚   β”œβ”€β”€ home.html        # Homepage layout
β”‚   β”œβ”€β”€ page.html        # Standard page layout
β”‚   β”œβ”€β”€ post.html        # Blog post layout
β”‚   └── archive.html     # Archive page layout
β”œβ”€β”€ _includes/           # Reusable HTML components
β”œβ”€β”€ _posts/              # Blog posts (Markdown)
β”œβ”€β”€ _sass/               # SCSS stylesheets
β”œβ”€β”€ assets/              # Static assets (CSS, JS, images)
β”œβ”€β”€ images/              # Image galleries for projects
β”œβ”€β”€ pdfs/                # PDF documents (resume, etc.)
└── [content pages]      # About, projects, economics, etc.

Key Features

  • Minimal Design: Clean, fast-loading pages
  • Project Showcases: Dedicated pages for hardware projects
  • Blog Posts: Technical writing and updates
  • Responsive: Works on desktop and mobile
  • Analytics: GoatCounter integration for privacy-friendly analytics

🎯 Purpose

This website serves as my digital home on the internet, featuring:

  • Professional Information: About me, resume, contact details
  • Project Portfolio: Showcases of hardware and software projects
  • Blog: Technical writing and project updates
  • Personal Branding: Consistent online presence

πŸš€ Local Development

Prerequisites

  • Ruby (2.7 or higher)
  • Bundler (gem install bundler)
  • Git

Setup Instructions

  1. Clone the repository

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

    bundle install
  3. Start the development server

    bundle exec jekyll serve
  4. View the site Open your browser and navigate to http://localhost:4000

Development Workflow

  1. Create new blog posts

    • Add Markdown files to _posts/ directory
    • Use the format: YYYY-MM-DD-title.md
    • Include front matter with layout, title, and other metadata
  2. Add new pages

    • Create Markdown files in the root directory
    • Include front matter with layout and title
    • Use layout: page for standard pages
  3. Modify styling

    • Edit files in _sass/ directory
    • Main stylesheet: assets/css/main.scss
  4. Add images

    • Place images in images/ directory
    • Reference them in Markdown using relative paths

Useful Commands

# Start development server with live reload
bundle exec jekyll serve --livereload

# Build for production
bundle exec jekyll build

# Serve with drafts
bundle exec jekyll serve --drafts

# Check for broken links
bundle exec jekyll build
bundle exec htmlproofer ./_site

πŸ“ Content Management

Blog Posts

  • Location: _posts/
  • Format: Markdown with YAML front matter
  • Example front matter:
    ---
    layout: post
    title: "Your Post Title"
    date: 2024-01-01
    ---

Pages

  • Location: Root directory
  • Format: Markdown with YAML front matter
  • Example front matter:
    ---
    layout: page
    title: "Page Title"
    ---

Project Pages

  • Create dedicated directories for project images
  • Reference projects in projects.md
  • Use consistent naming conventions

🎨 Customization

Theme Configuration

The site uses the no-style-please theme with customizations in _config.yml:

theme_config:
  appearance: "auto"  # light, dark, or auto
  back_home_text: ".."
  date_format: "%Y-%m-%d"
  show_description: true

Custom Styles

  • Main stylesheet: assets/css/main.scss
  • Custom SCSS in _sass/ directory
  • Override theme defaults as needed

πŸ”§ Deployment

This site is automatically deployed via GitHub Pages:

  1. Push changes to the main branch
  2. GitHub Pages automatically builds and deploys
  3. Site is available at https://danielthurau.github.io
  4. Custom domain configured via CNAME file

Manual Deployment

# Build the site
bundle exec jekyll build

# The built site is in `_site/` directory
# Upload contents to your web server

πŸ“Š Analytics

The site uses GoatCounter for privacy-friendly analytics:

  • Only active in production environment
  • No cookies or tracking scripts
  • Respects user privacy

🀝 Contributing

While this is a personal website, if you find issues or have suggestions:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

πŸ“„ License

This project is open source and available under the LICENSE file.

πŸ”— Links


Built with Jekyll and hosted on GitHub Pages

About

Build a Jekyll blog in minutes, without touching the command line.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 50.0%
  • SCSS 23.3%
  • Ruby 16.9%
  • Python 6.5%
  • JavaScript 3.3%