Convert a folder of org files to markdown


I wanted to see how my org-roam files look like in Obsidian's graph view. Commence massive yak shave to recursively convert a folder of org files to markdown. Result below, pretty much a copy paste from here: Bulk Org-Mode to Github Flavored Markdown. (I didn't bother with github flavoured markdown though).

In the process I discovered that pandoc doesn't convert extensions of cross-file links, which was massively annoying.

(require 'org)

(defun dired-org-to-markdown ()
    (let ((files
                                 (let ((default-directory "."))
                                               (mapcar #'expand-file-name
                                                                           (file-expand-wildcards "**/*.org")))
                                           (let ((default-directory "."))
                                                         (mapcar #'expand-file-name
                                                                                     (file-expand-wildcards "*.org")))
                 (lambda (f)
                                       (find-file-noselect f)


Pop the above in a file called something like export.el, then run it with:

emacs --batch --load=export.el

1. Ninja

2. Converting links to wikilink syntax

I'd like to do this so I could export to a repo that could be picked up by Agora.

I haven't done it, but it would probably be done by using a filter on the Markdown org-export backend:

(defun commonplace/md-link-to-wikilink (text backend info)
  (when (org-export-derived-backend-p backend 'md)
    (replace-regexp-in-string "..." "..." text)))

(add-to-list 'org-export-filter-link-functions

3. Elsewhere

3.1. In my garden

Notes that link to this note (AKA backlinks).

3.3. Mentions

This page last updated: 2021-11-27 Sat 12:32. Map. Recent changes. Source. Peer Production License.