summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.org>2024-07-13 18:19:48 -0400
committerJakob L. Kreuze <zerodaysfordays@sdf.org>2024-07-13 18:19:48 -0400
commitd993b951fdeea80d9b292e8a2d611a7d5e22d273 (patch)
treec0335a2defd01d6cd8359dfecc0b9a3e7e2e2a0d /README.md
parent81c4d517735983a5afd6e9dc800257c761598527 (diff)
Update README to reflect directory structure and dropping ox-haunt
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 13 insertions, 22 deletions
diff --git a/README.md b/README.md
index 634923f..c682e75 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,6 @@ This repository contains the source code for my personal website. In particular:
- The Guile API server implementing all of the website's dynamic functionality
- Org source files for all of the articles published on the website
-The first two are under `haunt/`, and the last is under `org/`.
-
## Building
My website is, in theory, reproducible.
@@ -15,6 +13,7 @@ If you find that to not be the case, please let me know.
### Dependencies
+- GNU Emacs `>= 29.3`
- GNU Guile `>= 2.2.7`
- `haunt == 0.2.4`
- `guile-commonmark >= 0.1.2`
@@ -25,29 +24,21 @@ If you find that to not be the case, please let me know.
- `git`
- `pagefind = 0.12.0` (optional)
-### Articles
-
-Posts must be compiled before the website can be built (otherwise `haunt/posts` is unpopulated).
-
-1. Install [ox-haunt](https://git.sr.ht/~jakob/ox-haunt).
-2. `(setq ox-haunt-images-dir "./haunt/static/image/")`
-2. For every `$article` in `ls org/*/*.org`,
- 1. `M-x find-file RET $article`
- 2. `M-x org-export-dispatch RET s h`
-
### Website
-When all of the articles have been compiled, the website can be built by running `haunt build` in the `haunt/` directory.
-When `haunt build` completes, the output will be at `haunt/site/`.
+When all of the dependencies have been installed, the website can be built by running `haunt build` from the directory this README file resides in.
+When `haunt build` completes, the output will be at `site/`.
It may take a minute to fetch comments and webmentions.
The build process can be sped up by setting the `HAUNT_SKIP_COMMENTS` environment variable.
+It may also take a few minutes to compile all of the posts using Emacs, but unless explicitly disabled, the results are cached.
+Hence, subsequent builds will not take as long.
If using `pagefind`, the index will need to be build after running `haunt build`.
This can be done with `pagefind -s site/ -b _pagefind/`.
## Deploying
-Recommend using `rsync -azv --delete --progress haunt/site/ [DESTINATION]` to update the static components on a remote.
+Recommend using `rsync -azv --delete --progress site/ [DESTINATION]` to update the static components on a remote.
The following OpenRC service will manage the API server:
@@ -79,11 +70,11 @@ Ideas for a better name are appreciated 🙂
Before running the API server, the following databases will need to be created:
- `jakob_rsvp`
- - Initialized with `haunt/jakob/dynamic/schema-rsvp.sql`
+ - Initialized with `jakob/dynamic/schema-rsvp.sql`
- `jakob_gallery`
- - Initialized with `haunt/jakob/dynamic/schema-gallery.sql`
+ - Initialized with `jakob/dynamic/schema-gallery.sql`
- `jakob_comments`
- - Initialized with `haunt/jakob/dynamic/schema-comments.sql`
+ - Initialized with `jakob/dynamic/schema-comments.sql`
### Dependencies
@@ -93,13 +84,13 @@ Before running the API server, the following databases will need to be created:
- `latex` and `dvipng`
- PostgreSQL `>= 14.0`
-[squee](https://notabug.org/cwebber/guile-squee/) is currently vendored at `haunt/squee.scm`.
+[squee](https://notabug.org/cwebber/guile-squee/) is currently vendored at `squee.scm`.
**TODO**: Should we package `squee` for Gentoo? Or use something more standard? I don't like vendoring code.
## API
-Dynamic capabilities such as comments are implemented by the Guile API server (`haunt/api.scm`).
+Dynamic capabilities such as comments are implemented by the Guile API server (`api.scm`).
It is assumed that the web server proxies all requests matching a `/api` prefix to this server.
By default, the API server runs on port `8081`.
@@ -226,6 +217,6 @@ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR I
## Static Assets
-| Tor Logo | haunt/static/tor.svg | The Tor Project, Inc. | [CC BY 3.0 US](https://creativecommons.org/licenses/by/3.0/us/deed.en) |
-| I2P Logo | haunt/static/i2p.svg | I2P Project | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) |
+| Tor Logo | static/tor.svg | The Tor Project, Inc. | [CC BY 3.0 US](https://creativecommons.org/licenses/by/3.0/us/deed.en) |
+| I2P Logo | static/i2p.svg | I2P Project | [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) |