diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-13 23:29:21 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-13 23:29:21 -0600 |
| commit | 468b5340f5c304d8e86226ce2055a7dcb18516f3 (patch) | |
| tree | bd11386176f150b853fff4fe74dbcbe4c6ed3ad9 | |
| parent | 7ec0ddc5d99488047db92de2dd82e3cd05914152 (diff) | |
| download | dotemacs-468b5340f5c304d8e86226ce2055a7dcb18516f3.tar.gz dotemacs-468b5340f5c304d8e86226ce2055a7dcb18516f3.zip | |
feat(export): add ox-hugo config with capture template
Enable ox-hugo for Hugo blog workflow. Adds C-c c h capture template
for quick post creation with auto-generated slug and date.
| -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 612b80cb0..2e9211744 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 |
