Omien kotisivujen repo
  • HTML 32.5%
  • SCSS 24.4%
  • Python 18%
  • CSS 13.5%
  • JavaScript 11.6%
Find a file
Admin 6aa85e988a
All checks were successful
Deploy to Hetzner / deploy (push) Successful in 13s
Deploy to Hetzner / mastodon-post (push) Successful in 28s
Add a book
2026-04-05 12:50:15 +00:00
.forgejo/workflows Change deploy to include description in toots 2026-02-23 19:43:27 +02:00
admin Change to admin 2026-02-24 15:54:52 +02:00
archetypes Change to runot archetype. Change to comment font. 2026-02-24 08:49:26 +02:00
content Edit a lyhkari 2026-02-25 08:39:56 +00:00
data Add a book 2026-04-05 12:50:15 +00:00
layouts/shortcodes Moved the repo to Forgejo 2026-02-09 09:04:55 +02:00
static Add a book 2026-04-05 12:50:15 +00:00
themes/nightfall Fix comment font 2026-02-24 09:54:50 +02:00
.gitignore remove venv 2026-02-24 13:19:12 +00:00
.hugo_build.lock Moved the repo to Forgejo 2026-02-09 09:04:55 +02:00
hugo.toml A lot more changes to the metadata handling and templates and such 2026-02-19 22:04:01 +02:00
README.md Update README.md 2026-02-25 10:21:03 +00:00

Henkka Laukka Personal Website

A personal portfolio website built with Hugo and hosted at henkkalaukka.fi.

Overview

This repository contains the complete source code for a customized Hugo-based personal website featuring a blog, poetry gallery, and an interactive book tracker. The site is automatically built and deployed to Hetzner via CI/CD pipeline whenever changes are pushed to the main branch.

Tech Stack

  • Static Site Generator: Hugo (Extended version)
  • Base Theme: Nightfall (heavily customized)
  • Styling: Dart Sass for SCSS compilation
  • Deployment: GitHub Actions → FTP to Hetzner
  • Admin: Python Flask application

Features

📝 Blog

A custom blog section with personalized layout and styling for articles and posts.

An interactive poetry gallery featuring:

  • Responsive modal layout
  • Mobile-optimized viewing experience
  • Clean presentation of poems

A custom-built book tracking system displaying your reading history:

  • Sleek gallery layout showcasing book covers
  • Dynamically fetches book metadata from /data/books.json
  • Ground-up custom implementation with custom styling and functionality

🎨 Custom Theme Modifications

The base Nightfall theme has been extensively modified with custom layouts, components, and styling to match the personal branding and feature requirements.

Project Structure

├── .github/workflows # github actions deployment
├── archetypes/ # Page archetypes for hugo
├── content/ # Markdown source files for all pages
├── data/ # books.json file for book tracker data
├── layouts/ # Custom Hugo templates
├── static/ # Static assets
│ └── blogi/ # Blog images
│ └── books/ # Book cover images
│ └── lyhkarit/ # Book "review" images
│ └── screenshots/ # Blog screenshot images
├── themes/ # Hugo themes (Nightfall base)
└── admin/ # Python Admin application

Admin

A Python-based admin tool for maintaining the whole site:

Features

  • Add new blog posts, short posts (lyhkärit which is my personal naming thing), poems to the site
  • Manage the books in your collection
  • Manage all book metadata and properties
  • Web-based interface running on localhost:5555
  • Automatically updates /data/books.json
  • Automatically pushes and thus publishes the blog posts
  • Includes a dashboard with statistics about different site features
  • Dashboard includes buttons to do git pull, git add ., git commit and git push tasks.

Getting Started

  1. Install Python onto your machine (instructions elsewhere)
  2. Install the requirements with pip install -r requirements.txt
  3. Run the app with python app.py
  4. Access the interface at http://localhost:5555
  5. Use the UI to manage the site

All these instructions and settings may vary depending on your needs.