Static site simoncor.net generated using Hugo
  • HTML 50.9%
  • CSS 44.6%
  • Python 3.4%
  • Dockerfile 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Simon Cornet 723996989f
All checks were successful
ci/woodpecker/push/build-and-deploy Pipeline was successful
ci/woodpecker/cron/build-and-deploy Pipeline was successful
style(whoami): center avatar, name, description and socials on mobile
2026-10-22 15:14:52 +02:00
.woodpecker chore(package): update cr.simoncor.net/quay/argoproj/argocd docker tag to v3.5.6 2026-10-21 05:52:22 +00:00
archetypes [GLOBAL] Initial commit 2020-07-16 22:43:30 +02:00
assets style(whoami): center avatar, name, description and socials on mobile 2026-10-22 15:14:52 +02:00
content feat: implement remaining docs (#3) 2026-10-08 08:50:22 +02:00
data feat: website redesign 2026-10-08 08:30:31 +02:00
layouts feat: use Maven Pro for text, keep JetBrains Mono for code and terminal listings 2026-10-15 17:41:28 +02:00
scripts feat: docs-integration (#2) 2026-10-08 08:41:56 +02:00
static feat: use Maven Pro for text, keep JetBrains Mono for code and terminal listings 2026-10-15 17:41:28 +02:00
.editorconfig chore: add .editorconfig and .gitattributes 2026-05-27 14:24:33 +02:00
.gitattributes chore: add .editorconfig and .gitattributes 2026-05-27 14:24:33 +02:00
.gitignore feat(git): add .ansible to gitignore 2025-05-14 17:07:28 +02:00
.markdownlint-cli2.jsonc feat(ci): various improvements 2025-06-11 11:11:10 +02:00
.yamllint [ci] feat: ignore hugo-coder projecet 2024-12-14 17:31:57 +01:00
config.toml feat: add light palettes (#5) 2026-10-08 16:34:47 +02:00
Dockerfile chore(package): update cr.simoncor.net/dockerhub/joseluisq/static-web-server docker tag to v2.44.1 2026-10-08 08:30:31 +02:00
readme.md feat: add light palettes (#5) 2026-10-08 16:34:47 +02:00
renovate.json [renovate] fix: renovate extension 2024-12-14 15:34:13 +01:00

Overview

The Hugo code and Dockerfile for building simoncor.net.

The site is styled as a terminal session on guest@bastion, using an in-repo theme (no theme submodule).

Local development

Live preview

Rebuilds on every change, at http://localhost:1313:

docker run --rm -p 1313:1313 -v "$PWD":/src -w /src cr.simoncor.net/hugo:0.152.2 \
  hugo server --bind 0.0.0.0 --baseURL http://localhost:1313/

Production container

Build the same image the pipeline builds, then run it at http://localhost:8080:

docker build -t simoncor-net .
docker run --rm -p 8080:3000 simoncor-net

Deploy

Every push to main builds and pushes the container and restarts the deployment through Argo CD (.woodpecker/build-and-deploy.yaml), so work on a feature branch and merge when it's ready.

Content

Positions

One file per position in content/positions/<name>.md, shown as the git log:

---
title: "Coolblue (2012 - 2017)"
description: "Platform Engineer · Scrum Master at Coolblue (2012 - 2017)"  # for search engines
date: "2012-09-01"                       # sorts the git log, newest first
company: "Coolblue"
role: "Platform Engineer · Scrum Master"
period: "2012 - 2017"                    # "... - now" adds the active label
stack: ["vmware", "nimble", "puppet"]    # tags on the card
color: "peach"                           # palette colour name, see below
hash: "c00lb1u"                          # optional commit hash, generated when left out
cd: ["cool-blue", "cb"]                  # optional extra names for cd in the titlebar
head: true                               # optional, pins this position on top as HEAD
---

The body is the git show page. Use ## headings for its sections.

Skills

data/skills.yaml, shown on the homepage and on /skills/. Folders and items are sorted alphabetically by the template, so their order in the file doesn't matter:

- dir: cloud
  color: green                     # palette colour name
  items: [aws, azure, openstack]
  new: [openstack]                 # optional, marked as a recent addition (green +)

Text in content/skills.md is shown below the skills grid on /skills/.

Other pages

Page File Notes
Bio content/bio.md shown on the homepage as cat ~/bio.txt
whoami content/whoami.md opened by the whoami command; nocd: true keeps it out of cd
help content/help.md opened by help; the commands and cd targets are generated
Profile, tabs config.toml name, tagline, social links, prompt user/host, tabs and palettes

Docs

One file per page in content/docs/<topic>/<page>.md, with an _index.md per topic folder. The page title goes in the front matter, and notes use GitHub-style alerts:

> [!NOTE]
> REPLACE YOUR TOKEN!

scripts/convert-mkdocs.py moves pages over from the old MkDocs site (docs-simoncor-net).

Colours

Positions and skill folders take a palette colour name: rosewater, flamingo, pink, mauve, red, maroon, peach, yellow, green, teal, sky, sapphire, blue, lavender. The actual colour follows the palette the visitor picks.

Theme

  • layouts/: templates, with shared pieces in layouts/_partials/.
  • assets/css/palettes.css: colour palettes; params.palette sets the default, params.palettes (dark and light lists) the ones visitors can pick in the statusline.
  • assets/css/main.css: everything else.
  • layouts/_partials/shell.html: the titlebar prompt. cd reaches every built page (except nocd: true ones), whoami opens the profile, cat ~/bio.txt prints the bio, git log / git show <hash> open the positions, help opens /help/, man the docs, and open <name> (or just <name>) any external tab or social link; anything else is restricted. New pages and links need no changes there. Outside the prompt, j/k scroll, gg/G jump to the top/bottom and i or : focus the prompt; the statusline shows NORMAL/INSERT.
  • layouts/docs/: the docs section: tree overview, ls -l per topic, man-page style pages, and section.json, the search index behind grep.
  • layouts/help.html: the /help/ page; its cd targets and link commands are generated from the content and config.
  • static/fonts/: self-hosted JetBrains Mono (SIL Open Font License, see OFL.txt).