emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [Orgmode] Re: Custom entry IDs in HTML export


From: Daniel Clemente
Subject: Re: [Orgmode] Re: Custom entry IDs in HTML export
Date: Mon, 30 Mar 2009 13:49:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux)

El dv, mar 27 2009, Sebastian Rose va escriure:
>
> What we have now, just as Carstens said:
>
>   # <<human-readable>>
>   * Section B
>
> Creates this headline in HTML:
>
>   <h2 id="sec-2"><a name="human-readable" id="human-readable"></a>2 Section B 
> </h2>
>
> This is enough for all the use cases I can think of.
>

  Yes, this is enough except for two things:
1. The TOC still links to #sec-2 and the user can't change that
2. Your syntax doesn't fold very well in the outliner. I mean: if you use

>   # <<human-readable>>
>   * Section B

  then the comment appears at the end of the previous section, and you can miss 
it when you are viewing the heading „Section B“. I would swap both lines 
(solution 1):

>   * Section B
>   # <<human-readable>>

  But since there are already LOGBOOK drawers under the heading, it would be a 
lot clearer to use a property, like EXPORT_ID (solution 2):

> * Section B
>   :PROPERTIES:
>   :EXPORT_ID: human-readable
>   :END:


  In this way, the TOC can reliably find the EXPORT_ID, and then generate:
>   <h2 id="sec-2"><a name="human-readable" id="human-readable"></a>2 Section B 
> </h2>

  (You could also leave *just* the human-readable id, but having two is not bad.


  I would prefer solution 1, but I don't because I'm not sure that the TOC can 
find the ID if it is written as a comment anywhere under the heading (and 
together with other things).

  Solution 2 involves thus: a new property to specify the human-readable entry 
ID, which will be used to link to the entry. The automatic ID (#sec-2) will 
still work for all entrys.


>
> * Distinguishing automatic and human readable IDs
>
>   One thing I like is, that we now _can_ distinguish the
>   `human-readable-target' (human readable) from the `sec-2' (not human
>   readable and not context related) using a regular expression.
>
>   In org-info.js, I can now prefere the human readable ID in <a> from an
>   automatic created one, and thus use that to create the links for `l'
>   and `L'. The same holds true for other programming languages and
>   parsers.
>
>   If we open the <h3>'s ID for user defined values (bad), we can not
>   distinguish those ID's using a regular expression and there is no way
>   to detect the human readable one. There will be no way to _know_ that
>   the <a>'s ID is the prefered one used for human readable links.
>

  Solution 2 doesn't break the parsing techniques you use; in fact it can also 
make clearer which ID is the human readable one and which one not.


  This is not extremely important; just useful:
- for pages with many incoming links from external sites
- to ensure link integrity (now you can't assure that links will still work in 
1 year ... or in some weeks)
- to avoid that HTML visitors get directed to a wrong section and can't find 
what they searched


  Greetings,
Daniel




reply via email to

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