My personal blog, live at https://adam.kostarelas.com.
Note
Project status. The badge above is generated from my status list, which says what I promise for this project and every other one.
A Hugo site using the Blowfish
theme, which is vendored into this repository at themes/blowfish (version 2.89.1) rather than
pulled in as a submodule or Hugo module.
The repository has two branches that matter:
devholds the source — content, config, assets and the build workflow. This is the branch to edit.masterholds the generated site. It is overwritten by the deploy workflow, so nothing should be committed to it by hand. That includes this file: it isstatic/README.mdondev, and the build copies it to the root ofmaster, which is what GitHub shows on the repository page.
Hugo extended 0.151.0 — the version pinned in
.github/workflows/gh-pages.yml.
See the Hugo install docs. No submodule fetch is needed because
the theme is committed in the tree.
hugo server # local server with live reload
hugo --minify # build the production site into ./publicThere is also a justfile with
the same commands as just recipes: just run, just build, just clean,
plus just default and just setup.
Ignore just setup. It runs git submodule update --init --recursive, from when the theme was a
submodule — there is no .gitmodules any more and themes/blowfish is committed in the tree, so the
recipe does nothing. The submodules: true in the workflow's checkout step is stale for the same
reason.
Pushing to dev runs the github pages workflow, which builds with hugo --minify and publishes
./public to master using peaceiris/actions-gh-pages, writing the CNAME for
adam.kostarelas.com. GitHub Pages then serves master at that domain.
The workflow also declares an hourly schedule trigger, but no scheduled runs appear in the Actions
history — GitHub only runs scheduled workflows from the default branch (master), which does not
contain the workflow file. In practice every deploy is triggered by a push to dev.
| Path | What is in it |
|---|---|
content/ |
All pages. Sections: blog, micro, projects, open, privacy, dashboard, resource. |
archetypes/default.md |
Front matter template used by hugo new. |
hugo.toml |
baseURL, languageCode and site title. |
config/_default/ |
The rest of the config — params, menus, languages, markup. |
assets/ |
Custom CSS (css/custom.css, css/syntax.css) and site images such as the avatar. |
static/ |
Favicons and uploads/, copied verbatim to the site root. |
layouts/ |
Section templates that override the theme (micro, open, privacy, projects). |
themes/blowfish/ |
The vendored theme. Changes here are overwritten on a theme upgrade — override in layouts/ or assets/ instead. |
Posts are page bundles: a folder under content/blog/ containing index.md alongside its images,
so a post and its assets move together.