On Fri, Dec 8, 2017, 2:29 PM Matt Price wrote: > Hi everyone, > Feeling a little rude after a long absence in which I dropped all my > non-work commitments -- but still here to ask a question! > Hello! I'm setting up a new workflow using Kauhsal's ox-hugo. I keep all my > course materials in a few org files & publish to hugo-flavoured markdown. > Awesome! :D My source materials live in one git repo, and my website in another. > After exporting any of my my courses to the local hugo directory, I'd like > to run a shell script that I'll keep in my org-files directory. > > That script > - cds to the website repo directory, commits changes to the website master > branch, - runs hugo, > - switches to the "public" directory of compiled html pages, which has a > worktree checked out to the gh-pages branch, > - commits changes there as well, and then > - pushes both branches to github. > > The script seems to work OK, and now I would like to run it every time I > export from the appropriate projects. Is there a good way for me to do > this? I guess a hook that only runs under certain conditions? > > If I can get this to work, and then also auto export every time I commit > the org-files to master (maybe with a post-commit git hook of ~emacsclient > -e '(org-publish-project "course1"~ ?), then I will maybe be almost happy! > I haven't yet got to ox-publish to work with ox-hugo, because of the unique flow for subtree-based exports where we want to export only subtrees with a specific property (EXPORT_FILE_NAME). But I was finally able to achieve something like that using a Makefile [1] + Netlify (or GitHub Pages/Travis CI or GitLab CI). A very recent example (few days) is how I helped set up the use-package website publishing flow. - ox-hugo + Hugo using Makefile + GitHub Pages. You *only* need to commit the use-package.org[2] to the GitHub repo, and https://jwiegley.github.io/use-package/ updates in a minute or so. The Travis CI simply calls "make doc". That takes care of: - Installing dependencies if needed on the CI machine - Exporting Org to Markdown using ox-hugo - Running hugo - Commiting published HTML to the gh-pages branch - And the site gets deployed, just like that :) PS: I publish the ox-hugo package website[3] the same way too, but using Netlify (/which is the better than GitHub Pages or Gitlab CI IMO -- free too/). See the footer of that site for the 1-file Org source. [1]: https://github.com/jwiegley/use-package/blob/master/doc/Makefile [2]: https://github.com/jwiegley/use-package/blob/master/use-package.org [3]: https://ox-hugo.scripter.co/ -- Kaushal Modi