Init commit!
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# CLAUDE.md — Instructions for the Claude AI assistant
|
||||
|
||||
## Project
|
||||
|
||||
Static personal website. Source in org files, built with Nix + Emacs org-publish.
|
||||
See README.org for full project structure and maintenance guide.
|
||||
|
||||
## Key files
|
||||
|
||||
| File | Purpose |
|
||||
|---------------|----------------------------------------------|
|
||||
| `flake.nix` | Nix flake — build derivation, run apps |
|
||||
| `build.el` | org-publish config (pages + static assets) |
|
||||
| `content/` | Org source files → HTML pages |
|
||||
| `static/` | Static assets (CSS, images, fonts) |
|
||||
|
||||
## Conventions
|
||||
|
||||
- **New pages**: add `content/<name>.org`, add nav link to `site-nav` in `build.el`
|
||||
- **Sub-projects**: follow the three-step pattern in README.org (input → let binding → installPhase copy)
|
||||
- **CSS**: edit `static/style.css`; use existing custom properties (`--bg`, `--fg`, etc.) before adding new ones
|
||||
- **No JS** unless explicitly requested
|
||||
- **No new files** unless clearly necessary — prefer editing existing ones
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
nix build # produces result/ symlink with the full static site
|
||||
nix run # build + serve at http://localhost:8080
|
||||
```
|
||||
|
||||
The build runs `emacs --batch --load ./build.el` inside a Nix sandbox.
|
||||
`org-publish-use-timestamps-flag` is `nil` so every build is a full rebuild.
|
||||
|
||||
## Architecture notes
|
||||
|
||||
- Multi-arch: `x86_64-linux` and `aarch64-linux` (CI runs on Raspberry Pi)
|
||||
- `emacs-nox` is used (headless, no display required)
|
||||
- Source is filtered with `pkgs.lib.cleanSource` — avoid relying on files that would be excluded (e.g. `.git`)
|
||||
- `public/` is gitignored; never commit it
|
||||
|
||||
## Updating README.org
|
||||
|
||||
Keep README.org up to date as the project evolves. It is the canonical human-readable documentation.
|
||||
Reference in New Issue
Block a user