Watch out, I'm gemlogging!

Well, here we are in 2026. I've been struggling with illness for a long time, but I seem to have gotten it figured out now - I still have to spend a lot of time resting, but I've been getting better and I can do at least a little bit of stuff every day. So, here are some things I hope to do (and post about as I do them) this year:

To start with, I wrote the following Python script to make posting convenient for me. I give it a post title and it opens a text editor for writing the post, and then it updates my gemlog Atom feed and index page. It works so far, anyway.

#!/bin/python

from datetime import datetime
import subprocess
import sys

content_path = "/home/freja/docker/agate/content"

if len(sys.argv) < 2:
    quit("Error: missing post title.")

title = " ".join(sys.argv[1:])

date = datetime.today().strftime('%Y%m%d')
uuid = subprocess.run(["uuidgen"], capture_output=True).stdout.decode().strip()
filename = f"{date}-{uuid.split("-")[1]}.gmi"

with open(f"{content_path}/gemlog/{filename}", "w") as file:
    file.write(f"# {title}\n\n")

subprocess.run(["helix", f"{content_path}/gemlog/{filename}"])
answer = input("Update Atom feed and index page? (Y/N)\n")

if answer == "y" or answer == "Y":
    with open(f"{content_path}/gemlog.gmi", "r+") as file:
        gemlog_index_lines = file.readlines()
        gemlog_index_lines.insert(2, f"=> gemlog/{filename} {title}\n")
        file.seek(0)
        file.write("".join(gemlog_index_lines))
        file.truncate()

    subprocess.run(["gemfeed", "-a", "freja", "-b", "frejas.website", "-e", "saltsvan@gmail.com", "-r", "-d", f"gemlog"])
else:
    print("Not updated. File path:")
    print(f"{content_path}/gemlog/{filename}")
Proxy Information
Original URL
gemini://frejas.website/gemlog/20260101-3c15.gmi
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
91.674219 milliseconds
Gemini-to-HTML Time
0.140424 milliseconds

This content has been proxied by September (52eeb).