Hi Nicolas, > -----Original Message----- > From: Nicolas Goaziou <m...@nicolasgoaziou.fr> > Sent: den 1 juni 2019 23:01 > To: Gustav Wikström <gus...@whil.se> > Cc: emacs-orgmode@gnu.org > Subject: Re: Proposal for new document-level syntax > > I only skimmed over your proposal, as I don't have much time. I'm sorry > if you answered this already, but I don't understand how what you > suggest would differ from regular keywords.
No worries. I think I explained but it can be further detailed. What I mean is that any property you can think of should be possible to add to a document as a keyword with the syntax: #+{PROPERTY}: {Value} But only at the beginning of a file, before any other content. The only reason for defining properties like that is for them to be visible outside of the property drawer. I'm thinking mostly of =#+TITLE= and similar keywords. I'd like to depricate =#+PROPERTY:= since it breaks the outline hierarchy and doens't follow the convention for how properties are defined inside headlines. Removing the "old" way of defining properties for the whole buffer will make property-syntax defined the same for documents and headlines. With the slight extention of allowing arbitrary keywords to stand for properties at the beginning of the buffer. Note that we already have "document property keywords" in org-mode. Less limited since they're not positionally contained. And only for a limited set of keywords; the "export keywords". (See [[info:org#Export Settings]]) The proposal has a side-effect of reducing the complexity for keywords.[fn:1] I did an evaluation of available keywords in org-mode today by going through the documentation. And there are *lots* of uses for keywords today. Making keywords easier to use, by removing the need for them in many cases, hopefully will help future org-moders. [fn:1] All keywords that have outline property equivalences can be deprecated and later removed since we're introducing a property drawer on the document level. All keywords that are meant for customizations that don't have an outline property equivalent can be *moved* into the setting drawer. That only leaves keywords that have real meaning in the outline. =#+NAME=, =#+TOC=, =#+INCLUDE=, for example. > > As a reminder: > - you can create, and support, as many keywords as you want; > - keywords all operate at the "document-level"; > - keywords can be located anywhere in the document. > > I think Org keywords already provide everything you need. If they > don't, I would suggest to improve them instead of creating something > else. In my opinion property drawers is the improvement which in time will make the existing property-keyword redundant. With regards, Gustav