emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Custom <<anchor>> possibility?
@ 2021-05-20 19:25 Jean Louis
  2021-05-20 19:59 ` Nicolas Goaziou
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Louis @ 2021-05-20 19:25 UTC (permalink / raw)
  To: emacs-orgmode

Is it possible to create a custom <<anchor>>:

From: (info "(org) Internal Links")

     1. one item
     2. <<target>>another item
     Here we refer to item [[target]].

That is fine, however, in the HTML output the <<target>> will become
something like: <li><a id="orgc0c2c98"></a>another item</li>

As I am developing finely grained referenced Org outputs I would need
the id="orgc0c2c98" to be defined how I wish it and not interpolated
into something random.

Is there a possibility to tell Org, that <<target>> really remains
"target" as in id="target" instead of a random ID?


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
https://rms-support-letter.github.io/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 19:25 Custom <<anchor>> possibility? Jean Louis
@ 2021-05-20 19:59 ` Nicolas Goaziou
  2021-05-20 20:19   ` Jean Louis
  0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Goaziou @ 2021-05-20 19:59 UTC (permalink / raw)
  To: emacs-orgmode

Hello,

Jean Louis <bugs@gnu.support> writes:

> Is it possible to create a custom <<anchor>>:
>
> From: (info "(org) Internal Links")
>
>      1. one item
>      2. <<target>>another item
>      Here we refer to item [[target]].
>
> That is fine, however, in the HTML output the <<target>> will become
> something like: <li><a id="orgc0c2c98"></a>another item</li>
>
> As I am developing finely grained referenced Org outputs I would need
> the id="orgc0c2c98" to be defined how I wish it and not interpolated
> into something random.
>
> Is there a possibility to tell Org, that <<target>> really remains
> "target" as in id="target" instead of a random ID?

See `org-html-prefer-user-labels'.

Regards.

-- 
Nicolas Goaziou


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 19:59 ` Nicolas Goaziou
@ 2021-05-20 20:19   ` Jean Louis
  2021-05-20 22:18     ` Samuel Wales
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Louis @ 2021-05-20 20:19 UTC (permalink / raw)
  To: emacs-orgmode

* Nicolas Goaziou <mail@nicolasgoaziou.fr> [2021-05-20 23:00]:
> > Is there a possibility to tell Org, that <<target>> really remains
> > "target" as in id="target" instead of a random ID?
> 
> See `org-html-prefer-user-labels'.

Thanks.


-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
https://rms-support-letter.github.io/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 20:19   ` Jean Louis
@ 2021-05-20 22:18     ` Samuel Wales
  2021-05-20 23:00       ` Jean Louis
  2021-05-21 12:51       ` Nicolas Goaziou
  0 siblings, 2 replies; 8+ messages in thread
From: Samuel Wales @ 2021-05-20 22:18 UTC (permalink / raw)
  To: emacs-orgmode

thanks for pointing us to this variable.

docstring says "This process ensures that these values are unique and
valid...", so it sounds like you could create non-unique or invalid
identifiers without it.

does this mean, for example, if the user exports a subtree with two
link targets with the same user label, then if this variable is
non-nil, then the output could include more than one link target?

what if this var were nil [the default], my brain is not working well
now, but it seems as if the exporter could still get confused which
target to link to, even if it is not printing duplicatedly-named
targets.

so i am curious what the purpose of the default is?

On 5/20/21, Jean Louis <bugs@gnu.support> wrote:
> * Nicolas Goaziou <mail@nicolasgoaziou.fr> [2021-05-20 23:00]:
>> > Is there a possibility to tell Org, that <<target>> really remains
>> > "target" as in id="target" instead of a random ID?
>>
>> See `org-html-prefer-user-labels'.
>
> Thanks.
>
>
> --
> Jean
>
> Take action in Free Software Foundation campaigns:
> https://www.fsf.org/campaigns
>
> Sign an open letter in support of Richard M. Stallman
> https://stallmansupport.org/
> https://rms-support-letter.github.io/
>
>
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 22:18     ` Samuel Wales
@ 2021-05-20 23:00       ` Jean Louis
  2021-05-20 23:50         ` Samuel Wales
  2021-05-21 12:51       ` Nicolas Goaziou
  1 sibling, 1 reply; 8+ messages in thread
From: Jean Louis @ 2021-05-20 23:00 UTC (permalink / raw)
  To: Samuel Wales; +Cc: emacs-orgmode

* Samuel Wales <samologist@gmail.com> [2021-05-21 01:19]:
> thanks for pointing us to this variable.
> 
> docstring says "This process ensures that these values are unique and
> valid...", so it sounds like you could create non-unique or invalid
> identifiers without it.
> 
> does this mean, for example, if the user exports a subtree with two
> link targets with the same user label, then if this variable is
> non-nil, then the output could include more than one link target?

I may try to give the example here:

<<paragraph>>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
lectus. Sed sit amet ipsum mauris. 

<<paragraph>>
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
ultricies.

which results in:

<a id="paragraph"></a>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
lectus. Sed sit amet ipsum mauris. 
</p>

<p>
<a id="paragraph"></a>
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
ultricies.
</p>

> what if this var were nil [the default], my brain is not working well
> now, but it seems as if the exporter could still get confused which
> target to link to, even if it is not printing duplicatedly-named
> targets.
> 
> so i am curious what the purpose of the default is?

You already discovered the purpose: "This process ensures that these
values are unique and valid..."

Randomly generated internal hyperlinks are not part of author's
document creation and I don't believe they can be unique across all
documents as they rely on randomity, not uniqueness, but they may be
unique in one document. The sentence should say "This process ensures
that these values are unique to specific document and valid"

Problem with it is that those random anchors/links are random, and
that makes it a bad default for user. A user may bookmark the link 

https://www.example.com/doc#org2cf8625 with some title, but with the
next document generation same link may appear as
https://www.example.com/doc#org6ac9de0 and that means that bookmark
disappeared, at least for HTML export.

For me personally I am editing Org text (not files) on a meta level
where all objects have its unique ID and from there I can create Org
files. Then each object of a structure of meta level Org has its
unique ID. Also the document has its unique ID. Then it becomes
possible to automatically create anchors like <<1:17311:31121>> which
are truly unique across all documents, remain immutable, and are
trackable. With "trackable" I mean that it is possible to generate a
list of "referenced by" documents, documents which hyperlink to that
anchor.

-- 
Jean

Take action in Free Software Foundation campaigns:
https://www.fsf.org/campaigns

Sign an open letter in support of Richard M. Stallman
https://stallmansupport.org/
https://rms-support-letter.github.io/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 23:00       ` Jean Louis
@ 2021-05-20 23:50         ` Samuel Wales
  0 siblings, 0 replies; 8+ messages in thread
From: Samuel Wales @ 2021-05-20 23:50 UTC (permalink / raw)
  To: Samuel Wales, emacs-orgmode

thanks for the example.  yes, that is the example i was thinkng of.

i was asking, why does adding uniqueness do any good currently.  if
the user has your example as follows, it does create duplicates in the
output, but i don't get why that all by itself needs fixing by
default.

===vvv
I may try to give the example here:

<<paragraph>>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
lectus. Sed sit amet ipsum mauris.

<<paragraph>>
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
ultricies.

which results in:

<a id="paragraph"></a>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
lectus. Sed sit amet ipsum mauris.
</p>

<p>
<a id="paragraph"></a>
Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
ultricies.
</p>
===^^^

so the duplicates in the output there are apparently a problem.  i am
not sure why, unless a link needs to point to each.  perhaps so that
the reader of the web page can point to each?  but as you say,
generating the document again foils that plot.

[note: i started the thread about toc links.  this is a subtly
different question although it overlaps.]


On 5/20/21, Jean Louis <bugs@gnu.support> wrote:
> * Samuel Wales <samologist@gmail.com> [2021-05-21 01:19]:
>> thanks for pointing us to this variable.
>>
>> docstring says "This process ensures that these values are unique and
>> valid...", so it sounds like you could create non-unique or invalid
>> identifiers without it.
>>
>> does this mean, for example, if the user exports a subtree with two
>> link targets with the same user label, then if this variable is
>> non-nil, then the output could include more than one link target?
>
> I may try to give the example here:
>
> <<paragraph>>
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
> lectus. Sed sit amet ipsum mauris.
>
> <<paragraph>>
> Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
> tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
> ultricies.
>
> which results in:
>
> <a id="paragraph"></a>
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam
> lectus. Sed sit amet ipsum mauris.
> </p>
>
> <p>
> <a id="paragraph"></a>
> Vivamus fermentum semper porta. Nunc diam velit, adipiscing ut
> tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper
> ultricies.
> </p>
>
>> what if this var were nil [the default], my brain is not working well
>> now, but it seems as if the exporter could still get confused which
>> target to link to, even if it is not printing duplicatedly-named
>> targets.
>>
>> so i am curious what the purpose of the default is?
>
> You already discovered the purpose: "This process ensures that these
> values are unique and valid..."
>
> Randomly generated internal hyperlinks are not part of author's
> document creation and I don't believe they can be unique across all
> documents as they rely on randomity, not uniqueness, but they may be
> unique in one document. The sentence should say "This process ensures
> that these values are unique to specific document and valid"
>
> Problem with it is that those random anchors/links are random, and
> that makes it a bad default for user. A user may bookmark the link
>
> https://www.example.com/doc#org2cf8625 with some title, but with the
> next document generation same link may appear as
> https://www.example.com/doc#org6ac9de0 and that means that bookmark
> disappeared, at least for HTML export.
>
> For me personally I am editing Org text (not files) on a meta level
> where all objects have its unique ID and from there I can create Org
> files. Then each object of a structure of meta level Org has its
> unique ID. Also the document has its unique ID. Then it becomes
> possible to automatically create anchors like <<1:17311:31121>> which
> are truly unique across all documents, remain immutable, and are
> trackable. With "trackable" I mean that it is possible to generate a
> list of "referenced by" documents, documents which hyperlink to that
> anchor.
>
> --
> Jean
>
> Take action in Free Software Foundation campaigns:
> https://www.fsf.org/campaigns
>
> Sign an open letter in support of Richard M. Stallman
> https://stallmansupport.org/
> https://rms-support-letter.github.io/
>
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-20 22:18     ` Samuel Wales
  2021-05-20 23:00       ` Jean Louis
@ 2021-05-21 12:51       ` Nicolas Goaziou
  2021-05-21 19:28         ` Samuel Wales
  1 sibling, 1 reply; 8+ messages in thread
From: Nicolas Goaziou @ 2021-05-21 12:51 UTC (permalink / raw)
  To: Samuel Wales; +Cc: emacs-orgmode

Hello,

Samuel Wales <samologist@gmail.com> writes:

> so i am curious what the purpose of the default is?

I think the purpose of the default value is to offer a solution that
works for everyone. It is certainly not the best one in all situations.

For example, I heard that even in 2021, using full Unicode in a URL is
not good idea. Yet, some users may want to use Unicode symbols in
a target.

Regards,
-- 
Nicolas Goaziou


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Custom <<anchor>> possibility?
  2021-05-21 12:51       ` Nicolas Goaziou
@ 2021-05-21 19:28         ` Samuel Wales
  0 siblings, 0 replies; 8+ messages in thread
From: Samuel Wales @ 2021-05-21 19:28 UTC (permalink / raw)
  To: Samuel Wales, emacs-orgmode

tahnk you.  that makes sense for validity.  still not sure about
uniqueness.  it's not needed for me to understand, though.
of course with across-export link stability then uniqueness would be meaningful.


On 5/21/21, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
> Hello,
>
> Samuel Wales <samologist@gmail.com> writes:
>
>> so i am curious what the purpose of the default is?
>
> I think the purpose of the default value is to offer a solution that
> works for everyone. It is certainly not the best one in all situations.
>
> For example, I heard that even in 2021, using full Unicode in a URL is
> not good idea. Yet, some users may want to use Unicode symbols in
> a target.
>
> Regards,
> --
> Nicolas Goaziou
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-21 19:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-20 19:25 Custom <<anchor>> possibility? Jean Louis
2021-05-20 19:59 ` Nicolas Goaziou
2021-05-20 20:19   ` Jean Louis
2021-05-20 22:18     ` Samuel Wales
2021-05-20 23:00       ` Jean Louis
2021-05-20 23:50         ` Samuel Wales
2021-05-21 12:51       ` Nicolas Goaziou
2021-05-21 19:28         ` Samuel Wales

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).