From: Orm Finnendahl <orm.finnendahl@selma.hfmdk-frankfurt.de>
To: emacs-orgmode@gnu.org
Subject: Re: multipage html output
Date: Thu, 4 Jul 2024 11:50:42 +0200 [thread overview]
Message-ID: <ZoZwclqwICOoACA2@orm-t14s> (raw)
In-Reply-To: <87msmypwfw.fsf@localhost>
Hi,
Am Mittwoch, den 03. Juli 2024 um 11:05:39 Uhr (+0000) schrieb Ihor
Radchenko:
>
> Not really. ox-publish is more about exporting multiple input
> .org/non-.org files into outputs.
>
> I'd rather see this kind of feature being a part of ox.el - an option to
> export one .org to many smaller files. Currently, we only have an option
> to export one .org (or part of it) to a single string/file. (And then,
> ox-odt has to try various kludges to make things work as expected with
> .odt, which consist of multiple files under the hood).
that is/was my intention: Basically there was only a very small
change to ox.el necessary to make it work (it's mentioned in the
comment on top of ox-multipage-html in my github repository):
Currently `org-export-as' combines parsing the org document into a
global parse tree with all additional options applied and serializing
that into the final output target format. My code simply splits the
code sections of these tasks into two separate functions, which are
called by org-export-as, `org-export--collect-tree-info' and
`org-export--transcode-headline'. The advantage of this approach is
that it is fully compatible with the prior code, but gives the
necessary flexibility to the backend export code to split up the
global parse tree before serializing.
The multipage html backend (ox-html-multipage.el) takes care of
generating the global parse tree with org-export--headline, divides
that tree into the subtrees of the individual pages, then calls the
serializing function for each of the subtrees and writes the results
to file. Is that along the lines of what you meant?
In the meantime I thought about the proposed backend. Maybe it's a
good idea to integrate the single page *and* the multipage backend
into one backend altogether: The Backend *always* produces multipage
output, but you can define the level at which the pages are split with
an #+OPTION: in the org file. Setting the default level to 0 if the
option is not set will generate the exact same output as the old
backend without breaking anything for anybody. I'm quite sure it'll
work and as I said it's mainly done and wouldn't require a lot of
work.
What do you think?
--
Orm
next prev parent reply other threads:[~2024-07-04 9:51 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-03 9:44 multipage html output Orm Finnendahl
2024-07-03 10:33 ` Dr. Arne Babenhauserheide
2024-07-03 10:58 ` Christian Moe
2024-07-03 11:05 ` Ihor Radchenko
2024-07-03 14:34 ` Christian Moe
2024-07-04 9:50 ` Orm Finnendahl [this message]
2024-07-04 11:41 ` Ihor Radchenko
2024-07-04 13:33 ` Orm Finnendahl
2024-07-04 16:20 ` Ihor Radchenko
2024-07-07 19:33 ` Orm Finnendahl
2024-07-08 15:29 ` Ihor Radchenko
2024-07-08 19:12 ` Orm Finnendahl
2024-07-09 17:55 ` Ihor Radchenko
2024-07-10 18:03 ` Orm Finnendahl
2024-07-10 18:53 ` Ihor Radchenko
2024-07-07 20:50 ` Orm Finnendahl
2024-07-08 15:05 ` Ihor Radchenko
2024-07-08 15:41 ` Orm Finnendahl
2024-07-08 15:56 ` Ihor Radchenko
2024-07-08 19:18 ` Orm Finnendahl
2024-07-09 18:08 ` Ihor Radchenko
2024-07-10 19:37 ` Orm Finnendahl
2024-07-11 12:35 ` Ihor Radchenko
2024-07-13 7:44 ` Orm Finnendahl
2024-07-13 10:13 ` Ihor Radchenko
2024-07-13 11:01 ` Orm Finnendahl
2024-07-23 8:56 ` Orm Finnendahl
2024-07-23 10:24 ` Ihor Radchenko
2024-07-23 11:35 ` Orm Finnendahl
2024-07-23 12:52 ` Ihor Radchenko
2024-07-23 14:56 ` Orm Finnendahl
[not found] ` <Zp_EhDDxxYRWKFPL@orm-t14s>
[not found] ` <874j8g2lvq.fsf@localhost>
2024-07-23 15:36 ` Orm Finnendahl
2024-07-23 14:13 ` Ihor Radchenko
[not found] ` <Zp_b2lL2SzDswa-w@orm-t14s>
2024-07-23 17:10 ` Ihor Radchenko
2024-07-23 20:35 ` Orm Finnendahl
2024-07-24 10:20 ` Ihor Radchenko
2024-07-24 11:24 ` Orm Finnendahl
2024-07-25 9:49 ` Orm Finnendahl
2024-07-25 9:57 ` Ihor Radchenko
2024-07-25 9:57 ` Orm Finnendahl
2024-07-25 10:04 ` Ihor Radchenko
2024-07-25 14:59 ` Orm Finnendahl
2024-07-27 19:24 ` Orm Finnendahl
2024-07-27 19:39 ` Ihor Radchenko
2024-08-05 16:52 ` Orm Finnendahl
2024-08-05 18:22 ` Ihor Radchenko
2024-08-06 7:19 ` Orm Finnendahl
2024-08-06 18:47 ` Orm Finnendahl
2024-08-06 20:04 ` Orm Finnendahl
2024-08-10 12:32 ` Ihor Radchenko
2024-08-11 10:54 ` Orm Finnendahl
2024-08-11 13:47 ` Ihor Radchenko
2024-08-11 14:44 ` Orm Finnendahl
2024-08-12 8:35 ` Orm Finnendahl
2024-08-12 17:10 ` Ihor Radchenko
2024-08-12 18:58 ` Orm Finnendahl
2024-08-17 7:21 ` Rudolf Adamkovič
2024-08-17 14:05 ` Ihor Radchenko
2024-08-19 16:31 ` Orm Finnendahl
2024-08-22 12:27 ` Ihor Radchenko
2024-07-26 8:22 ` Orm Finnendahl
2024-07-27 13:01 ` Ihor Radchenko
2024-07-27 14:25 ` Orm Finnendahl
2024-07-23 14:19 ` Ihor Radchenko
2024-07-23 15:13 ` Orm Finnendahl
2024-07-23 16:20 ` Ihor Radchenko
2024-07-23 17:02 ` Orm Finnendahl
2024-07-23 17:13 ` Ihor Radchenko
2024-07-23 19:00 ` Orm Finnendahl
2024-07-03 21:11 ` Rudolf Adamkovič
-- strict thread matches above, loose matches on Subject: below --
2024-07-06 5:47 Pedro Andres Aranda Gutierrez
2024-07-06 9:04 ` Orm Finnendahl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZoZwclqwICOoACA2@orm-t14s \
--to=orm.finnendahl@selma.hfmdk-frankfurt.de \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).