[Top][All Lists]

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

Re: [O] Parsing property drawers in subtree scope exports

From: Kaushal Modi
Subject: Re: [O] Parsing property drawers in subtree scope exports
Date: Thu, 06 Jul 2017 17:08:32 +0000

On Sat, Jul 1, 2017 at 12:08 PM Nicolas Goaziou <address@hidden> wrote:
Kaushal Modi <address@hidden> writes:

> I didn't follow that. Do you mean that the "EXPORT_" is a special
> prefix?

I do. See (info "(org) Export settings").

Thanks! Sorry for not reading that earlier. For reference:

> When exporting sub-trees, special node properties in them can override the above keywords. They are special because they have an ‘EXPORT_’ prefix. For example, ‘DATE’ and ‘OPTIONS’ keywords become, respectively, ‘EXPORT_DATE’ and ‘EXPORT_OPTIONS’. Except for ‘SETUPFILE’, all other keywords listed above have an ‘EXPORT_’ equivalent. 
> Should that be added to these?
> =====
> :options-alist '((:hugo-front-matter-format "HUGO_FRONT_MATTER_FORMAT" nil
> org-hugo-front-matter-format)
> (:hugo-tags "HUGO_TAGS" nil nil)
> =====

If you set this, you can access to EXPORT_HUgo_TAGS property
with :hugo-tags.

Thanks. That works. Just curious though.. if one specifies certain keywords to be exporter specific keywords in the backend definition in :options-alist, it is evident that those keywords are specifically for export. Should the requirement to have "EXPORT_" prefix before them be relaxed? Do you foresee things not happening right if we started doing that?
> I already tried above, but I don't know how to get the ":HUGO_TAGS" value
> from the property drawer, in subtreep export only, in the body filter (with
> only body and info available).

(plist-get info :hugo-tags)

I was already doing that, but I was missing the "EXPORT_" prefix in the property drawer keys. Thanks!
> Otherwise, you simply need to retrieve it and store it before calling
>> `org-export-to-file' or whatever.
> Hmm, will give this a try.. may be look at the pre export hook?

You can also do that, if you don't use the "EXPORT_" prefix above.

Using "EXPORT_" prefix works, but then the keys become too wordy; example: EXPORT_HUGO_CATEGORIES.

So I have two options:

- Make use of the inbuilt EXPORT_ prefix and get rid of the "HUGO_" prefix from the exporter backend definition. Then if categories are specified per-Org-file, it would look like "#+CATEGORIES: foo bar", and if they are specified per subtree, it would look like ":EXPORT_CATEGORIES: foo bar" in the property drawer.
- Do not use the "EXPORT_" keyword in the property drawers, but then either do the pre-export parsing, or.. above suggestion to update Org ox to not require "EXPORT_" before FOO if FOO is a special keyword defined in the backend?
However, you need to expand the buffer first, because it will be
narrowed to the current subtree.
I need exactly that. My idea is to have a single Org file with one subtree per a blog post. So each subtree will have meta data about that post, like data, categories, etc.

Kaushal Modi

reply via email to

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