From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: Tabular overview of org-element.el Date: Sat, 20 Apr 2013 17:18:47 +0200 Message-ID: <87obd944dk.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:54268) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UTZZE-0004q1-AZ for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 11:19:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UTZZC-0000d4-FD for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 11:19:08 -0400 Received: from plane.gmane.org ([80.91.229.3]:39034) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UTZZC-0000cm-5d for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 11:19:06 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1UTZZ5-0007jx-TR for emacs-orgmode@gnu.org; Sat, 20 Apr 2013 17:18:59 +0200 Received: from e178055128.adsl.alicedsl.de ([85.178.55.128]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Apr 2013 17:18:59 +0200 Received: from tjolitz by e178055128.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 20 Apr 2013 17:18:59 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi Nicolas, Hi List, I prepared a tabular overview of org-element.el to get a better understanding of how Nicolas modeled and Org file, and I thought it might be useful for others so I share it here. I did not know where to put 'plain-link', but maybe I simply overlooked it in one place. ___________________________________ ORG ELEMENTS - A TABULAR OVERVIEW Thorsten Jolitz ___________________________________ <2013-04-20 Sa> Table of Contents _________________ 1 org-element: Elements, Objects and Successors .. 1.1 Elements ..... 1.1.1 Abbreviations ..... 1.1.2 Element List .. 1.2 Objects ..... 1.2.1 Object List ..... 1.2.2 Object Variables .. 1.3 Successors ..... 1.3.1 Abbreviations ..... 1.3.2 Sets of Successors ..... 1.3.3 Objects restrictions 2 org-element: Keywords and Properties .. 2.1 Affiliated Keywords .. 2.2 Document Properties 3 Left-over 1 org-element: Elements, Objects and Successors =============================================== 1.1 Elements ~~~~~~~~~~~~ 1.1.1 Abbreviations ------------------- Abbrev Meaning ------------------------------------------- GE? Greater Element? SecVal-Location Secondary Value Location Recur? Recursive? 1.1.2 Element List ------------------ "Complete list of element types." "List of recursive element types aka Greater Elements." "Alist between element types and location of secondary value." Element GE? SecVal-Location ------------------------------------------- babel-call center-block X clock comment comment-block diary-sexp drawer X dynamic-block X example-block export-block fixed-width footnote-definition X headline X :title horizontal-rule inlinetask X :title item X :tag keyword latex-environment node-property paragraph plain-list X planning property-drawer X quote-block X quote-section section X special-block X src-block table X table-row verse-block 1.2 Objects ~~~~~~~~~~~ 1.2.1 Object List ----------------- "Complete list of object types." "List of recursive object types." "Alist of translations between object type and successor name. Sharing the same successor comes handy when, for example, the regexp matching one object can also match the other object." "Alist between element types and location of secondary value." Object Recur? Successor(type) SecVal-Location ----------------------------------------------------------------- bold X text-markup code text-markup entity latex-or-entity export-snippet X footnote-reference X :inline-definition inline-babel-call X inline-src-block X italic X text-markup line-break X latex-fragment latex-or-entity link X X macro X radio-target X X statistics-cookie X strike-through X text-markup subscript X sub/superscript superscript X sub/superscript table-cell X X target X timestamp X underline X text-markup verbatim text-markup 1.2.2 Object Variables ---------------------- "List of buffer-local variables used when parsing objects. These variables are copied to the temporary buffer created by `org-export-secondary-string'." object-variables '(org-link-abbrev-alist-local) Example for `org-link-abbrev-alist-local' ,---- | (("bib" . "~/bibtex/literatur.bib::%s") | ("notes" . "~/git/org/notes.org::#%s") | ("papers" . "~/doc/papers/%s.pdf")) `---- 1.3 Successors ~~~~~~~~~~~~~~ 1.3.1 Abbreviations ------------------- abbrev meaning ----------------------------------------- all all successors std-set standard-set std-set-nlb standard-set-no-line-break l-set link-set tc-set table-cell-set tr-set table-row-set rt-set radio-target-set 1.3.2 Sets of Successors ------------------------ "Complete list of successors." members\set all std-set std-set-nlb l-set tc-set tr-set rt-set ------------------------------------------------------------------------------ export-snippet X X X X X footnote-reference X X X X inline-babel-call X X X X inline-src-block X X X X latex-or-entity X X X X X X line-break X X link X X X X macro X X X X X plain-link X X radio-target X X X X statistics-cookie X X X X sub/superscript X X X X X X table-cell X X target X X X X text-markup X X X X X timestamp X X X X 1.3.3 Objects restrictions -------------------------- "CAR is an element or object type containing objects and CDR is a list of successors that will be called within an element or object of such type. For example, in a `radio-target' object, one can only find entities, latex-fragments, subscript and superscript. This alist also applies to secondary string. For example, an `headline' type element doesn't directly contain objects, but still has an entry since one of its properties (`:title') does." object-restrictions obj/elem std-set std-set-nlb l-set tc-set tr-set rt-set ------------------------------------------------------------------------------------ bold obj X footnote-reference obj X headline elem X inlinetast elem X italic obj X item elem X keyword elem X link obj X paragraph elem X radio-target obj X strike-through obj X subscript obj X superscript obj X table-cell obj X table-row elem X underline obj X verse-block elem X 2 org-element: Keywords and Properties ====================================== 2.1 Affiliated Keywords ~~~~~~~~~~~~~~~~~~~~~~~ "List of affiliated keywords as strings. By default, all keywords setting attributes (i.e. \"ATTR_LATEX\") are affiliated keywords and need not to be in this list." "List of affiliated keywords that can occur more than once in an element. Their value will be consed into a list of strings, which will be returned as the value of the property. This list is checked after translations have been applied. See `org-element-keyword-translation-alist'. By default, all keywords setting attributes (i.e. \"ATTR_LATEX\") allow multiple occurrences and need not to be in this list." "List of affiliated keywords whose value can be parsed. Their value will be stored as a secondary string: a list of strings and objects. This list is checked after translations have been applied. See `org-element-keyword-translation-alist'." "List of affiliated keywords which can have a secondary value. In Org syntax, they can be written with optional square brackets before the colons. For example, RESULTS keyword can be associated to a hash value with the following: This list is checked after translations have been applied. See `org-element-keyword-translation-alist'." "Alist of usual translations for keywords. The key is the old name and the value the new one. The property holding their value will be named after the translated name." keyword (new) multiple? parsed? dual? translations (old) ------------------------------------------------------------------------ "CAPTION" X X X "HEADER" X "HEADERS" "NAME" "DATA" "LABEL" "RESNAME" "SOURCE" "SRCNAME" "TBLNAME" "PLOT" "RESULTS" X "RESULT" 2.2 Document Properties ~~~~~~~~~~~~~~~~~~~~~~~ "List of properties associated to the whole document. Any keyword in this list will have its value parsed and stored as a secondary string." property ---------- "AUTHOR" "DATE" "TITLE" 3 Left-over =========== Not element, not object - what is it? ,----------- plain-link `----------- -- cheers, Thorsten