- HTML 55.8%
- CSS 37.5%
- Python 6.3%
- Dockerfile 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .agent | ||
| .forgejo/workflows | ||
| archetypes | ||
| config/_default | ||
| content | ||
| layouts/shortcodes | ||
| scripts | ||
| themes/kalaj | ||
| .dockerignore | ||
| .gitignore | ||
| AGENTS.md | ||
| Dockerfile | ||
| LICENSE.txt | ||
| mise.toml | ||
| README.md | ||
kalaj.org
The Markdown source for www.kalaj.org, built with Hugo and the custom theme in themes/kalaj/. The theme is a single-column "engineer's letterhead" design: one hand-written stylesheet (themes/kalaj/assets/css/main.css) implementing the tokens in .agent/plans/site-rebrand-design.md, the self-hosted Source Serif 4 webfont (themes/kalaj/assets/fonts/, SIL OFL license included), and no JavaScript — every asset is bundled at build time, with no third-party requests at page view.
Write with Obsidian
- Clone this repository and open its root directory as an Obsidian vault.
- Create each article as
content/posts/article-name/index.md. - Put images and other media in the same directory as
index.md. - Link media with standard relative Markdown, for example
. - Set
draft: falsein the front matter and push tomainwhen it is ready.
The optional Obsidian Git community plugin can commit and push without leaving Obsidian. Use standard Markdown links rather than Obsidian wikilinks so Hugo can render the same files.
Write with Forgejo
Navigate to a Markdown file and use its edit button. Forgejo's editor is suitable for text changes; Obsidian is easier when adding several media files.
Preview locally
Run Hugo through Docker:
docker run --rm -it -p 1313:1313 -v "$PWD:/src" hugomods/hugo:debian-go-0.165.0 hugo server --bind 0.0.0.0 --buildDrafts
Open http://localhost:1313. Stop the server with Ctrl-C.
Publish
Forgejo Actions builds and pushes git.kalaj.org/sat/kalaj.org:latest after each push to main. The repository needs an Actions secret named REGISTRY_TOKEN containing a Forgejo access token with package write permission.