cuspymd

To tracks an individual's memory and history

View on GitHub
6 February 2022

Blogging with org mode and jekyll

Org mode 테스트. Jekyll 에서 기본 지원하는 markdown 파일 대신, Org mode 파일로 블로그 내용을 작성하고 Org mode 의 export html 기능을 이용하여 html 파일을 블로깅한다.

요약

  • Jekyll 은 기본적으로 org 파일을 지원하지 않음
  • Org mode 의 export 기능을 이용하여 org 파일을 html 로 변환
  • Jekyll 은 front matter 가 포함된 html 파일은 처리 가능

Org mode 의 export html 을 위한 설정

(setq org-publish-project-alist
      '(
        ("blog-posts"
         :base-directory "~/work/cuspymd.github.io/org/"
         :base-extension "org"
         :publishing-directory "~/work/cuspymd.github.io/docs/_posts"
         :recursive t
         :publishing-function org-html-publish-to-html
         :headline-levels 4
         :html-extension "html"
         :body-only t ;; Only export section between <body> </body>
         )
        ("blog-assets"
         :base-directory "~/work/cuspymd.github.io/org/"
         :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|php"
         :publishing-directory "~/work/cuspymd.github.io/docs/assets"
         :recursive t
         :publishing-function org-publish-attachment)

        ("blog" :components ("blog-posts" "blog-assets"))
        ))

위키 사이트에는 org-html-publish-to-htmlorg-publish-org-to-html 로 표현되어 있어 주의해야 한다. org-publish-org-to-html 로 실행시 에러가 발생한다.

그외 필요한 설정

'(org-export-with-section-numbers nil)
'(org-export-with-toc nil)

html export 시 "Table Of Contents" 가 기본 생성된다. front matter 가 반드시 html 첫번째 줄에 위치해야 jekyll 에서 제대로 인식하는데 "Table Of Contents" 가 이를 방해하므로, 이를 해제하는 설정을 추가한다.

tags: emacs - jekyll - org-mode - blog