This package solves the problem by forgetting the ordinary org crappy export and by using temporary Org Choice buffers to export Org buffers.

Required GNU Emacs package: rcd-utilities.el:
https://gnu.support/gnu-emacs/packages/rcd-utilities-el.html

To install this package:

{M-x package-install-file RET rcd-org-export.el RET}

and install it with:

{M-x package-install-file RET rcd-org-export.el RET}

This file rcd-org-export.el will be updated.

Use the main function:

{M-x rcd-org-export RET}

Recommended key binding is to use C-c C-e for the function rcd-org-export. Feel free to mail suggestions and improvements to this package.

You may get the PDF file of this page.

Video Demonstrations

Here up and below on videos one can see how it works to use non-blocking Org buffer as a dashboard for Org export.

Source of rcd-org-export.el

;;; rcd-org-export.el --- RCD Org Export  -*- lexical-binding: t; -*-

;; Copyright (C) 2022 by Jean Louis

;; Author: Jean Louis <bugs@gnu.support>
;; Version: 0.01
;; Package-Requires: (org rcd-utilities)
;; Keywords: convenience
;; URL: https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-org-export-el-use-Org-to-export-Org-76272.html

;; This file is not part of GNU Emacs.

;; This program is free software: you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation, either version 3 of the
;; License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful, but
;; WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.

;;; Commentary:
;;
;; The built-in Org Export function is crap as of 2022-12-19.
;;
;; This package solves the problem by forgetting the org crap export
;; and by using temporary Org buffers to export Org buffers.
;;
;; Required GNU Emacs package: rcd-utilities.el:
;; https://gnu.support/gnu-emacs/packages/rcd-utilities-el.html

;;; Change Log:

;;; Code:

;;; Required Libraries

(require 'rcd-utilities)
(require 'org)

;;; Custom variables

(defcustom rcd-org-export-full-window nil
  "When set RCD Org Export will appear in full window."
  :group 'rcd
  :type 'boolean)

;;; Variables

(defvar rcd-org-export-buffer "*RCD Org Export*"
  "Name of the Org export buffer.")

(defvar rcd-org-export-exported-buffer nil
  "Name of the Org export buffer.")

;; Each of exporting functions will find the buffer to be exported in
;; this variable `rcd-org-export-exported-buffer'
(put 'rcd-org-export-exported-buffer 'permanent-local t)

(defvar rcd-org-export-var-body-only nil
  "Export body only when TRUE.")

(defvar rcd-org-export-var-export-scope nil
  "Export subtree when TRUE.")

(defvar rcd-org-export-var-async-export nil
  "Asynchronous export when TRUE.")

(defvar rcd-org-export-var-visible-only nil
  "Export only visible nodes when TRUE.")

(defvar rcd-org-export-var-force-publishing nil
  "Force publishing when TRUE.")

;;; RCD Org Export functions

(defun rcd-org-export-as-org-buffer (_)
  "Export Org as Org buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-org-export-as-org rcd-org-export-var-async-export
			 rcd-org-export-var-export-scope
			 rcd-org-export-var-visible-only
			 rcd-org-export-var-body-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as Org buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-org-file-and-open (_)
  "Export Org as Org file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-org-export-to-org nil
			  rcd-org-export-var-export-scope
			  rcd-org-export-var-visible-only
			  rcd-org-export-var-body-only))
   (set-buffer rcd-org-export-buffer)
   (rcd-message "Exporting Org buffer `%s' as Org file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-org-file (_)
  "Export Org as Org file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-org-export-to-org rcd-org-export-var-async-export
			  rcd-org-export-var-export-scope
			  rcd-org-export-var-visible-only
			  rcd-org-export-var-body-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as Org file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-html-buffer (_)
  "Export Org as HTML buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-html-export-as-html rcd-org-export-var-async-export
			   rcd-org-export-var-export-scope
			   rcd-org-export-var-visible-only
			   rcd-org-export-var-body-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as HTML buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-html-file-and-open (_)
  "Export Org as HTML file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-html-export-to-html nil
			    rcd-org-export-var-export-scope
			    rcd-org-export-var-visible-only
			    rcd-org-export-var-body-only))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as HTML file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-html-file (_)
  "Export Org as HTML file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-html-export-to-html rcd-org-export-var-async-export
			   rcd-org-export-var-export-scope
			   rcd-org-export-var-visible-only
			   rcd-org-export-var-body-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as HTML file" rcd-org-export-exported-buffer))

(defun rcd-org-export-org-ascii-export-as-utf-8-buffer (_)
  "Export Org as UTF-8 buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-ascii-export-as-ascii rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			     rcd-org-export-var-visible-only
			     rcd-org-export-var-body-only
			     '(:ascii-charset utf-8))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as UTF-8 buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-org-ascii-export-as-utf-8-file (_)
  "Export Org as UTF-8 file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-ascii-export-to-ascii rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			     rcd-org-export-var-visible-only
			     rcd-org-export-var-body-only
			     '(:ascii-charset utf-8))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as UTF-8 file" rcd-org-export-exported-buffer))

(defun rcd-org-export-org-ascii-export-as-utf-8-file-and-open (_)
  "Export Org as UTF-8 file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-ascii-export-to-ascii nil
			      rcd-org-export-var-export-scope
			      rcd-org-export-var-visible-only
			      rcd-org-export-var-body-only
			      '(:ascii-charset utf-8)))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as UTF-8 file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-odt-file (_)
  "Export Org as ODT file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-odt-export-to-odt)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as ODT file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-odt-file-and-open (_)
  "Export Org as ODT file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-odt-export-to-odt nil
			  rcd-org-export-var-export-scope
			  rcd-org-export-var-visible-only)
   'system)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as ODT file and open" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-asciidoc-file (_)
  "Export Org to Asciidoc file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-asciidoc-export-to-asciidoc rcd-org-export-var-async-export
				   rcd-org-export-var-export-scope
				   rcd-org-export-var-visible-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' to Asciidoc file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-asciidoc-file-and-open (_)
  "Export Org to Asciidoc file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-asciidoc-export-to-asciidoc rcd-org-export-var-async-export
				    rcd-org-export-var-export-scope
				    rcd-org-export-var-visible-only))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' to Asciidoc file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-asciidoc-buffer (_)
  "Export Org to Asciidoc buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-asciidoc-export-as-asciidoc rcd-org-export-var-async-export
				   rcd-org-export-var-export-scope
				   rcd-org-export-var-visible-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' to Asciidoc buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-markdown-file (_)
  "Export Org to Markdown file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-md-export-to-markdown rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			     rcd-org-export-var-visible-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' to Markdown file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-markdown-file-and-open (_)
  "Export Org to Markdown file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-md-export-to-markdown nil
			      rcd-org-export-var-export-scope
			      rcd-org-export-var-visible-only))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' to Markdown file and open" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-markdown-buffer (_)
  "Export Org as Markdown buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-md-export-as-markdown rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			      rcd-org-export-var-body-only)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as Markdown buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-ascii-file (_)
  "Export Org as ASCII file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-ascii-export-to-ascii rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			     rcd-org-export-var-visible-only
			     rcd-org-export-var-body-only
			     '(:ascii-charset ascii))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as ASCII file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-ascii-file-and-open (_)
  "Export Org as ASCII file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-ascii-export-to-ascii nil
			      rcd-org-export-var-export-scope
			      rcd-org-export-var-visible-only
			      rcd-org-export-var-body-only
			      '(:ascii-charset ascii)))
   (set-buffer rcd-org-export-buffer)
   (rcd-message "Exporting Org buffer `%s' as ASCII file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-ascii-buffer (_)
  "Export Org as ASCII buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-ascii-export-as-ascii rcd-org-export-var-async-export
			     rcd-org-export-var-export-scope
			     rcd-org-export-var-visible-only
			     rcd-org-export-var-body-only
			     '(:ascii-charset ascii))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as ASCII buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-latex-buffer (_)
  "Export Org as LaTeX buffer."
  (set-buffer rcd-org-export-exported-buffer)
  (org-latex-export-as-latex)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as LaTeX buffer" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-latex-file (_)
  "Export Org as LaTeX file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-latex-export-to-latex)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as LaTeX file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-latex-file-and-open (_)
  "Export Org as LaTeX file and open."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (org-latex-export-to-latex))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as LaTeX file and opening" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-latex-to-pdf (_)
  "Export Org as PDF file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-latex-export-to-pdf)
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as PDF file" rcd-org-export-exported-buffer))

(defun rcd-org-export-as-latex-to-pdf-and-open (_)
  "Export Org as PDF file."
  (set-buffer rcd-org-export-exported-buffer)
  (org-open-file
   (cond (rcd-org-export-var-async-export (org-latex-export-to-pdf rcd-org-export-var-async-export
								   rcd-org-export-var-export-scope
								   rcd-org-export-var-visible-only
								   rcd-org-export-var-body-only))
	 (t (org-latex-export-to-pdf nil
				     rcd-org-export-var-export-scope
				     rcd-org-export-var-visible-only
				     rcd-org-export-var-body-only))))
  (set-buffer rcd-org-export-buffer)
  (rcd-message "Exporting Org buffer `%s' as PDF file and opening" rcd-org-export-exported-buffer))

;;; RCD Org Choice Mode

(define-derived-mode rcd-org-choice-mode org-mode
  "RCD Org Choice Mode" "Use Org mode as menu for Org mode.")

(keymap-set rcd-org-choice-mode-map "q" #'rcd-org-export-quit-window)
(keymap-set rcd-org-choice-mode-map "Q" #'rcd-org-export-kill-buffer)
(keymap-set rcd-org-choice-mode-map "C-c C-c" #'rcd-org-export--toggle-symbol)

;;; Using Org check items to toggle variables

(defun rcd-org-export--read-symbol-name ()
  "Return the RCD Org Export symbol name if any in the current line."
  (save-excursion
    (let ((my-line (line-number-at-pos (point)))
	  (my-prop))
      (goto-char (line-beginning-position))
      (when (and (setq my-prop (text-property-search-forward 'symbol))
		 (= (line-number-at-pos (point)) my-line))
	(prop-match-value my-prop)))))

(defun rcd-org-export--toggle-symbol ()
  "Toggle symbol in the current line."
  (interactive)
  (let ((symbol (rcd-org-export--read-symbol-name)))
    (rcd-check "[ ]" "[X]")
    (rcd-variable-toggle-global symbol)))

(defun rcd-button-toggle-org-check-item (check-item symbol key &optional tip)
  "Toggle SYMBOL value as Org CHECK-ITEM.

Variables are toggled to be TRUE or FALSE.
Variable is expected to be global to function for it to work."
  (when (boundp symbol)
    (let* ((my-line (line-number-at-pos (point)))
	   (function (lambda (&rest _)
		       (interactive)
		       (rcd-variable-toggle-global symbol)
		       (save-excursion
			 (read-only-mode 0)
			 (goto-char (point-min))
			 (forward-line (1- my-line))
			 (rcd-check "[ ]" "[X]")
			 (read-only-mode 1))
		       (message "Symbol value of `%s' is: `%s'" symbol (symbol-value symbol)))))
      (keymap-set rcd-org-choice-mode-map key function)
      (insert (cond ((symbol-value symbol) "- [X] ")
		    (t "- [ ] ")))
      (rcd-button-insert check-item
			 (lambda (_)
			   (interactive)
			   (rcd-variable-toggle-global symbol)
			   (read-only-mode 0)
			   (rcd-check "[ ]" "[X]")
			   (read-only-mode 1)
			   (message "Symbol value of `%s' is: `%s'" symbol (symbol-value symbol)))
			 nil "symbol" symbol)
      (when tip (insert " " tip)))))

;;; RCD Org Export functions

(defun rcd-org-export-pop-to-buffer (exported-buffer)
  "Pop up RCD Org Export buffer using ORG-BUFFER.

Name of buffer is defined in variable `rcd-org-export-buffer'."
  (let ((buffer (get-buffer-create rcd-org-export-buffer)))
    (set-buffer buffer)
    (rcd-org-choice-mode)
    (read-only-mode 0)
    (setq rcd-org-export-exported-buffer exported-buffer)
    (erase-buffer)
    (cond (rcd-org-export-full-window
	   (switch-to-buffer buffer)
	   (delete-other-windows))
	  (t (pop-to-buffer buffer)))))

(defun rcd-org-export-header (buffer)
  "Insert RCD Org Export header with BUFFER."
  (insert "\n* RCD Org Export for buffer: " (buffer-name buffer) "\n"))

(defun rcd-org-export-options ()
  "Insert RCD Org Export options."
  (insert "\n** Export Options\n\n")
  (rcd-button-toggle-org-check-item "Export body only" 'rcd-org-export-var-body-only "b" "- [b]")
  (insert "\n")
  (rcd-button-toggle-org-check-item "Export only current subtree" 'rcd-org-export-var-export-scope "s" "- [s]")
  (insert "\n")
  (rcd-button-toggle-org-check-item "Export asynchronously" 'rcd-org-export-var-async-export "a" "- [a]")
  (insert "\n")
  (rcd-button-toggle-org-check-item "Export visible only" 'rcd-org-export-var-visible-only "v" "- [v]")
  (insert "\n")
  (rcd-button-toggle-org-check-item "Force publishing" 'rcd-org-export-var-force-publishing "f" "- [f]")
  (insert "\n"))

(defun rcd-org-export-as-org ()
  "RCD Org Export handling Org exports."
  (insert "\n** Export to Org\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as Org buffer" #'rcd-org-export-as-org-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as Org file and open" #'rcd-org-export-as-org-file-and-open)
  (insert "\n*** ")
  (rcd-button-insert "Export as Org file" #'rcd-org-export-as-org-file)
  (insert "\n"))

(defun rcd-org-export-as-html ()
  "RCD Org Export handling HTML exports."
  (insert "\n** Export to HTML\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as HTML buffer" #'rcd-org-export-as-html-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as HTML file and open" #'rcd-org-export-as-html-file-and-open)
  (insert "\n*** ")
  (rcd-button-insert "Export as HTML file" #'rcd-org-export-as-html-file)
  (insert "\n"))

(defun rcd-org-export-as-latex ()
  "RCD Org Export handling LaTeX exports."
  (insert "\n** Export to LaTeX\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as LaTeX buffer" #'rcd-org-export-as-latex-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as LaTeX file" #'rcd-org-export-as-latex-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as LaTeX file and open" #'rcd-org-export-as-latex-file-and-open)
  (insert "\n*** ")
  (rcd-button-insert "Export as PDF file" #'rcd-org-export-as-latex-to-pdf)
  (insert "\n*** ")
  (rcd-button-insert "Export as PDF file and open" #'rcd-org-export-as-latex-to-pdf-and-open)
  (insert "\n"))

(defun rcd-org-export-as-markdown ()
  "RCD Org Export handling Markdown exports."
  (insert "\n** Export to Markdown\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as Markdown buffer" #'rcd-org-export-as-markdown-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as Markdown file" #'rcd-org-export-as-markdown-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as Markdown file and open" #'rcd-org-export-as-markdown-file-and-open)
  (insert "\n"))

(defun rcd-org-export-as-asciidoc ()
  "RCD Org Export handling Asciidoc exports."
  (insert "\n** Export to Asciidoc\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as Asciidoc buffer" #'rcd-org-export-as-asciidoc-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as Asciidoc file" #'rcd-org-export-as-asciidoc-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as Asciidoc file and open" #'rcd-org-export-as-asciidoc-file-and-open)
  (insert "\n"))

(defun rcd-org-export-as-odt ()
  "RCD Org Export handling OpenDocument Document Text exports."
  (insert "\n** Export to OpenDocument Text Document (ODT)\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as ODT file" #'rcd-org-export-as-odt-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as ODT file and open" #'rcd-org-export-as-odt-file-and-open)
  (insert "\n"))

(defun rcd-org-export-as-text ()
  "RCD Org Export handling text exports."
  (insert "\n** Export to text\n\n")
  (insert "*** ")
  (rcd-button-insert "Export as UTF-8 buffer" #'rcd-org-export-org-ascii-export-as-utf-8-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as UTF-8 file" #'rcd-org-export-org-ascii-export-as-utf-8-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as UTF-8 file and open" #'rcd-org-export-org-ascii-export-as-utf-8-file-and-open)
  (insert "\n*** ")
  (rcd-button-insert "Export as ASCII buffer" #'rcd-org-export-as-ascii-buffer)
  (insert "\n*** ")
  (rcd-button-insert "Export as ASCII file" #'rcd-org-export-as-ascii-file)
  (insert "\n*** ")
  (rcd-button-insert "Export as ASCII file and open" #'rcd-org-export-as-ascii-file-and-open)
  (insert "\n"))

(defun rcd-org-export-final ()
  "Insert final footer for RCD Org Export."
  (insert "\n** Help\n\n")
  (rcd-button-insert "[q] to quit" #'rcd-org-export-quit-window)
  (insert " or ")
  (rcd-button-insert "[mail suggestions]"
		     (lambda (_)
		       (rcd-write-email (or user-full-name user-login-name user-real-login-name (rcd-ask-get "Your name: "))
					(or user-mail-address (rcd-ask-get "Your e-maila address: "))
					"Jean Louis"
					"bugs@gnu.support" nil
					(rcd-ask-get "Suggest feature: "))))
  (insert " or [[mailto:bugs@gnu.support][Send e-mail]]\n\n")
  (goto-char (point-min))
  (forward-line 2)
  (read-only-mode 1))

(defun rcd-org-export-quit-window (&optional _)
  "Quit window, and switch to original Org buffer."
  (interactive)
  (quit-window)
  (switch-to-buffer rcd-org-export-exported-buffer))

(defun rcd-org-export-kill-buffer (&optional _)
  "Kill buffer, and switch to original Org buffer."
  (interactive)
  (kill-current-buffer)
  (switch-to-buffer rcd-org-export-exported-buffer))

;;; RCD Org Export

;;;###autoload
(defun rcd-org-export ()
  "Export Org by using Org."
  (interactive)
  (cond ((eq major-mode 'org-mode)
	 (let ((buffer (current-buffer)))
	   (rcd-org-export-pop-to-buffer buffer)
	   (rcd-org-export-header buffer)
	   (rcd-org-export-options)
	   (rcd-org-export-as-org)
	   (rcd-org-export-as-html)
	   (rcd-org-export-as-latex)
	   (rcd-org-export-as-text)
	   (rcd-org-export-as-asciidoc)
	   (rcd-org-export-as-markdown)
	   (rcd-org-export-as-odt)
	   (rcd-org-export-final)))
	 (t (rcd-warning-message "Cannot export when not in `org-mode'"))))

(provide 'rcd-org-export)

;;; rcd-org-export.el ends here

Source of this page

It may be interesting to see how source of this page looks like.

:source-highlighter: rouge
:icons: font

This package solves the problem by forgetting the ordinary org
[.line-through]##crappy## export and by using temporary Org Choice
buffers to export Org buffers.

You may find
https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-org-export-el-use-Org-to-export-Org-76272.html[rcd-org-export.el]
on
https://gnu.support/gnu-emacs/packages/GNU-Emacs-package-rcd-org-export-el-use-Org-to-export-Org-76272.html

Required GNU Emacs package: rcd-utilities.el: +
https://gnu.support/gnu-emacs/packages/rcd-utilities-el.html

To install this package:

```
{M-x package-install-file RET rcd-org-export.el RET}
```

or download the file from: https://gnu.support/files/emacs/packages/rcd-org-export.el

and install it with:

```
{M-x package-install-file RET rcd-org-export.el RET}
```

This file `rcd-org-export.el` will be updated.

Use the main function:
```
{M-x rcd-org-export RET}
```

Recommended key binding is to use `C-c C-e` for the function
`rcd-org-export`. Feel free to mail suggestions and improvements to
this package.

NOTE: You may get the https://gnu.support/files/emacs/packages/rcd-org-export/GNU-Emacs-package-rcd-org-export-el-use-Org-to-export-Org-76272.pdf[PDF file of this page].

== Video Demonstrations

video::https://gnu.support/files/emacs/packages/rcd-org-export/2022-12-19-23:36:10.ogv[width=640]

Here up and below on videos one can see how it works to use
non-blocking Org buffer as a dashboard for Org export.

video::https://gnu.support/files/emacs/packages/rcd-org-export/2022-12-20-19:33:59.ogv[width=640]


== Source of rcd-org-export.el

```lisp
⟦ (file-to-string "/home/admin/Programming/emacs-lisp/rcd-org-export.el") ⟧
```

== Source of this page

It may be interesting to see how source of this page looks like.

 ----
⟦ (string-replace "\n----" "\n ----" (hyperscope-text 76272)) ⟧
 ----
  • GNU Emacs package: rcd-utilities.el ⎯ The GNU Emacs package rcd-utilities.el contains basic Emacs Lisp utilities used by other packages that we are publishing here @ GNU.Support