Source for pinkushin.github.io — a home for the programs I build, plus the portfolio bits.
Built with Hugo. No theme, no Node, no package manager —
the layouts are five files in layouts/ and the only third-party assets are the
icon SVGs, which are vendored into assets/icons/.
Install Hugo once:
winget install Hugo.Hugo.extendedThen, from the repo root:
hugo serverThat serves the site at http://localhost:1313 with live reload. Build the
static output into public/ with hugo --minify.
Create one markdown file in content/programs/. Nothing else needs editing —
the nav, the home page cards, and the footer all read the section.
---
title: "Program name"
tagline: "One sentence describing it."
status: "Released" # Released | In development | Early | Planned
weight: 50 # sort order, lower is first
repo: "https://github.com/PinKushin/..."
nuget: "https://www.nuget.org/packages/..." # optional
docs: "https://..." # optional
site: "https://..." # optional
platforms: ["Windows", "Linux"]
tech: ["C#", ".NET"]
install: "dotnet add package ..." # optional, renders as a code block
description: "Used for the meta description and social preview."
---
Body copy in markdown.Drop the image in static/img/certs/ and add an entry to
data/certificates.yaml.
| Path | What lives there |
|---|---|
content/ |
Pages and program entries, as markdown |
layouts/ |
Templates — baseof.html wraps everything |
layouts/partials/ |
Nav, footer, program card, icon inliner |
assets/css/main.css |
The entire stylesheet, hand-written |
assets/icons/ |
Vendored Lucide and Simple Icons SVGs |
data/certificates.yaml |
Certificate list |
static/ |
Favicons, manifest, images — copied verbatim |
Pushing to master triggers .github/workflows/ghpages.yml, which builds with
a pinned Hugo version and publishes public/ to the gh-pages branch.