commit: 9ad1e2555ee67d4cd7dfc538f09f37b1eecc5566
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 22 13:48:26 2023 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 06:51:06 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ad1e255
eclass/elisp-common.eclass: add elisp-org-export-to
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/elisp-common.eclass | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/eclass/elisp-common.eclass b/eclass/elisp-common.eclass
index 03e47d931f44..ef24622d405e 100644
--- a/eclass/elisp-common.eclass
+++ b/eclass/elisp-common.eclass
@@ -348,6 +348,39 @@ elisp-make-autoload-file() {
eend $? "elisp-make-autoload-file: batch-update-autoloads failed" || die
}
+# @FUNCTION: elisp-org-export-to
+# @USAGE: <export file type> <Org file path>
+# @DESCRIPTION:
+# Use Emacs Org "export-to" functions to convert a given Org file to a picked
+# format.
+#
+# Example:
+# @CODE
+# elisp-org-export-to texinfo README.org
+# mv README.texi ${PN}.texi || die
+# @CODE
+
+elisp-org-export-to() {
+ local export_format="${1}"
+ local org_file_path="${2}"
+
+ local export_group
+ case ${export_format} in
+ info) export_group=texinfo ;; # Straight to ".info".
+ markdown) export_group=md ;;
+ pdf) export_group=latex ;;
+ *) export_group=${export_format} ;;
+ esac
+
+ # export_format = texinfo => org-texinfo-export-to-texinfo
+ # export_format = pdf => org-latex-export-to-pdf
+
+ local export_function=org-${export_group}-export-to-${export_format}
+
+ ${EMACS} ${EMACSFLAGS} "${org_file_path}" -f "${export_function}" \
+ || die "Org export to ${export_format} failed"
+}
+
# @FUNCTION: elisp-test-buttercup
# @USAGE: [test-subdirectory] [test-runner-opts] ...
# @DESCRIPTION: