diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/org-export-config.el | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/modules/org-export-config.el b/modules/org-export-config.el index 612b80cb..2e921174 100644 --- a/modules/org-export-config.el +++ b/modules/org-export-config.el @@ -144,9 +144,35 @@ (?d "to docx and open" org-pandoc-export-to-docx-and-open) (?z "to pdf and open (Zathura)" my/org-pandoc-export-to-pdf-and-open)))) -;; hugo markdown -;; (use-package ox-hugo -;; :after ox) +;; ---------------------------------- ox-hugo ---------------------------------- +;; Export Org subtrees to Hugo-compatible Markdown. +;; Each Org heading with :EXPORT_FILE_NAME: becomes a separate Hugo post. +;; Source file: ~/projects/website/content-org/log.org + +(use-package ox-hugo + :after ox + :config + (defvar org-capture-templates) + + (defun cj/org-hugo-new-post-capture-template () + "Return a new Hugo post subtree template for org-capture. +Prompts for title, generates slug, and sets export date to today." + (let* ((title (read-from-minibuffer "Post Title: ")) + (fname (org-hugo-slug title))) + (mapconcat #'identity + `(,(concat "* TODO " title) + ":PROPERTIES:" + ,(concat ":EXPORT_FILE_NAME: " fname) + ,(concat ":EXPORT_DATE: " + (format-time-string "%Y-%m-%d")) + ":END:" + "%?\n") + "\n"))) + + (add-to-list 'org-capture-templates + '("h" "Hugo post" entry + (file "~/projects/website/content-org/log.org") + (function cj/org-hugo-new-post-capture-template)))) ;; github flavored markdown ;; (use-package ox-gfm |
