org with hugo
개요#
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: 속성을 지정해야 하는데 좀 번거롭기는 하다.
시행착오#
.dir-local.el#
디렉토리별로 .dir-local.el 파일을 작성하면 상위 디렉토리에서 설정한 값이 하위 디렉토리에 유지되지 않는다. 아직도 오버라이딩 되는 규칙에 확신이 없음.
author#
문서에 #+author 를 명시하지 않은 경우 user-full-name 변수값을 author 설정한다. 그런데 .dir-local.el 에서 user-full-name 를 설정해도 반영되지 않는다. 그냥 문서에 명시하는 것으로 해결한다. 왜 안되는 것일까?
도구#
참고#
이후#
- 이미지 삽입하기, Using Org Mode With Hugo 문서 참조해 보기
- denote 문서간 링크가 잘 되는지 확인
- org 파일 만들 때 file keyword 자동 설정하기, draft 등의 기본값 설정