I packageized lmno-export, which just lets you work on your lmno blog in org-mode then export it to clean Markdown. Mainly I wanted “real” org-capture instead of my hacky alternative, and I like being able to reuse my org-mode notes as-is instead of extracting and converting them.

  • Write your blog in a monolithic org-mode file (set in Customize).
  • Export it with lmno-org-export-blog .
  • It opens the target file (set in Customize).
  • If you’re a Mac person, drag the proxy icon into the lmno.lol uploader.

Here’s the org-capture template, which reuses the source file variable:

(add-to-list 'org-capture-templates
  '("l"
    "LMNO blog post"
    entry
    (file lmno-org-input-file)
    "* [%<%Y-%m-%d>] %?\n\n"
    :prepend t))

Under the hood, it has to do some footwork: org-export wants to wrap anything that looks like an org-mode date stamp with spans, and there is no configurable option for that. Likewise, it applies anchor id’s to every heading.

I am not sure what was going on with image attributes in all that, either, but they weren’t surviving the export with alt tags in place, so I found this custom link format in a Stack Overflow answer that somehow sidestepped the issue:

(org-add-link-type
 "img" nil
 (lambda (path desc backend)
   (when (org-export-derived-backend-p backend 'md)
     (format "![%s](%s)" desc path))))