Matt,

This seems like a good use case for a `derived-backend'.

You can use  `org-export-define-derived-backend' with 'hugo as the parent, 
define a :menu-entry to add an export action for your custom export to the hugo 
menu using '?m' (say) as the key.

Then 

        C-c C-e H m

will export using your custom variant of hugo.


HTH,

Chuck


> On Aug 2, 2019, at 9:10 AM, Matt Price <mopto...@gmail.com> wrote:
> 
> I'm trying to streamline some veyr ad-hoc workflows I have. One thing I do a 
> lot during the school year is make some changes to an org source file, and 
> then export to hugo markdown with ox-hugo, and finally commit to git (after 
> that I have a git hook that generates the website & uploads the changed pages 
> to the appropriate location, usually a github-pages branch or separate repo). 
> 
> So I have this code:
> 
> (defun mwp-hugo-export-and-release ()
>   "Make it faster and easier to put my lectures up on the website."
>   (interactive)
>   
>   (let* ((modfile (org-hugo-export-wim-to-md))
>          (basedir (plist-get  (org-export-get-environment 'hugo) 
> ':hugo-base-dir ))
>          (default-directory (expand-file-name basedir)))
>     (magit-stage-file modfile)
>     ;; (magit-status)
>     (magit-commit-create)
>     )  )
> 
> It works great, I'm very happy. HOWEVER: in my websites I have two kinds of 
> outputs: 
> 
> - regular pages -- these get exported to .md files and turned into html by 
> hugo
> - lecture notes -- these get exported to reveal.js HTML pages by 
> org-re-reveal and my hugo theme treats them differently .
> 
> I would really like to set a switch somewhere in the file, something like:
> 
> #+MWP_EXPORT_TYPE: slides
> 
> And then something like 
> 
> let* ((modfile (if (eq :mwp-export-type "slides") 
> (mwp-hugo-reveal-custom-export-function)
>                                (org-hugo-export-wim-to-md)))
>      ....etc)
>             do stuff)
> 
> 
> But I'm not sure how to get access to a totally non-standard option like the 
> kind I just invented in that last bit of pseudo-code. Anyone have a good 
> suggestion?
> 
> Thank you as always!
> 
> Matt



Reply via email to