summaryrefslogtreecommitdiffstats
path: root/content/posts/deploying-the-garden.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/deploying-the-garden.md')
-rw-r--r--content/posts/deploying-the-garden.md38
1 files changed, 38 insertions, 0 deletions
diff --git a/content/posts/deploying-the-garden.md b/content/posts/deploying-the-garden.md
new file mode 100644
index 0000000..ef3821d
--- /dev/null
+++ b/content/posts/deploying-the-garden.md
@@ -0,0 +1,38 @@
+---
+title: Deploying the garden
+date: 2024-03-26
+extra:
+ kind: note
+---
+
+Every respectable tech blog must contain two posts:
+
+- ”This site now has RSS”
+- ”This is how this site is deployed”
+
+Other content is optional.
+
+## Writing on the go
+
+Content updates go like this:
+
+1. I write Markdown in a special directory in my Obsidian Vault
+2. The change is synced to my Digital Ocean server via Obsidian Sync (I run an Obsidian process on my server)
+3. A file system monitor script picks it up and runs a build script
+4. Built HTML files are served with Nginx
+
+This process gives me full control over the content wherever I have access to Obsidian. Making writing as easy as possible is the principle behind this design.
+
+[This is considered a good idea in the frog community.](https://www.todepond.com/wikiblogarden/art/never-stop-writing/on-your-phone)
+
+Making changes to the build process itself, or the HTML template, requires a computer, however.
+
+## Parentheses
+
+Most of the heavy lifting is done by `pandoc`. The glue parts use an obscure and ancient language with many curved sigils. Give it a try.
+
+![A GitHub repository language breakdown showing that most of the code is written in Scheme.](/files/repo_langs.png)
+
+## Hosting
+
+My small Digital Ocean server also moonlights as a container image registry. I build the scripts into an OCI image, push it on the server and run it with `docker-compose`. Don’t over-engineer when you want things _done_.