개요

org 문서를 hugo md 파일로 export 하기

설정

org-directory 에 아래 내용으로 .dir-local.el 파일을 작성한다.

(("denote/"
  . ((org-mode
      . ((org-hugo-base-dir . "~/box/suguni.github.io/")
         (org-hugo-section . "notes")))))

 ("denote/blog/"
  . ((org-mode
      . ((org-hugo-section . "posts")
         (eval . (org-hugo-auto-export-mode)))))))

디렉토리는 ~/notes/denote/posts 로 구성되어 있고, org-directory~/notes/ 이다.

blog 파일은 저장할 때마다 자동으로 export 되며, denote 파일은 수동 export 또는 emacs local variable (ox-hugo) 을 이용해 자동 export 한다.

이슈

export 파일명

denote는 파일명에 규칙이 있는데 문서의 내용(제목과 태그)에 영향을 받는다. 따라서 문서 내용이 변경되면 파일명이 변경될 수 있다. 문제는 파일 이름이 변경되면 기존에 export 된 md 파일은 그대로 남고 새로운 md 파일로 export 되어, hugo 입장에서는 동일한 제목의 문서가 두 벌 생기게 된다. 이를 방지하려면 #+export_file_name: 속성을 지정해야 하는데 좀 번거롭기는 하다.