emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Exporting to multiple files


From: Eric Abrahamsen
Subject: Re: [O] Exporting to multiple files
Date: Wed, 01 Oct 2014 11:20:29 +0800
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (gnu/linux)

Marcin Borkowski <address@hidden> writes:

> On 2014-03-09, at 02:34, Marcin Borkowski wrote:
>
>> Hi all,
>>
>> I'd like to export an Org-mode file to /multiple/ HTML files.  For
>> instance, I might want to convert all first and second level headings
>> to files, and third-level headings to <h1>, fourth-level ones to <h2>
>> inside these files etc.  Is that possible?  I looked into the docs, but
>> didn't find anything like this.
>
> Hi all,
>
> I'm now coming back to this old question of mine, now a bit more
> determined to actually code something (as opposed to just thinking about
> it).
>
> One question: is it a good idea to implement my custom options, set in
> the
>
> #+:OPTIONS
>
> line?  If yes (that's what I assume), how to do it?

I'm pretty sure there's nothing out of the box that does this.

I've spent time thinking about this off and on in the past, as I've been
(very slowly) chewing through a direct-to-epub export backend, and it
can be nice to have multiple HTML files in the epub package. Splitting
the files is a bit of a problem, but the real pain in the neck is
re-writing internal links so they're still valid. I thought about using
Org publishing mechanism instead of exporting, but the two systems seem
pretty locked in their paradigms: publishing is many-to-many, exporting
is one-to-one (or many-to-one, with includes). There's no built-in
option for one-to-many.

If you don't care about internal links, you'll still have to largely
short-circuit the export process. You could use org-element-map to zip
over the headlines, breaking off subtrees where appropriate and putting
them in a temporary Org-mode buffer, using org-promote-subtree to change
the depth, and then exporting the buffer to an appropriate file.

Or you could go the parsed route: split the file into buffers, parse
each buffer, remove top-level headings, increment the :level property of
all remaining headings, and then use `org-export-data' to get the HTML.

I'm sort of just thinking out loud here, I'm not sure what the best
approach would be.

Eric




reply via email to

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