summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-13 23:29:21 -0600
committerCraig Jennings <c@cjennings.net>2026-02-13 23:29:21 -0600
commit48a2d4cc31b2825b39d5efdf619189c23c55a659 (patch)
tree091ac46f2bc8a28c66365432d84eab629567b2d0 /modules
parent6814d0bbb3b874bbe0c2b63e242d6b8145df0a39 (diff)
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.
Diffstat (limited to 'modules')
-rw-r--r--modules/org-export-config.el32
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