This isn't really an answer to your question, but I keep all my lectures
for each course in a single file, then export subtrees when I need them.
For me, this works well. I have recently started using a -dwim export
scope based on Kaushal's org-hugo-export-dwim functions. But... I seem to
have lost the code, drat! Anyway, I will write it up again sometime
soon I hope. It's a conveinence function that looks for a an EXPORT_FILE
property in the parents of the current subtree and chooses that as the
export scope. I had written -- I think i a lost scratch buffer! -- versions
for both reveal and my derived "huveal" backend which sends my slides to a
website.
On Thu, Nov 1, 2018 at 7:16 AM Nik Clayton wrote:
> Hoi,
>
> What's the best way to process (ideally using the org-element API) a
> collection of .org files as one larger file?
>
> I'm using Org + ox-reveal to write the course material for a three month
> course. This is a lot of material, so keeping it in one Org file is not
> practical (exporting it to the slides takes longer, it's easier to have
> multiple buffers open and switch between them, etc).
>
> To help ensure that I'm covering the content in a sensible order I've
> given each heading optional TOPIC and REQUIREMENTS properties. When a new
> topic is introduced I add an identifier to the TOPIC property to the
> heading that introduces it, and if a heading requires that a topic or
> topics have been introduced I add the topic identifiers as a
> space-separated string to the REQUIREMENTS property.
>
> I have a small function that uses the org-element API to iterate over all
> the headings in a file and tell if if I have any headings that list a
> requirement without that requirement appearing in a TOPIC property earlier
> in the file.
>
> This works when the file is self contained.
>
> When I have topics that might be introduced in one file, and later
> referenced in a second file, it obviously doesn't.
>
> I thought one approach would be to have a master Org file that references
> all the others, so course.org that looks like:
>
> #+INCLUDE "day1.org"
> #+INCLUDE "day2.org"
> #+INCLUDE "day3.org"
> ...
>
> However, org-element-parse-buffer doesn't recurse in to the included
> files, so this doesn't work.
>
> I could write my own function to create the recursive expansion of all the
> content, but before I do that I thought I'd check to see if there's a
> better way of doing what I'm trying to achieve.
>
> Any ideas?
>
> N
>