emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Martin Edström" <meedstrom@runbox.eu>
To: "Sébastien Gendre" <seb@k-7.ch>
Cc: "emacs-orgmode" <emacs-orgmode@gnu.org>
Subject: Re: Properties drawer at buffer/file level
Date: Mon, 29 Jul 2024 19:57:25 +0200 (CEST)	[thread overview]
Message-ID: <E1sYUcf-0004hw-89@rmmprod06.runbox> (raw)
In-Reply-To: <87h6c8xgpy.fsf@k-7.ch>

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




  reply	other threads:[~2024-07-29 17:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-29 16:02 Properties drawer at buffer/file level Sébastien Gendre
2024-07-29 17:03 ` Martin Edström
2024-07-29 17:15   ` Sébastien Gendre
2024-07-29 17:57     ` Martin Edström [this message]
2024-07-29 18:41       ` Sébastien Gendre
2024-07-29 17:09 ` Martin Edström

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=E1sYUcf-0004hw-89@rmmprod06.runbox \
    --to=meedstrom@runbox.eu \
    --cc=emacs-orgmode@gnu.org \
    --cc=seb@k-7.ch \
    /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).