emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multipage html output


From: Orm Finnendahl
Subject: Re: multipage html output
Date: Sat, 27 Jul 2024 21:24:50 +0200

Hi,

 html multipage output is fully working now in the org-export
compliant way sketched by Ihor.

There is a small issue with org-export-as from ox.el: On my machine
applying the :filter-final-output functions to the final output
strings delete their :output-file Text Property. Below is a commented
somewhat ugly fix just to show what was necessary to make it
work. Maybe you have a better idea about how to change it.

(let* ((output
        (or (org-export-data (plist-get info :parse-tree) info)
            "")))
  (setq output (ensure-list output))
  ;; we need to capture the :output-file properties as they
  ;; might get erased in the following filter stages.
  (let ((output-files
         (mapcar
          (lambda (o)
            (get-text-property 0 :output-file o))
          output)))
    ;; Call citation export finalizer.
    (when (plist-get info :with-cite-processors)
      (setq output
            (mapcar
             (lambda (o) (org-cite-finalize-export o info))
             output)))
    (let ((filters (plist-get info :filter-final-output)))
      ;; Call final-output filter and return result.
      (setq output
            (mapcar
             (lambda (o) (org-export-filter-apply-functions filters o info))
             output)))
    ;; Apply org-export-info property and add back the
    ;; :output-file property.
    (setq output
          (cl-mapcar
           (lambda (o file) (org-add-props o nil :output-file file 
'org-export-info info))
           output
           output-files))
    (if (length= output 1) (car output) output)))          

I will now review the code and test thoroughly before issuing merge
requests and adding documentation but it looks good :-)

--
Orm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]