ox-hugo (github link) is a fantastic package that can help transform
org-mode notes into HUGO blog posts.
The installation is very easy if you use vanilla Emacs (i.e. just use MELPA).
However, on the current develop branch of Spacemacs,
I encountered the problem of dependency mismatch where
As a result, on starting Spacemacs it will try to delete
org package and the reinstall
org after it tries to load
After some digging, I believe I have a workaround.
ox-hugoto local directory
use-packgecommand to load the package
The following is my current configuration added in Spacemacs to load
(use-package ox-hugo :load-path "~/LOCAL_PATH" :after (org) :config (setq org-hugo-default-section-directory "posts") (defun org-hugo-new-subtree-post-capture-template () "Returns `org-capture' template string for new Hugo post. See `org-capture-templates' for more information." (let* ((title (read-from-minibuffer "Post Title: ")) ;Prompt to enter the post title (fname (org-hugo-slug title))) (mapconcat #'identity `( ,(concat "* TODO " title) ":PROPERTIES:" ,(concat ":EXPORT_FILE_NAME: " fname) ":END:" "%?\n") ;Place the cursor here finally "\n"))) (add-to-list 'org-capture-templates '("h" ;`org-capture' binding + h "Hugo post" entry ;; It is assumed that below file is present in `org-directory' ;; and that it has a "Blog Ideas" heading. It can even be a ;; symlink pointing to the actual location of all-posts.org! (file+olp "personal/blog.org" "Blog Ideas") (function org-hugo-new-subtree-post-capture-template))) )
:load-path sets the local path it should load from.
:after (org) allows the
ox-hugo only be loaded after
org is loaded.