ferano.io/README.org
2026-06-13 12:08:17 +07:00

1.5 KiB

ferano.io

Static portfolio site. No framework — just Clojure generating HTML.

Stack

  • Clojure + Hiccup — generates all HTML in src/ferano_io/main.clj
  • EDN — all site data (projects, games, experiments, links) lives in resources/data.edn
  • Tailwind CSS — compiled from resources/input.css to build/static/output.css
  • Org-mode — blog posts written in org/, compiled to HTML fragments by Emacs via build-org.el

Build

make watch    # tailwind + static assets + clj build (local dev)
make publish  # full build + rsync to VPS

Individual targets:

make build clj -M:build — generates build/index.html and build/blog/*.html
make org runs Emacs headless to compile org/*.orgorg/output/*.html
make tailwind compiles Tailwind CSS
make static rsyncs resources/static/build/static/

Dev (nREPL)

clj -M:dev

Starts a CIDER-compatible nREPL. Sets -Ddev=true so the page loads Tailwind from CDN instead of the compiled file.

Blog

Write org/YYYY-MM-DD-slug.org files. make org (or make build, which calls it) converts them to body-only HTML fragments, then build-website wraps each one in the site template and writes it to build/blog/.

Publish

make publish

Rsyncs build/ to joe-vps:/home/josephferano/websites/ferano.io/.