From e5c025158ef6e383aa892ef88e63a2a32de3d7fb Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Tue, 18 Oct 2022 12:08:21 -0500 Subject: Add a bunch of other stuff or whatever --- lisp/+ox.el | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 lisp/+ox.el (limited to 'lisp/+ox.el') diff --git a/lisp/+ox.el b/lisp/+ox.el new file mode 100644 index 0000000..8748a55 --- /dev/null +++ b/lisp/+ox.el @@ -0,0 +1,29 @@ +;;; +ox.el --- org-export helpers -*- lexical-binding: t; -*- + +;;; Commentary: + +;;; Code: + +(require 'ox) + +;;; Run hooks before doing any exporting at all + +(defcustom +org-export-pre-hook nil + "Functions to run /before/ `org-export-as' does anything. +These will run on the buffer about to be exported, NOT a copy." + :type 'hook) + +(defun +org-export-pre-run-hooks (&rest _) + "Run hooks in `+org-export-pre-hook'." + (run-hooks '+org-export-pre-hook)) + +(defun +org-export-pre-hooks-insinuate () + "Advise `org-export-as' to run `+org-export-pre-hook'." + (advice-add 'org-export-as :before #'+org-export-pre-run-hooks)) + +(defun +org-export-pre-hooks-remove () + "Remove pre-hook advice on `org-export-as'." + (advice-remove 'org-export-as #'+org-export-pre-run-hooks)) + +(provide '+ox) +;;; +ox.el ends here -- cgit 1.4.1-21-gabe81