emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Kaushal Modi <kaushal.modi@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: emacs-org list <emacs-orgmode@gnu.org>
Subject: Re: Parsing property drawers in subtree scope exports
Date: Thu, 06 Jul 2017 17:08:32 +0000	[thread overview]
Message-ID: <CAFyQvY0jY+2u8EYG=Z9ZM6ur2b-8ajJW0=D3r4PesJ3uDGDsAg@mail.gmail.com> (raw)
In-Reply-To: <87injc2l95.fsf@nicolasgoaziou.fr>

[-- Attachment #1: Type: text/plain, Size: 2996 bytes --]

On Sat, Jul 1, 2017 at 12:08 PM Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:

> Kaushal Modi <kaushal.modi@gmail.com> 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

[-- Attachment #2: Type: text/html, Size: 4296 bytes --]

  reply	other threads:[~2017-07-06 17:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-01  6:58 Parsing property drawers in subtree scope exports Kaushal Modi
2017-07-01  7:48 ` Nicolas Goaziou
2017-07-01 13:09   ` Kaushal Modi
2017-07-01 16:08     ` Nicolas Goaziou
2017-07-06 17:08       ` Kaushal Modi [this message]
2017-07-06 17:19         ` Nicolas Goaziou

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='CAFyQvY0jY+2u8EYG=Z9ZM6ur2b-8ajJW0=D3r4PesJ3uDGDsAg@mail.gmail.com' \
    --to=kaushal.modi@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    /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).