From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: from mp1.migadu.com ([2001:41d0:403:4876::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by ms13.migadu.com with LMTPS
id eGddNnsDsWYSIQAA62LTzQ:P1
(envelope-from )
for ; Mon, 05 Aug 2024 16:53:16 +0000
Received: from aspmx1.migadu.com ([2001:41d0:403:4876::])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
by mp1.migadu.com with LMTPS
id eGddNnsDsWYSIQAA62LTzQ
(envelope-from )
for ; Mon, 05 Aug 2024 18:53:15 +0200
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
dkim=none;
spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org";
dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=hfmdk-frankfurt.de (policy=none)
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
s=key1; t=1722876795;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc:mime-version:mime-version:
content-type:content-type:in-reply-to:in-reply-to:
references:references:list-id:list-help:list-unsubscribe:
list-subscribe:list-post; bh=xApbeSlr6bxQhW3uSFDRYWBgB9bHuHrri13HUpG6aFM=;
b=qnHVhp2kdEQTCnjVpcyEnkICSg/VBAxKgm+MpP6BJ0Uec7tSD+bTwyj1/TJmAk8Xdg77S5
UncumW7F+Ip3r6DrwQ1Q0C/ZEnpZckas+AySrXGonWcEWRBBvqAqnuTMK2OvICQ3MWHrzc
+l5yV6/Cj08WWEubsXp/VnrczyDMrwhbA5a1Qa8NRVFWNrUXUFN9uY9pxeTjwAHkBiOKDD
Peex7Y7bc/3D+ONIWuvY03QElXzHu35uiMmxOBhVFP7AYvqaWQ63HfgLOnGLZ3qx/N2vWa
WrGcJbNbNjRvSupnnoCC1w0QYiNL4UU6YppZpr3UJ9wYId268VAJDoSnDvA/Ig==
ARC-Authentication-Results: i=1;
aspmx1.migadu.com;
dkim=none;
spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org";
dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=hfmdk-frankfurt.de (policy=none)
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1722876795; a=rsa-sha256; cv=none;
b=S6JqlTFxD6itpga881hovR3LqgzpeJuddOP4BrzKRu7vUACJg3J3HAiGhuJzSfMZepk6kN
27sxWyELlZ0IoL0Vsgzr7y9H1XzSpphCFTIOeti2hP7pET5Nwvt8UJjdi6FDnuHSpp7kzu
cZeZgzg91Lgh7RbeuggBbwgIUiCoZN3M67aJ6J7j6O7jMyizU4AK/61s21ay+n5s5m2YMG
DvzSQTFt4A0DCqsWDJNvgaUY1onDuUxc55prxiNhbr1EuWsx1nhjSMqNyLaUWEGk1qX0hS
issdpyPnjvFdj2VGPpux94NN3XWYe/VntkDwDKuXZELJfSWIO5Uh1InVfhCVbQ==
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by aspmx1.migadu.com (Postfix) with ESMTPS id 434A799ED
for ; Mon, 5 Aug 2024 18:53:15 +0200 (CEST)
Received: from localhost ([::1] helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1sb0wW-00056g-1Y; Mon, 05 Aug 2024 12:52:20 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1)
(envelope-from )
id 1sb0wT-00056I-Nn
for emacs-orgmode@gnu.org; Mon, 05 Aug 2024 12:52:17 -0400
Received: from www.selma.hfmdk-frankfurt.de ([46.4.92.145]
helo=mail.selma.hfmdk-frankfurt.de)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1)
(envelope-from )
id 1sb0wL-0004r0-4m
for emacs-orgmode@gnu.org; Mon, 05 Aug 2024 12:52:17 -0400
Received: by mail.selma.hfmdk-frankfurt.de (Postfix, from userid 113)
id 5CB3CF622FE; Mon, 5 Aug 2024 18:52:05 +0200 (CEST)
Received: from selma.hfmdk-frankfurt.de
(ip-037-201-128-004.um10.pools.vodafone-ip.de [37.201.128.4])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256)
(Client did not present a certificate)
by mail.selma.hfmdk-frankfurt.de (Postfix) with ESMTPSA id 1DA98F61A6A
for ; Mon, 5 Aug 2024 18:52:03 +0200 (CEST)
Received: by selma.hfmdk-frankfurt.de (Postfix, from userid 1000)
id A16D23960545; Mon, 05 Aug 2024 18:52:02 +0200 (CEST)
Date: Mon, 5 Aug 2024 18:52:02 +0200
From: Orm Finnendahl
To: emacs-orgmode@gnu.org
Subject: Re: multipage html output
Message-ID:
Mail-Followup-To: emacs-orgmode@gnu.org
References: <87bk2o2o2m.fsf@localhost>
<87sew011c6.fsf@localhost>
<87frrzdrbz.fsf@localhost>
<87plr14wka.fsf@localhost>
<87bk2i8w07.fsf@localhost>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="/jKJUrk4TV58OzGX"
Content-Disposition: inline
In-Reply-To: <87bk2i8w07.fsf@localhost>
X-Disclaimer: Why are you listening to me?
X-Operating-System: GNU/Linux
Organization: Hochschule =?utf-8?B?ZsO8?= =?utf-8?Q?r?= Musik und
Darstellende Kunst Frankfurt, Frankfurt, Germany
Received-SPF: pass client-ip=46.4.92.145;
envelope-from=orm.finnendahl@selma.hfmdk-frankfurt.de;
helo=mail.selma.hfmdk-frankfurt.de
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-BeenThere: emacs-orgmode@gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "General discussions about Org-mode."
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org
Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org
X-Migadu-Country: US
X-Migadu-Flow: FLOW_IN
X-Spam-Score: 0.66
X-Migadu-Queue-Id: 434A799ED
X-Migadu-Scanner: mx10.migadu.com
X-Migadu-Spam-Score: 0.66
X-TUID: 8NbTYtZ/fSgT
--/jKJUrk4TV58OzGX
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Hi,
attached are the patches for the multipage html export proposal. The
tgz file contains all commits after branching from the main branch to
the org-html-multipage branch (see:
https://github.com/ormf/org-mode/tree/org-html-multipage)
There are also diffs for the only changed files, ox.el, ox-html.el and
org-manual.org between 2a4fdffac163e91f6ed2055ec34cbcadf8b95dec of the
main branch and my last commit to my org-html-multipage branch.
Let me know if there are problems or you need anything. I tried to be
conformant to Org in general and hope I succeeded. Let me know what
you think.
--
Orm
Am Samstag, den 27. Juli 2024 um 19:39:36 Uhr (+0000) schrieb Ihor Radchenko:
> Orm Finnendahl writes:
>
> > html multipage output is fully working now in the org-export
> > compliant way sketched by Ihor.
>
> Great!
>
> > 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.
>
> `org-html-final-function' strips the text properties. You can modify
> it. Or, better, you can add an additional filter to ox-html that will
> apply the necessary text properties (to make sure that user filters that
> do no care about text properties never interfere).
>
> --
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at .
> Support Org development at ,
> or support my work at
>
--/jKJUrk4TV58OzGX
Content-Type: application/gzip
Content-Disposition: attachment; filename="ox-html-multipage-patches.tgz"
Content-Transfer-Encoding: base64
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
Dy6vmosAYAQA
--/jKJUrk4TV58OzGX
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="ox.el.patch"
Content-Transfer-Encoding: quoted-printable
*** org-mode/lisp/ox.el 2024-08-05 17:15:57.631928954 +0200
--- org-mode-multipage/lisp/ox.el 2024-08-03 12:57:24.346459632 +0200
***************
*** 215,220 ****
--- 215,221 ----
(:filter-latex-fragment . org-export-filter-latex-fragment-functions)
(:filter-line-break . org-export-filter-line-break-functions)
(:filter-link . org-export-filter-link-functions)
+ (:multipage-split . org-export-multipage-split-functions)
(:filter-node-property . org-export-filter-node-property-functions)
(:filter-options . org-export-filter-options-functions)
(:filter-paragraph . org-export-filter-paragraph-functions)
***************
*** 1883,1891 ****
INFO is a plist containing export directives."
(let ((type (org-element-type blob)))
;; Return contents only for complete parse trees.
! (if (eq type 'org-data) (lambda (_datum contents _info) contents)
! (let ((transcoder (cdr (assq type (plist-get info :translate-alist)=
))))
! (and (functionp transcoder) transcoder)))))
=20
(defun org-export--keep-spaces (data info)
"Non-nil, when post-blank spaces after removing DATA should be preserve=
d.
--- 1884,1894 ----
INFO is a plist containing export directives."
(let ((type (org-element-type blob)))
;; Return contents only for complete parse trees.
! (let ((transcoder (cdr (assq type (plist-get info :translate-alist)))=
))
! (cond
! ((functionp transcoder) transcoder)
! ;; Use default org-data transcoder unless specified.
! ((eq type 'org-data) #'org-export-transcode-org-data)))))
=20
(defun org-export--keep-spaces (data info)
"Non-nil, when post-blank spaces after removing DATA should be preserve=
d.
***************
*** 1928,1934 ****
=20
The `:filter-parse-tree' filters are not applied.
=20
! Return a string."
(or (gethash data (plist-get info :exported-data))
;; Handle broken links according to
;; `org-export-with-broken-links'.
--- 1931,1937 ----
=20
The `:filter-parse-tree' filters are not applied.
=20
! Return a string or a list of strings."
(or (gethash data (plist-get info :exported-data))
;; Handle broken links according to
;; `org-export-with-broken-links'.
***************
*** 2194,2199 ****
--- 2197,2205 ----
as a plist. It must return a string that will be used as the
final export output.")
=20
+ (defvar org-export-multipage-split-functions nil
+ "List of functions applied when multipage output has to be split.")
+=20
=20
;;;; Elements Filters
=20
***************
*** 2537,2542 ****
--- 2543,2549 ----
(let (plist)
;; Install user-defined filters with `org-export-filters-alist'
;; and filters already in INFO (through ext-plist mechanism).
+ (setq tmp-info info)
(dolist (p org-export-filters-alist)
(let* ((prop (car p))
(info-value (plist-get info prop))
***************
*** 2548,2553 ****
--- 2555,2561 ----
(append (if (listp info-value) info-value
(list info-value))
default-value)))))
+ (setq global-prop org-export-filters-alist)
;; Prepend backend specific filters to that list.
(dolist (p (org-export-get-all-filters (plist-get info :back-end)))
;; Single values get consed, lists are appended.
***************
*** 2967,2973 ****
with external parameters overriding Org default settings, but
still inferior to file-local settings.
=20
! Return code as a string."
(when (symbolp backend) (setq backend (org-export-get-backend backend)))
(org-export-barf-if-invalid-backend backend)
(org-fold-core-ignore-modifications
--- 2975,2983 ----
with external parameters overriding Org default settings, but
still inferior to file-local settings.
=20
! Return code as a string or a list of strings.
! The returned strings will have their `org-export-info' property set to
! export information channel."
(when (symbolp backend) (setq backend (org-export-get-backend backend)))
(org-export-barf-if-invalid-backend backend)
(org-fold-core-ignore-modifications
***************
*** 3004,3034 ****
backend info subtreep visible-only ext-plist))
;; Eventually transcode TREE. Wrap the resulting string into
;; a template.
! (let* ((body (org-element-normalize-string
! (or (org-export-data (plist-get info :parse-tree) info)
! "")))
! (inner-template (cdr (assq 'inner-template
! (plist-get info :translate-alist))))
! (full-body (org-export-filter-apply-functions
! (plist-get info :filter-body)
! (if (not (functionp inner-template)) body
! (funcall inner-template body info))
! info))
! (template (cdr (assq 'template
! (plist-get info :translate-alist))))
! (output
! (if (or (not (functionp template)) body-only) full-body
! (funcall template full-body info))))
;; Call citation export finalizer.
(when (plist-get info :with-cite-processors)
! (setq output (org-cite-finalize-export output info)))
! ;; Remove all text properties since they cannot be
! ;; retrieved from an external process. Finally call
! ;; final-output filter and return result.
! (org-no-properties
! (org-export-filter-apply-functions
! (plist-get info :filter-final-output)
! output info)))))))))
=20
(defun org-export--annotate-info (backend info &optional subtreep visible=
-only ext-plist)
"Annotate the INFO plist according to the BACKEND.
--- 3014,3059 ----
backend info subtreep visible-only ext-plist))
;; Eventually transcode TREE. Wrap the resulting string into
;; a template.
! (let ((output
! (or (org-export-data (plist-get info :parse-tree) info)
! "")))
! (setq output (ensure-list 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 filt=
ers o info))
! output)))
! ;; Apply org-export-info property.
! (setq output
! (mapcar
! (lambda (o) (org-add-props o nil
! :output-file (get-text-property 0 :output-fi=
le o)
! 'org-export-info info))
! output))
! (if (length=3D output 1) (car output) output))))))))
!=20
! (defun org-export-transcode-org-data (_ body info)
! "Transcode `org-data' node with BODY. Return transcoded string.
! INFO is the communication channel plist."
! (let* ((inner-template (cdr (assq 'inner-template
! (plist-get info :translate-alist))))
! (full-body (org-export-filter-apply-functions
! (plist-get info :filter-body)
! (if (not (functionp inner-template)) body
! (funcall inner-template body info))
! info))
! (template (cdr (assq 'template
! (plist-get info :translate-alist))))
! (body-only (memq 'body-only (plist-get info :export-options))))
! (if (or (not (functionp template)) body-only) full-body
! (funcall template full-body info))))
=20
(defun org-export--annotate-info (backend info &optional subtreep visible=
-only ext-plist)
"Annotate the INFO plist according to the BACKEND.
***************
*** 3107,3120 ****
(_ nil)))
;; Install user's and developer's filters.
(setq info (org-export-install-filters info))
;; Call options filters and update export options. We do not
;; use `org-export-filter-apply-functions' here since the
;; arity of such filters is different.
(let ((backend-name (org-export-backend-name backend)))
(dolist (filter (plist-get info :filter-options))
! (let ((result (funcall filter info backend-name)))
! (when result (setq info result)))))
;; Parse buffer.
(setq tree (org-element-parse-buffer nil visible-only 'defer))
;; Prune tree from non-exported elements and transform
;; uninterpreted elements or objects in both parse tree and
--- 3132,3147 ----
(_ nil)))
;; Install user's and developer's filters.
(setq info (org-export-install-filters info))
+=20
;; Call options filters and update export options. We do not
;; use `org-export-filter-apply-functions' here since the
;; arity of such filters is different.
(let ((backend-name (org-export-backend-name backend)))
(dolist (filter (plist-get info :filter-options))
! (let ((result (funcall filter info backend-name)))
! (when result (setq info result)))))
;; Parse buffer.
+=20
(setq tree (org-element-parse-buffer nil visible-only 'defer))
;; Prune tree from non-exported elements and transform
;; uninterpreted elements or objects in both parse tree and
***************
*** 3131,3136 ****
--- 3158,3166 ----
;; to communication channel. This is responsible for setting
;; :parse-tree to TREE.
(setq info (org-export--collect-tree-properties tree info))
+ (when (plist-get info :multipage)
+ (setq tree (org-export-filter-apply-functions
+ (plist-get info :multipage-split) tree info)))
;; Process citations and bibliography. Replace each citation
;; and "print_bibliography" keyword in the parse tree with
;; the output of the selected citation export processor.
***************
*** 6140,6145 ****
--- 6170,6195 ----
("uk" :html "Автор" :utf-8 "=D0=90=D0=
=B2=D1=82=D0=BE=D1=80")
("zh-CN" :html "作者" :utf-8 "=E4=BD=9C=E8=80=85")
("zh-TW" :html "作者" :utf-8 "=E4=BD=9C=E8=80=85"))
+ ("Chapter %s"
+ ("ar" :default "=D8=A7=D9=84=D9=81=D8=B5=D9=84 %s")
+ ("cs" :default "kapitola %s")
+ ("da" :default "kapitel %s")
+ ("de" :default "Kapitel %s")
+ ("es" :ascii "capitulo %s" :html "capítulo %s" :default "cap=
=C3=ADtulo %s")
+ ("et" :html "peatükk %s" :utf-8 "peat=C3=BCkk %s")
+ ("fa" :default "=D9=81=D8=B5=D9=84 %s")
+ ("fr" :default "chapitre %s")
+ ("it" :default "capitolo %s")
+ ("ja" :default "=E7=AB=A0 %s")
+ ("nl" :default "hoofdstuk %s"
+ :html "hoofdstuk %s" :latex "hoofdstuk~%s")
+ ("pt_BR" :ascii "capitulo %s" :html "capítulo %s" :default "c=
ap=C3=ADtulo %s")
+ ("ro" :default "capitol %s")
+ ("ru" :html "глава %s"
+ :utf-8 "=D0=B3=D0=BB=D0=B0=D0=B2=D0=B0 %s")
+ ("sl" :default "odsek %s")
+ ("tr" :html "bölüm" :default "b=C3=B6l=C3=BCm %s")
+ ("zh-CN" :html "章节" :utf-8 "=E7=AB=A0=E8=8A=82 %s"))
("Continued from previous page"
("ar" :default "=D8=AA=D8=AA=D9=85=D8=A9 =D8=A7=D9=84=D8=B5=D9=81=D8=
=AD=D8=A9 =D8=A7=D9=84=D8=B3=D8=A7=D8=A8=D9=82=D8=A9")
("cs" :default "Pokra=C4=8Dov=C3=A1n=C3=AD z p=C5=99edchoz=C3=AD str=
any")
***************
*** 6269,6274 ****
--- 6319,6326 ----
("sv" :default "Illustration")
("tr" :default "=C5=9Eekil")
("zh-CN" :html "图" :utf-8 "=E5=9B=BE"))
+ ("Fig. %s"
+ ("de" :default "Abb. %s"))
("Figure %d:"
("ar" :default "=D8=B4=D9=83=D9=84 %d:")
("cs" :default "Obr=C3=A1zek %d:")
***************
*** 6436,6441 ****
--- 6488,6515 ----
("sl" :default "Reference")
("sv" :default "Referenser")
("tr" :default "Referanslar"))
+ ("Section %s"
+ ("ar" :default "=D8=A7=D9=86=D8=B8=D8=B1 =D9=82=D8=B3=D9=85 %s")
+ ("cs" :default "sekce %s")
+ ("da" :default "afsnit %s")
+ ("de" :default "Abschnitt %s")
+ ("es" :ascii "seccion %s" :html "sección %s" :default "secci=
=C3=B3n %s")
+ ("et" :html "peatükki %s" :utf-8 "peat=C3=BCkki %s")
+ ;; ("fa" :default "=D9=86=D9=85=D8=A7=DB=8C=D8=B4 =D8=A8=D8=
=AE=D8=B4 %s")
+ ("fr" :default "section %s")
+ ("it" :default "sezione %s")
+ ;; ("ja" :default "=E3=82=BB=E3=82=AF=E3=82=B7=E3=83=A7=E3=
=83=B3 %s =E3=82=92=E5=8F=82=E7=85=A7")
+ ("nl" :default "sectie %s"
+ :html "sectie %s" :latex "sectie~%s")
+ ("pt_BR" :html "seção %s" :default "se=C3=A7=C3=A3o %s"
+ :ascii "secao %s")
+ ("ro" :default "sec=C8=9Biunea %s")
+ ("ru" :html "&раздел %s"
+ :utf-8 "=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB %s")
+ ("sl" :default "poglavje %d")
+ ("tr" :default "b=C3=B6l=C3=BCm %s")
+ ;; ("zh-CN" :html "参见第%s节" :utf=
-8 "=E5=8F=82=E8=A7=81=E7=AC=AC%s=E8=8A=82")
+ )
("See figure %s"
("cs" :default "Viz obr=C3=A1zek %s")
("et" :default "Vaata joonist %s")
***************
*** 6813,6818 ****
--- 6887,6918 ----
(switch-to-buffer-other-window buffer))
buffer)))
=20
+ (defun org-export--write-output (output encoding)
+ "Write OUTPUT to file with ENCODING.
+ OUTPUT may be a string or a list of strings.
+ The target file is retrieved from :output-file OUTPUT property or
+ :output-file property in plist stored in `org-export-info' property of
+ each string.
+=20
+ Return the file name or a list of file names."
+ (if (listp output) (mapcar #'org-export--write-output output)
+ (setq tmp-debug output)
+ (let ((file (or
+ (get-text-property 0 :output-file output)
+ (plist-get
+ (get-text-property 0 'org-export-info output)
+ :output-file))))
+ (with-temp-buffer
+ (insert output)
+ ;; Ensure final newline. This is what was done
+ ;; historically, when we used `write-file'.
+ ;; Note that adding a newline is only safe for
+ ;; non-binary data.
+ (unless (bolp) (insert "\n"))
+ (let ((coding-system-for-write encoding))
+ (write-region nil nil file))
+ file))))
+=20
;;;###autoload
(defun org-export-to-file
(backend file &optional async subtreep visible-only body-only ext-pli=
st
***************
*** 6861,6893 ****
`(let ((output
(org-export-as
',backend ,subtreep ,visible-only ,body-only
! ',ext-plist)))
! (with-temp-buffer
! (insert output)
! ;; Ensure final newline. This is what was done
! ;; historically, when we used `write-file'.
! ;; Note that adding a newline is only safe for
! ;; non-binary data.
! (unless (bolp) (insert "\n"))
! (let ((coding-system-for-write ',encoding))
! (write-region nil nil ,file)))
! (or (ignore-errors (funcall ',post-process ,file)) ,file)))
(let ((output (org-export-as
! backend subtreep visible-only body-only ext-plist)=
))
! (with-temp-buffer
! (insert output)
! ;; Ensure final newline. This is what was done
! ;; historically, when we used `write-file'.
! ;; Note that adding a newline is only safe for
! ;; non-binary data.
! (unless (bolp) (insert "\n"))
! (let ((coding-system-for-write encoding))
! (write-region nil nil file)))
(when (and (org-export--copy-to-kill-ring-p) (org-string-nw-p o=
utput))
(org-kill-new output))
;; Get proper return value.
! (or (and (functionp post-process) (funcall post-process file))
! file))))))
=20
(defun org-export-output-file-name (extension &optional subtreep pub-dir)
"Return output file's name according to buffer specifications.
--- 6961,6983 ----
`(let ((output
(org-export-as
',backend ,subtreep ,visible-only ,body-only
! ',ext-plist))
! file)
! (setq file (org-export--write-output output ',encoding))
! (let ((post (lambda (f) (or (ignore-errors (funcall ',post=
-process f)) f))))
! (if (listp file) (mapcar post file) (funcall post file))=
)))
(let ((output (org-export-as
! backend subtreep visible-only body-only ext-plist))
! file)
! (setq file (org-export--write-output output encoding))
(when (and (org-export--copy-to-kill-ring-p) (org-string-nw-p o=
utput))
(org-kill-new output))
;; Get proper return value.
! (let ((post (lambda (f)
! (or (and (functionp post-process)
! (funcall post-process f))
! f))))
! (if (listp file) (mapcar post file) (funcall post file))))))))
=20
(defun org-export-output-file-name (extension &optional subtreep pub-dir)
"Return output file's name according to buffer specifications.
--/jKJUrk4TV58OzGX
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="ox-html.el.patch"
*** org-mode/lisp/ox-html.el 2024-08-05 17:15:57.628595589 +0200
--- org-mode-multipage/lisp/ox-html.el 2024-08-05 17:11:54.979585435 +0200
***************
*** 4,9 ****
--- 4,11 ----
;; Author: Carsten Dominik
;; Jambunathan K
+ ;; multipage export by Orm Finnendahl
+ ;;
;; Maintainer: TEC
;; Keywords: outlines, hypermedia, calendar, text
***************
*** 82,88 ****
--- 84,94 ----
(latex-fragment . org-html-latex-fragment)
(line-break . org-html-line-break)
(link . org-html-link)
+ (multipage-inner-template . org-html-multipage-inner-template)
+ (multipage-template . org-html-multipage-template)
(node-property . org-html-node-property)
+ (org-data . org-html-transcode-org-data)
+ ;;; (org-page . org-html-transcode-org-page)
(paragraph . org-html-paragraph)
(plain-list . org-html-plain-list)
(plain-text . org-html-plain-text)
***************
*** 108,118 ****
--- 114,126 ----
(verse-block . org-html-verse-block))
:filters-alist '((:filter-options . org-html-infojs-install-script)
(:filter-parse-tree . org-html-image-link-filter)
+ (:multipage-split . org-html-multipage-split)
(:filter-final-output . org-html-final-function))
:menu-entry
'(?h "Export to HTML"
((?H "As HTML buffer" org-html-export-as-html)
(?h "As HTML file" org-html-export-to-html)
+ (?m "As HTML Multipage files" org-html-export-to-multipage)
(?o "As HTML file and open"
(lambda (a s v b)
(if a (org-html-export-to-html t s v b)
***************
*** 134,141 ****
(:html-head "HTML_HEAD" nil org-html-head newline)
(:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline)
(:subtitle "SUBTITLE" nil nil parse)
! (:html-head-include-default-style
! nil "html-style" org-html-head-include-default-style)
(:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts)
(:html-allow-name-attribute-in-anchors
nil nil org-html-allow-name-attribute-in-anchors)
--- 142,148 ----
(:html-head "HTML_HEAD" nil org-html-head newline)
(:html-head-extra "HTML_HEAD_EXTRA" nil org-html-head-extra newline)
(:subtitle "SUBTITLE" nil nil parse)
! (:html-head-include-default-style nil "html-style" org-html-head-include-default-style)
(:html-head-include-scripts nil "html-scripts" org-html-head-include-scripts)
(:html-allow-name-attribute-in-anchors
nil nil org-html-allow-name-attribute-in-anchors)
***************
*** 158,163 ****
--- 165,190 ----
(:html-mathjax-options nil nil org-html-mathjax-options)
(:html-mathjax-template nil nil org-html-mathjax-template)
(:html-metadata-timestamp-format nil nil org-html-metadata-timestamp-format)
+ (:html-multipage-clear-export-directory nil "html-multipage-clear-export-directory"
+ org-html-multipage-clear-export-directory)
+ (:html-multipage-export-directory
+ nil "html-multipage-export-directory" org-html-multipage-export-directory)
+ (:html-multipage-head-include-default-style
+ nil "html-multipage-include-default-style" org-html-multipage-head-include-default-style)
+ (:html-multipage-join-empty-bodies
+ nil "html-multipage-join-empty-bodies" org-html-multipage-join-empty-bodies)
+ (:html-multipage-nav-format nil nil org-html-multipage-nav-format)
+ (:html-multipage-numbered-filenames nil "html-multipage-numbered-filenames"
+ org-html-multipage-numbered-filenames)
+ (:html-multipage-open nil "html-multipage-open" org-html-multipage-open)
+ (:html-multipage-postamble-position
+ nil "html-multipage-postamble-position" org-html-multipage-postamble-position)
+ (:html-multipage-preamble-position
+ nil "html-multipage-preamble-position" org-html-multipage-preamble-position)
+ (:html-multipage-split-hooks nil nil org-html-multipage-split-hooks)
+ (:html-multipage-split-level nil "html-multipage-split-level" org-html-multipage-split-level)
+ (:html-multipage-toc-to-top nil "html-multipage-toc-to-top" org-html-multipage-toc-to-top)
+ (:html-numbered-link-format nil nil org-html-numbered-link-format)
(:html-postamble-format nil nil org-html-postamble-format)
(:html-preamble-format nil nil org-html-preamble-format)
(:html-prefer-user-labels nil nil org-html-prefer-user-labels)
***************
*** 171,179 ****
nil nil org-html-table-use-header-tags-for-first-column)
(:html-tag-class-prefix nil nil org-html-tag-class-prefix)
(:html-text-markup-alist nil nil org-html-text-markup-alist)
(:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix)
(:html-toplevel-hlevel nil nil org-html-toplevel-hlevel)
! (:html-use-infojs nil nil org-html-use-infojs)
(:html-validation-link nil nil org-html-validation-link)
(:html-viewport nil nil org-html-viewport)
(:html-inline-images nil nil org-html-inline-images)
--- 198,207 ----
nil nil org-html-table-use-header-tags-for-first-column)
(:html-tag-class-prefix nil nil org-html-tag-class-prefix)
(:html-text-markup-alist nil nil org-html-text-markup-alist)
+ (:html-toc-title nil "html-toc-title" org-html-toc-title)
(:html-todo-kwd-class-prefix nil nil org-html-todo-kwd-class-prefix)
(:html-toplevel-hlevel nil nil org-html-toplevel-hlevel)
! (:html-use-infojs nil nil org-export-html-use-infojs)
(:html-validation-link nil nil org-html-validation-link)
(:html-viewport nil nil org-html-viewport)
(:html-inline-images nil nil org-html-inline-images)
***************
*** 186,191 ****
--- 214,221 ----
(:html-klipse-css nil nil org-html-klipse-css)
(:html-klipse-js nil nil org-html-klipse-js)
(:html-klipse-selection-script nil nil org-html-klipse-selection-script)
+ ;;; (:multipage-split nil nil org-html-multipage-split)
+ ;;; (:multipage nil nil org-html-multipage)
(:infojs-opt "INFOJS_OPT" nil nil)
;; Redefine regular options.
(:creator "CREATOR" nil org-html-creator-string)
***************
*** 462,467 ****
--- 492,720 ----
:package-version '(Org . "9.5")
:type 'string)
+ (defcustom org-html-multipage-style-default
+ ""
+ "The default style specification for exported HTML files.
+ You can use `org-html-head' and `org-html-head-extra' to add to
+ this style. If you don't want to include this default style,
+ customize `org-html-head-include-default-style'."
+ :group 'org-export-html
+ :package-version '(Org . "9.8")
+ :type 'string)
;;; User Configuration Variables
***************
*** 486,492 ****
(home LINK_HOME :html-link-home))
"JavaScript options, long form for script, default values.")
! (defcustom org-html-use-infojs 'when-configured
"Non-nil when Sebastian Rose's Java Script org-info.js should be active.
This option can be nil or t to never or always use the script.
It can also be the symbol `when-configured', meaning that the
--- 739,745 ----
(home LINK_HOME :html-link-home))
"JavaScript options, long form for script, default values.")
! (defcustom org-export-html-use-infojs 'when-configured
"Non-nil when Sebastian Rose's Java Script org-info.js should be active.
This option can be nil or t to never or always use the script.
It can also be the symbol `when-configured', meaning that the
***************
*** 501,506 ****
--- 754,766 ----
(const :tag "When configured in buffer" when-configured)
(const :tag "Always" t)))
+ ;; (defcustom org-html-multipage nil
+ ;; "Boolean indicating multipage export."
+ ;; :group 'org-export-html
+ ;; :version "29.4"
+ ;; :package-version '(Org . "9.8")
+ ;; :type 'boolean)
+
(defcustom org-html-infojs-options
(mapcar (lambda (x) (cons (car x) (nth 2 x))) org-html-infojs-opts-table)
"Options settings for the INFOJS JavaScript.
***************
*** 849,854 ****
--- 1109,1129 ----
:group 'org-export-html
:type 'boolean)
+ (defcustom org-html-numbered-link-format
+ '("Chapter %s"
+ "Section %s"
+ "Fig. %s")
+ "Format for the labels of numbered links.
+
+ The first string is used for links to Chapters, the second for
+ links to Sections and the third for links to Figures. %s will be
+ replaced by the number of the reference. The strings get
+ translated using org-html--translate."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'list)
+
;;;; Links :: Inline images
(defcustom org-html-inline-images t
***************
*** 1384,1389 ****
--- 1659,1673 ----
(list (string :tag "Language")
(string :tag "Format string"))))
+ (defcustom org-html-toc-title "Table of Contents"
+ "The string tp be used for the title of the table of contents. It
+ will be passed to org-html-translate."
+ :group 'org-export-html
+ :package-version '(Org . "9.8")
+ :version "29.4"
+ :type 'string
+ :safe #'stringp)
+
(defcustom org-html-validation-link
"Validate"
"Link to HTML validation service."
***************
*** 1522,1529 ****
--- 1806,1954 ----
:version "24.4"
:package-version '(Org . "8.0")
:type 'boolean)
+
+ (defcustom org-html-multipage-clear-export-directory t
+ "Boolean. If non-nil remove all .html files from the export
+ directory before exporting."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'boolean)
+
+ (defcustom org-html-multipage-export-directory "html"
+ "The default directory for exported HTML files."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'string)
+
+ (defcustom org-html-multipage-head-include-default-style t
+ "Non-nil means include the default style in exported HTML files.
+ The actual style is defined in `org-html-style-default' and
+ should not be modified. Use `org-html-head' to use your own
+ style information."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'boolean)
+
+ (defcustom org-html-multipage-join-empty-bodies t
+ "Recursively join subheadlines, if a headline doesn't contain any
+ text before its Subheadline.
+
+ Example:
+
+ * Headline 1
+ ** Subheadline 1.1
+ *** Subsubheadline 1.1.1
+ Text of Subsubheadline 1.1.1
+
+ will be put on the same HTML page if this option is set,
+ otherwise Headline 1 And Subheadline 1.1 will be put on a
+ separate HTML page with empty content.
+ "
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'boolean)
+
+ (defcustom org-html-multipage-nav-format
+ '("
%s
"
+ "Next: %s , "
+ "Previous: %s , "
+ "Up: %s , "
+ "Home: %s ")
+ "Snippets used to insert the NEXT, PREV, HOME and UP links in
+ multipage output. The list contains format strings for the HTML
+ div and the navigation elements. The %s in the HTML div will
+ receive a concatenated string of the navigation elements. The
+ first %s in the navigation elements will receive the link,
+ the second the title"
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'list)
+
+ (defcustom org-html-multipage-numbered-filenames t
+ "Boolean indicating whether filenames in multipage export should
+ get their headline-numbering prepended. Note: This option is
+ independent of the num: option and the backend guarantees that
+ filenames are unique in any case."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'boolean)
+
+ (defcustom org-html-multipage-open 'nil
+ "If and where to open the top page of the multipage html after
+ export."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type '(choice (const browser) (const buffer) (const nil)))
+
+ (defcustom org-html-multipage-postamble-position 'bottom
+ "The position of the postamble in the html output.
+
+ bottom - at the bottom of the page, directly before
+
+ text-content - at the top of the text-content.
+
+ "
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type '(choice (const top) (const text-content)))
+
+ (defcustom org-html-multipage-split-hooks nil
+ "list of additional custom functions to be called during the
+ export after multipage splitting has taken place and before
+ transcoding with info as input.
+ "
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'list)
+
+ (defcustom org-html-multipage-split-level 'toc
+ "How to split the ORG file into multiple HTML pages.
+
+ toc - split each entry of the toc into a separate page.
+
+ number - a number indicating the maximum headline-level for
+ splitting.
+ "
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type '(choice (const toc) (number :tag "Headline Level" 3)))
+
+ (defcustom org-html-multipage-toc-to-top t
+ "If t links in the TOC will always point to the top of the page,
+ otherwise it will link directly to the referenced headline
+ element."
+ :group 'org-export-html
+ :version "29.4"
+ :package-version '(Org . "9.8")
+ :type 'boolean)
+
;;;###autoload
(put 'org-html-head-include-default-style 'safe-local-variable 'booleanp)
+ (put 'org-html-multipage-head-include-default-style 'safe-local-variable 'booleanp)
+ (put 'org-html-multipage-join-empty-bodies 'safe-local-variable 'booleanp)
(defcustom org-html-head ""
"Org-wide head definitions for exported HTML files.
***************
*** 1873,1890 ****
(defun org-html-footnote-section (info)
"Format the footnote section.
INFO is a plist used as a communication channel."
! (pcase (org-export-collect-footnote-definitions info)
(`nil nil)
(definitions
- (format
- (plist-get info :html-footnotes-section)
- (org-html--translate "Footnotes" info)
(format
! "\n%s\n"
! (mapconcat
! (lambda (definition)
! (pcase definition
! (`(,n ,label ,def)
;; Do not assign number labels as they appear in Org mode
;; - the footnotes are re-numbered by
;; `org-export-get-footnote-number'. If the label is not
--- 2298,2315 ----
(defun org-html-footnote-section (info)
"Format the footnote section.
INFO is a plist used as a communication channel."
! (pcase (org-export-collect-footnote-definitions info (plist-get info :tl-headline))
(`nil nil)
(definitions
(format
! (plist-get info :html-footnotes-section)
! (org-html--translate "Footnotes" info)
! (format
! "\n%s\n"
! (mapconcat
! (lambda (definition)
! (pcase definition
! (`(,n ,label ,def)
;; Do not assign number labels as they appear in Org mode
;; - the footnotes are re-numbered by
;; `org-export-get-footnote-number'. If the label is not
***************
*** 1911,1918 ****
(if (not inline?) contents
(format "
\n"))))
--- 2942,2974 ----
(defun org-html--toc-text (toc-entries)
"Return innards of a table of contents, as a string.
TOC-ENTRIES is an alist where key is an entry title, as a string,
! second element a flag whether the entry gets a
! class=\"toc-hidden\" attribute and the third element is its
! relative level, as an integer."
! (let* ((prev-level (1- (cddar toc-entries)))
(start-level prev-level))
(concat
(mapconcat
(lambda (entry)
(let ((headline (car entry))
! (hidden (cadr entry))
! (level (cddr entry)))
(concat
! (format
! (let* ((cnt (- level prev-level))
! (times (if (> cnt 0) (1- cnt) (- cnt))))
! (setq prev-level level)
! (concat
! (org-html--make-string
! times (cond ((> cnt 0) (format "\n
\n"
+ (concat "\n" (org-html-close-tag "br" nil info) "\n"
+ "%s\n"))
+ (org-export-data subtitle info))
+ "")))))
+ contents
+ (format "%s>\n" (nth 1 (assq 'content (plist-get info :html-divs))))
+ ;; Possibly use the Klipse library live code blocks.
+ (when (plist-get info :html-klipsify-src)
+ (concat ""))
+ (when (eq org-html-multipage-postamble-position 'bottom)
+ (org-html--build-pre/postamble 'postamble info))
+ ;; Closing document.
+ "\n"))
+
+ (defun org-html-multipage-inner-template (contents info)
+ "Return body of document string after HTML conversion.
+ CONTENTS is the transcoded contents string. INFO is a plist
+ holding export options.
+
+ DATA contains the subtree of the parse tree of the section to be
+ exported for multipage export.
+ "
+ ;; Navigation
+ (let* ((data (plist-get info :tl-headline))
+ (section-nav-lookup
+ (alist-get
+ data
+ (plist-get info :section-nav-lookup))))
+ (format "
%s\n
%s
%s
"
+ (org-html-nav-left section-nav-lookup)
+ (concat
+ ;; Document contents.
+ contents
+ ;; Footnotes section.
+ (or (org-html-footnote-section info) "")
+ ;; Postamble.
+ (unless (eq org-html-multipage-postamble-position 'bottom)
+ (org-html--build-pre/postamble 'postamble info)))
+ (org-html-nav-right section-nav-lookup))))
+
+ (defun org-html-transcode-org-data (data content info)
+ "Transcode the top org-data node of the org file to export.
+
+ It is called by `org-export-as' after all necessary information
+ has been added to info and the final parse-tree has been
+ generated. Multipage information has already been collected by
+ calling `org-html-multipage-filter' in `org-export-annotate-info'
+ using the :multipage-split property.
+
+ INFO is a plist used as a communication channel."
+ (message "transcoding data!")
+ (if (plist-get info :multipage)
+ ;;; for multipage output we don't need data and content as all
+ ;;; information is already collected in info.
+ (org-html-transcode-multipage info)
+ (org-export-transcode-org-data data content info)))
(provide 'ox-html)
***************
*** 4100,4102 ****
--- 5485,5489 ----
;; End:
;;; ox-html.el ends here
+
+
--/jKJUrk4TV58OzGX
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="org-manual.org.patch"
*** org-mode/doc/org-manual.org 2024-08-05 17:15:57.585261838 +0200
--- org-mode-multipage/doc/org-manual.org 2024-08-05 15:40:24.679134249 +0200
***************
*** 772,781 ****
where you can use the following keys to find your destination:
#+attr_texinfo: :columns 0.3 0.7
! | {{{kbd(TAB)}}} | Cycle visibility. |
| {{{kbd(DOWN)}}} / {{{kbd(UP)}}} | Next/previous visible headline. |
! | {{{kbd(RET)}}} | Select this location. |
! | {{{kbd(/)}}} | Do a Sparse-tree search |
#+texinfo: @noindent
The following keys work if you turn off ~org-goto-auto-isearch~
--- 772,781 ----
where you can use the following keys to find your destination:
#+attr_texinfo: :columns 0.3 0.7
! | {{{kbd(TAB)}}} | Cycle visibility. |
| {{{kbd(DOWN)}}} / {{{kbd(UP)}}} | Next/previous visible headline. |
! | {{{kbd(RET)}}} | Select this location. |
! | {{{kbd(/)}}} | Do a Sparse-tree search |
#+texinfo: @noindent
The following keys work if you turn off ~org-goto-auto-isearch~
***************
*** 783,791 ****
#+attr_texinfo: :columns 0.3 0.7
| {{{kbd(n)}}} / {{{kbd(p)}}} | Next/previous visible headline. |
| {{{kbd(f)}}} / {{{kbd(b)}}} | Next/previous headline same level. |
! | {{{kbd(u)}}} | One level up. |
| {{{kbd(0)}}} ... {{{kbd(9)}}} | Digit argument. |
! | {{{kbd(q)}}} | Quit. |
#+vindex: org-goto-interface
#+texinfo: @noindent
--- 783,791 ----
#+attr_texinfo: :columns 0.3 0.7
| {{{kbd(n)}}} / {{{kbd(p)}}} | Next/previous visible headline. |
| {{{kbd(f)}}} / {{{kbd(b)}}} | Next/previous headline same level. |
! | {{{kbd(u)}}} | One level up. |
| {{{kbd(0)}}} ... {{{kbd(9)}}} | Digit argument. |
! | {{{kbd(q)}}} | Quit. |
#+vindex: org-goto-interface
#+texinfo: @noindent
***************
*** 2044,2050 ****
#+attr_texinfo: :columns 0.2 0.8
| =$1..$3= | first three fields in the current row |
! | =$P..$Q= | range, using column names (see [[*Advanced features]]) |
| =$<<<..$>>= | start in third column, continue to the last but one |
| =@2$1..@4$3= | nine fields between these two fields (same as =A2..C4=) |
| =@-1$-2..@-1= | 3 fields in the row above, starting from 2 columns on the left |
--- 2044,2050 ----
#+attr_texinfo: :columns 0.2 0.8
| =$1..$3= | first three fields in the current row |
! | =$P..$Q= | range, using column names (see [[*Advanced features]]) |
| =$<<<..$>>= | start in third column, continue to the last but one |
| =@2$1..@4$3= | nine fields between these two fields (same as =A2..C4=) |
| =@-1$-2..@-1= | 3 fields in the row above, starting from 2 columns on the left |
***************
*** 2248,2255 ****
| =$1+$2;%.2f= | Same, format result to two decimals |
| =exp($2)+exp($1)= | Math functions can be used |
| =$0;%.1f= | Reformat current cell to 1 decimal |
! | =($3-32)*5/9= | Degrees F \to C conversion |
! | =$c/$1/$cm= | Hz \to cm conversion, using =constants.el= |
| =tan($1);Dp3s1= | Compute in degrees, precision 3, display SCI 1 |
| =sin($1);Dp3%.1e= | Same, but use ~printf~ specifier for display |
| =vmean($2..$7)= | Compute column range mean, using vector function |
--- 2248,2255 ----
| =$1+$2;%.2f= | Same, format result to two decimals |
| =exp($2)+exp($1)= | Math functions can be used |
| =$0;%.1f= | Reformat current cell to 1 decimal |
! | =($3-32)*5/9= | Degrees F \to C conversion |
! | =$c/$1/$cm= | Hz \to cm conversion, using =constants.el= |
| =tan($1);Dp3s1= | Compute in degrees, precision 3, display SCI 1 |
| =sin($1);Dp3%.1e= | Same, but use ~printf~ specifier for display |
| =vmean($2..$7)= | Compute column range mean, using vector function |
***************
*** 11995,12001 ****
#+attr_texinfo: :columns 0.1 0.9
| {{{kbd(s)}}} | Sort the footnote definitions by reference sequence. |
| {{{kbd(r)}}} | Renumber the simple =fn:N= footnotes. |
! | {{{kbd(S)}}} | Short for first {{{kbd(r)}}}, then {{{kbd(s)}}} action. |
| {{{kbd(n)}}} | Rename all footnotes into a =fn:1= ... =fn:n= sequence. |
| {{{kbd(d)}}} | Delete the footnote at point, including definition and references. |
--- 11995,12001 ----
#+attr_texinfo: :columns 0.1 0.9
| {{{kbd(s)}}} | Sort the footnote definitions by reference sequence. |
| {{{kbd(r)}}} | Renumber the simple =fn:N= footnotes. |
! | {{{kbd(S)}}} | Short for first {{{kbd(r)}}}, then {{{kbd(s)}}} action. |
| {{{kbd(n)}}} | Rename all footnotes into a =fn:1= ... =fn:n= sequence. |
| {{{kbd(d)}}} | Delete the footnote at point, including definition and references. |
***************
*** 13283,13288 ****
--- 13283,13299 ----
Exports to a temporary buffer. Does not create a file.
+ - {{{kbd(C-c C-e h m)}}} (~org-html-export-to-multipage~) ::
+ #+kindex: C-c C-e h m
+ #+findex: org-html-export-to-multipage
+
+ Export as multiple HTML files with a =.html= extension. The
+ exported files are written into a directory specified with the
+ customization variable =org-html-multipage-export-dir=. If
+ =org-html-clear-export-directory= is non-nil, all files with a
+ =.html= extension will be removed before writing the files. Files
+ with duplicate names will be overwritten without warning.
+
*** HTML specific export settings
:PROPERTIES:
:DESCRIPTION: Settings for HTML export.
***************
*** 13823,13831 ****
#+vindex: org-html-head-extra
#+cindex: @samp{HTML_INCLUDE_STYLE}, keyword
The HTML export backend includes a compact default style in each
! exported HTML file. To override the default style with another style,
! use these keywords in the Org file. They will replace the global
! defaults the HTML exporter uses.
#+cindex: @samp{HTML_HEAD}, keyword
#+cindex: @samp{HTML_HEAD_EXTRA}, keyword
--- 13834,13844 ----
#+vindex: org-html-head-extra
#+cindex: @samp{HTML_INCLUDE_STYLE}, keyword
The HTML export backend includes a compact default style in each
! exported HTML file[fn:: The constant is called
! ~org-html-style-default~ for single page output and
! ~org-html-multipage-style-default~ for multipage output]. To override
! the default style with another style, use these keywords in the Org
! file. They will replace the global defaults the HTML exporter uses.
#+cindex: @samp{HTML_HEAD}, keyword
#+cindex: @samp{HTML_HEAD_EXTRA}, keyword
***************
*** 13855,13861 ****
a =CUSTOM_ID= property. You can also assign a specific class to
a headline with the =HTML_HEADLINE_CLASS= property.
! Never change the ~org-html-style-default~ constant. Instead, use other
simpler ways of customizing as described above.
*** JavaScript supported display of web pages
--- 13868,13875 ----
a =CUSTOM_ID= property. You can also assign a specific class to
a headline with the =HTML_HEADLINE_CLASS= property.
! Never change the ~org-html-style-default~ and
! ~org-html-multipage-style-default~ constants. Instead, use other
simpler ways of customizing as described above.
*** JavaScript supported display of web pages
***************
*** 13944,13949 ****
--- 13958,14124 ----
variable ~org-infojs-options~. If you always want to apply the script
to your pages, configure the variable ~org-export-html-use-infojs~.
+ *** Multipage HTML specific export options
+ The options and custom variables for HTML export also apply to
+ multipage export. In addition the variables below are applying to
+ multipage export. They can be set using the listed variable name
+ or using an in buffer option using the name without the =org-= at
+ the beginning as in the following example:
+ #+begin_src
+ #+OPTIONS: html-multipage-clear-export-directory:t
+ #+end_src
+
+ - ~org-html-multipage-clear-export-directory~ ::
+
+ #+vindex: org-html-multipage-clear-export-directory
+ Whether to clear all =.html= files in the export directory before
+ writing.
+
+ - ~org-html-multipage-export-directory~ ::
+
+ #+vindex: org-html-multipage-export-directory
+ The directory where the multiple files will be written. Relative to
+ the path of the Org document or absolute.
+
+ - ~org-html-multipage-head-include-default-style~ ::
+
+ #+vindex: org-html-multipage-head-include-default-style
+ Whether to include the default CSS style
+ (=org-html-multipage-style-default=) into every exported file.
+
+ - ~org-html-multipage-join-empty-bodies~ ::
+
+ #+vindex: org-html-multipage-join-empty-bodies
+ Recursively join subheadlines, if a headline doesn't contain any
+ text before its subheadline.
+
+ Example:
+ #+begin_example
+ ,* Headline 1
+ ,** Subheadline 1.1
+ ,*** Subsubheadline 1.1.1
+ Text of Subsubheadline 1.1.1
+ #+end_example
+ will be put on the same HTML page if this option is set, otherwise
+ Headline 1 and Subheadline 1.1 will each be put on a separate HTML
+ page with empty content.
+
+ - ~org-html-multipage-nav-format~ ::
+
+ #+vindex: org-html-multipage-nav-format
+ The HTML format string for the four navigation elements in the top
+ navigation menu of each page. See explanation of the variable
+ ~org-html-multipage-nav-format~.
+
+ - ~org-html-multipage-numbered-filenames~ ::
+
+ #+vindex: org-html-multipage-numbered-filenames
+ Boolean indicating whether filenames in multipage export should get
+ their headline-numbering prepended. Note that this option is
+ independent of the =num:= option and that the backend guarantees
+ that filenames are unique in any case.
+
+ - ~org-html-multipage-open~ ::
+
+ #+vindex: org-html-multipage-open
+ If and where to open the top page of the multipage html after
+ export. Possible values are =browser=, =buffer= or =nil=. Note that
+ all files will always be written, even for the =buffer= case.
+
+ - ~org-html-multipage-postamble-position~ ::
+
+ #+vindex: org-html-multipage-postamble-position
+ The position of the postamble in the html output.
+ Possible choices are =bottom= or =text-content=.
+ See [[*Multipage HTML specific CSS support]]
+
+ - ~org-html-multipage-preamble-position~ ::
+
+ #+vindex: org-html-multipage-preamble-position
+ The position of the postamble in the html output.
+ Possible choices are =top= or =text-content=.
+ See [[*Multipage HTML specific CSS support]]
+
+ - ~org-html-multipage-split-hooks~ ::
+
+ #+vindex: org-html-multipage-split-hooks
+ list of additional custom functions to be called during the export
+ after multipage splitting has taken place and before transcoding
+ with the =info= communication channel as input.
+
+ - ~org-html-multipage-split-level~ ::
+
+ #+vindex: org-html-multipage-split-level
+ Where to split the ORG file into multiple HTML pages. Can be either
+ =toc= for splitting into a separate page for each toc entry or a
+ number defining the maximum headline level for splitting.
+
+ - ~org-html-multipage-toc-to-top~ ::
+
+ #+vindex: org-html-multipage-toc-to-top
+ If t links in the table of contents will always point to the top of
+ the referenced page, otherwise it will link directly to the
+ referenced headline element.
+
+ *** Multipage HTML specific CSS support
+ :PROPERTIES:
+ :DESCRIPTION: Changing the appearance of the Multipage HTML output.
+ :END:
+ #+cindex: CSS, for Multipage HTML export
+ #+cindex: HTML Multipage export, CSS
+
+ #+vindex: org-html-multipage-preamble-position
+ #+vindex: org-html-multipage-preamble-position
+ #+vindex: org-html-multipage-postamble-position
+ In HTML multipage output each page will be generated with the
+ following structure:
+
+ #+begin_example
+ ,* html
+ ,** head
+ ,** body
+ ,*** preamble
+ ,*** org-div-nav-menu
+ ,*** content
+ ,**** table-of-contents
+ ,**** page-main-body
+ ,***** nav-left
+ ,***** page-text-body
+ ,***** nav-right
+ ,*** postamble
+ #+end_example
+
+ The default CSS shipped with org-mode will place a table of contents
+ to the left of the page content below the preamble and the top
+ navigation menu. This table of contents will contain /all/ headlines
+ according to the =toc= option, ignoring any =notoc= option within the
+ document to make every exported page of the document accessible.
+
+ Preamble and postamble can be moved inside the page text body at its
+ top and bottom using =org-html-multipage-preamble-position= and
+ =org-html-multipage-postamble-position= respectively. Elements to be
+ skipped can be hidden by setting their =display= property to =none= in
+ the CSS. Note that the table of contents will only be generated if
+
+ In addition to the single page HTML CSS support (see [[*CSS support]])
+ the HTML Multipage exporter assigns the following special CSS classes
+ to appropriate parts of the document. They are mainly concerned with
+ navigation elements. The table of contents CSS below refers to the
+ table of contents generated for every page of the multipage HTML
+ output and /not/ to any additional toc inside the text body.
+
+ | ~#org-div-nav-menu~ | Top Navigation Menu |
+ | ~#table-of-contents~ | the Table of Contents generated for every output page |
+ | ~#text-table-of-contents~ | the Table of Contents text area after its title |
+ | ~.ul-toc-level-N~ | the ul element of a toc entry with level N. |
+ | ~.toc-level-N~ | the li element of a toc entry with level N. |
+ | ~.toc-hidden~ | the li element of a toc entry to be (optionally) hidden |
+ | ~.toc-entry~ | the a element of a toc entry. |
+ | ~.toc-entry-active~ | The anchor of the toc entry currently active. |
+ | ~#nav-left~ | Navigation contained in the page-main-body div to the previous page. |
+ | ~#nav-right~ | Navigation contained in the page-main-body div to the next page |
+ | | |
+
** LaTeX Export
:PROPERTIES:
:DESCRIPTION: Exporting to @LaTeX{} and processing to PDF.
***************
*** 16655,16666 ****
:UNNUMBERED: notoc
:END:
! The Org export can filter not just for backends, but also for
! specific files through the =BIND= keyword. Here is an example with
! two filters; one removes brackets from time stamps, and the other
! removes strike-through text. The filter functions are defined in
! a code block in the same Org file, which is a handy location for
! debugging.
#+begin_example
,#+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
--- 16830,16842 ----
:UNNUMBERED: notoc
:END:
! The Org export can filter not just for backends, but also for specific
! files through the =BIND= keyword. Here is an example with two
! filters; one removes brackets from time stamps, and the other removes
! strike-through text. The filter functions are defined in a code block
! in the same Org file, which is a handy location for debugging. Note
! that ~org-export-allow-bind-keywords~ has to be non-nil for this to
! work.
#+begin_example
,#+BIND: org-export-filter-timestamp-functions (tmp-f-timestamp)
--/jKJUrk4TV58OzGX--