Org-download and ox-hugo
One drawback of using a static blogging tool is the relative difficulty of dealing with images. Images must be copied to the proper folder and then links need to be added manually. I’ve created a few ways to make this easier this using TextExpander, but today I discovered org-download.
This extension facilitates moving images from point A to point B.
I’m using this with ox-hugo and it works very well. I first added the following to my Emacs config…
(use-package org-download
:ensure t
:init
(setq org-download-timestamp "-%Y-%m-%d"))
Then, at the top of my blog file (all-posts.org), I set the following buffer-specific variable…
-*- mode: Org; org-download-image-dir: "~/microblog/static/img"; -*-
Now, to add an image to a post, I just drag it from the finder into Emacs and the image is copied to my images folder (microblog/static/image
) and a link is inserted into the buffer with the proper path, etc. The image is even shown inline by default so I can see what I’m dealing with. What a treat!
The post looks like this after dragging an image from the Finder…
* Posts
** 2019
*** My New Post with an image
#+DOWNLOADED: file:/Users/jbaty/Desktop/test.png @ 2019-07-02 16:44:58
[[file:../static/img/Posts/test-2019-07-02.png]]
The date stamp can be appended during the copy and is configured with org-download-timestamp
.
It’s pretty slick, and takes most of the hassle out of adding images to blog posts when using Hugo/ox-hugo.