[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Properties drawer at buffer/file level
From: |
Martin Edström |
Subject: |
Re: Properties drawer at buffer/file level |
Date: |
Mon, 29 Jul 2024 19:57:25 +0200 (CEST) |
That's why the command puts them at the top. That's where it'll work.
As for changing it so they can be below the title, a question is how far below?
Realize that #+keywords can actually be anywhere in the document, interspersed
with body text. We'd at least need something like an `org-end-of-metadata`
function to jump to the first non-keyword text. But that is complicated too,
because people do comment-out keywords and leave blank lines, e.g.:
#+title: New title
# #+title: Old title
#+date: 2024-07-24
which could easily result in putting the drawer amidst these lines, resulting
in this mess:
#+title: New title
:PROPERTIES:
...
:END:
# #+title: Old title
#+date: 2024-07-24
Maybe the discussion from 2019 can shed more light on the matter:
https://lists.gnu.org/archive/html/emacs-orgmode/2019-10/msg00027.html.
Bit off-topic, but I have still not understood what functionality the
file-level drawers actually enable. I suppose dropping support is out of the
question? It seems every other function I write has to have special-purpose
code to handle the case of outline level 0... it's a maintenance burden. I got
the impression it was only added due to org-roam, but it does not actually need
them. It works fine with a traditional top-level heading instead of a #+title.
Martin Edström
On Mon, 29 Jul 2024 19:15:05 +0200, Sébastien Gendre <seb@k-7.ch> wrote:
>
> I get nil.
>
>
>
> "Martin Edström" <meedstrom@runbox.com> writes:
>
> > The property drawer has to come first for technical reasons. Just try
> > manually moving the property drawer beneath the title, then do
> >
> > M-: (org-entry-get nil "ID")
> >
> > and what do you get? Nil.
> >
> > Martin
> >
> > On Mon, 29 Jul 2024 18:02:35 +0200, Sébastien Gendre <seb@k-7.ch> wrote:
> >
> >> Hello,
> >>
> >>
> >> If I set a property with `(org-set-property)' when the point is at the
> >> top of a buffer, before any heading, I got a property drawer inserted at
> >> in the first line of the buffer.
> >>
> >> But if I already have buffer settings, like "#+TITLE:", the property
> >> drawer is put before these settings.
> >>
> >> Is it possible to tell Org-mode to put the buffer properties drawer after
> >> the buffer settings ?
> >>
> >>
> >> More context:
> >>
> >> I try to use Org-roam to take notes about books I read. With this, I got
> >> 1 file per book, with the title of the book set as buffer setting
> >> "#+TITLE:".
> >>
> >> But when I add other information (like author, editor, etc)
> >> into a property drawer of my note, these additional info are inserted
> >> before the title.
> >>
> >> On a new note, I got this:
> >>
> >> :PROPERTIES:
> >> :ID: A-unique-ID
> >> :Author: Author Name
> >> :Editor: Editor Name
> >> :END:
> >> #+Title: Book title
> >>
> >>
> >> Instead of this:
> >>
> >> #+Title: Book title
> >> :PROPERTIES:
> >> :ID: A-unique-ID
> >> :Author: Author Name
> >> :Editor: Editor Name
> >> :END:
> >>
> >> Which is visually very different from what I got when the property
> >> drawer is set for a heading. And the actual result feel less intuitive
> >> than what I got with heading.
> >>
> >>
> >> Best regards
> >>
> >> -------
> >> Gendre Sébastien