I’ve been using Emacs off and on for years. What made me crawl back to it this time was org-roam which implements a Zettelkasten personal knowledge system in org-mode. After using this for a bit and really enjoying it, I thought I’d explore using org-mode itself for more of my writing and note taking needs.

One of the results of this is this site. Right now I’m typing in a full-screen zen-mode buffer holding my site’s .org file. It’s very ergonomic and by narrowing my view to just this post: entirely distraction free. Once I’m finished and I save this file, ox-hugo is going to convert this org mode file into markdown files for hugo to use to generate the whole site.

And when I’m ready to publish, I’ve written a small Emacs lisp function that runs the hugo build and then deploys it via WebDAV using rclone to upload it where it needs to be:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  (defun +lh/publish-site ()
    "Publishes personal site with rclone."
    (interactive)
    (let ((default-directory (concat org-directory "site/publish")))
      (shell-command "hugo"))
    (shell-command
     (concat
      "rclone sync "
      org-directory
      "site/publish/public dav:/les.lesharris.com/files/site"
      "--exclude '.DS_Store'")))

I am pretty happy with this so far and really appreciate the simplicity of the whole setup. I enjoy writing in Emacs using org-mode and this lets me stay in my preferred writing environment. Here is to hoping it encourages me to write more on this blog!