summaryrefslogtreecommitdiff
path: root/org
diff options
context:
space:
mode:
authorDuncan Wilkie <antigravityd@gmail.com>2023-06-26 10:15:27 -0500
committerDuncan Wilkie <antigravityd@gmail.com>2023-06-26 10:15:27 -0500
commite1b7e1f50709c89b7b6448bd86999a5a562f0e1b (patch)
tree1cfd616033378ab4bcfa6991a3b64cb6ca0e38d0 /org
Start over cleanly
Diffstat (limited to 'org')
-rw-r--r--org/test.org19
1 files changed, 19 insertions, 0 deletions
diff --git a/org/test.org b/org/test.org
new file mode 100644
index 0000000..cc586c5
--- /dev/null
+++ b/org/test.org
@@ -0,0 +1,19 @@
+# -*- after-save-hook: (ox-haunt-export-to-html); -*-
+
+#+TITLE: Building a Site with Haunt
+#+TAGS: Programming, Lisp, Web, Emacs, Org
+#+DATE: <2023-06-23 Fri>
+
+Hello! This is my first post on this website, which I've created over the last several days with the static site generator [[https:dthompson.us/projects/haunt][Haunt]]. It's my first time really delving into Web tech; I think for pedagogical purposes it was a really effective choice: I know Scheme already from reading SICP and my use of Guix, and Haunt is sufficiently minimal, low-level, and little-used that I learn a good bit of HTML syntax and have to style things with CSS. Conversely, it does enough that it'll be really easy to maintain once up-and-running with it, much moreso than writing bare HTML.
+
+* An Overview of Haunt
+
+Haunt, fundamentally, views websites as programs (according to the manual). The actual facts on the ground are a little rockier: the documentation hasn't been updated in a /long/ time, and there are undocumented releases on the git repository with extensive, new convenience featues that seem very basic. The fundamental object is the =site=: a record containing all of the top-level information about the website. Among them are a list of "builder" procedures which synthesize individual pages of the website from input, Scheme code, and external files. The outputs of these builders are "page" objects (something which the command line tells me is deprecated in favor of "serialized-artifacts," which aren't documented anywhere), which are copied into the output directory. There are also "readers," which take as input "posts," blog posts written in a sensible markup format, and output pages representing the posts, alongside corresponding modifications to the site to present a correct aggregation of those posts. Useful, and only in the latest v0.3.0 release, is the =publisher= argument, which takes a description of how to copy all output pages to a remote. The only method currently is rsync, but that's all that's much better than nothing.
+
+The CLI is bare: =haunt build= to produce output pages, =haunt serve= to pop the output on localhost:8080 (with =--watch= to refresh on file changes), and =haunt publish= to run the publisher on what's been =haunt build='ed most recently.
+
+Styling is manual, with CSS, unless you would like to build CSS inline style propagation logic into SHTML and rewrite all the Haunt default logic to use it (good idea!). If you decide to also use Haunt, be sure to
+
+* What I'm Doing With This Site
+
+Succinctly, writing about anything and everything which takes my fancy. Some of it may not be for you; I will likely write a fair bit about libertarian politics and Christianity. But that should be orthogonal to the rest of it. Take what you like, and leave the rest.