emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Tabular overview of org-element.el


From: Nicolas Goaziou
Subject: Re: [O] Tabular overview of org-element.el
Date: Sat, 20 Apr 2013 19:42:58 +0200

Thorsten Jolitz <address@hidden> writes:

> Nicolas Goaziou <address@hidden> writes:
>
>> Hello,
>>
>> Thorsten Jolitz <address@hidden> writes:
>>
>>> 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.
>>
>> It belongs to `org-element-all-successors', which means it is
>> a successor. Actually, it is a dumbed down successor for links, as it
>> only finds plain links, i.e. links with no markup at all. E.g.,
>>
>>   http://orgmode.org
>>
>> This is necessary as some contexts (i.e. link descriptions) can only
>> contain such links.
>
>
> Whats kind of confusing for me is that all other successors are either
> 'atomic' objects or 'object-categories' containing 'atomic' objects:
>
> ,--------------------------------------------------------------------
> | 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
> `--------------------------------------------------------------------
>
> Only plain-link is an 'outlier' in this systematic. What is a link like 
>
> ,-------------------
> | http://orgmode.org
> `-------------------
>
> then, when encountered in an Org document? If its not an object nor an
> element, then it is (anonymous) part of the String that forms a paragraph?
> Its easy to understand that some objects can be successors of other
> objects/elements, others not, and that its sometimes convenient to
> organize similar successor objects into successor-categories. 
>
> Its not so easy to understand how something can be a successor but not
> an object.

"http://orgmode.org"; _is_ a link object, like [[http://orgmode.org]].
There are two successors for the same object type, one being more
selective than the other.

This special successor was introduced (lately) because there was no
image syntax in Org. So we needed to recognize:

  [[http://orgmode.org][./unicorn.jpg]]

as an image pointing to an URL. In fact, we could separate `plain-link'
objects from `link' objects, but the benefit is not obvious, so
`plain-link' is just considered as a sub-type of `link'.


Regards,

-- 
Nicolas Goaziou



reply via email to

[Prev in Thread] Current Thread [Next in Thread]