* Markdown export is non-deterministic?
@ 2022-10-07 22:31 Matias Eyzaguirre
2022-10-08 14:57 ` Max Nikulin
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Matias Eyzaguirre @ 2022-10-07 22:31 UTC (permalink / raw)
To: emacs-orgmode
I’m using org-mode to generate a markdown README for a project that is
under version control. I’ve noticed that the anchor tags used for the
table of contents seem to be annoyingly random and change from export
to export. Is it possible to make the generated ids deterministic?
For example one invocation of ~org-md-export-to-markdown~ will give me
this:
#+begin_example
1. [Introduction](#org8f0a2e0)
2. [Roadmap](#orga3f4ca7)
#+end_example
While exporting a second time, even if there are no changes to the
file, will produce something different such as:
#+begin_example
1. [Introduction](#org775f005)
2. [Roadmap](#orgccee397)
#+end_example
While these identifiers are generally not visible to a reader, they
add noise to the version control diffs. I'm wondering if it's possible
to force the relevantrandom number generator to use a fixed seed or,
more ideally, have the ids be based on the section title (or its
hash)?
Thanks,
Matias
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export is non-deterministic?
2022-10-07 22:31 Markdown export is non-deterministic? Matias Eyzaguirre
@ 2022-10-08 14:57 ` Max Nikulin
2022-10-09 3:50 ` Ihor Radchenko
2022-10-16 9:24 ` Dominique Dumont
2 siblings, 0 replies; 5+ messages in thread
From: Max Nikulin @ 2022-10-08 14:57 UTC (permalink / raw)
To: Matias Eyzaguirre, emacs-orgmode
On 08/10/2022 05:31, Matias Eyzaguirre wrote:
>
> #+begin_example
> 1. [Introduction](#org775f005)
> 2. [Roadmap](#orgccee397)
> #+end_example
>
> While these identifiers are generally not visible to a reader, they
> add noise to the version control diffs. I'm wondering if it's possible
> to force the relevantrandom number generator to use a fixed seed or,
> more ideally, have the ids be based on the section title (or its
> hash)?
You may try to add CUSTOM_ID property to section. Current behavior is
intentional, see e.g.
Nicolas Goaziou… Re: HTML export uses anchor ids which change on every
export. Sat, 29 May 2021 21:50:24 +0200.
https://list.orgmode.org/87bl8tz5dr.fsf@nicolasgoaziou.fr
A long discussion:
Samuel Wales. stability of toc links. Tue, 8 Dec 2020 16:28:46 -0700.
https://list.orgmode.org/CAJcAo8tXVW39h18FUXLtwoDYNKQsFHqCp+YDiyWfLee29B1PRw@mail.gmail.com
Some people managed to implement anchors based on heading titles
TEC. [Interest] Determanistic Org IDs. Sun, 19 Jul 2020 22:27:31 +0800.
https://list.orgmode.org/E1jxAjg-0004Dk-U6@lists.gnu.org
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export is non-deterministic?
2022-10-07 22:31 Markdown export is non-deterministic? Matias Eyzaguirre
2022-10-08 14:57 ` Max Nikulin
@ 2022-10-09 3:50 ` Ihor Radchenko
2022-10-16 9:24 ` Dominique Dumont
2 siblings, 0 replies; 5+ messages in thread
From: Ihor Radchenko @ 2022-10-09 3:50 UTC (permalink / raw)
To: Matias Eyzaguirre; +Cc: emacs-orgmode
Matias Eyzaguirre <matias@fortlogic.net> writes:
> I’m using org-mode to generate a markdown README for a project that is
> under version control. I’ve noticed that the anchor tags used for the
> table of contents seem to be annoyingly random and change from export
> to export. Is it possible to make the generated ids deterministic?
In addition to the detailed explanation by Max, you can use ox-publish.
Publishing will preserve the ids as much as possible.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export is non-deterministic?
2022-10-07 22:31 Markdown export is non-deterministic? Matias Eyzaguirre
2022-10-08 14:57 ` Max Nikulin
2022-10-09 3:50 ` Ihor Radchenko
@ 2022-10-16 9:24 ` Dominique Dumont
2022-10-16 9:44 ` Ihor Radchenko
2 siblings, 1 reply; 5+ messages in thread
From: Dominique Dumont @ 2022-10-16 9:24 UTC (permalink / raw)
To: emacs-orgmode
On Saturday, 8 October 2022 00:31:00 CEST Matias Eyzaguirre wrote:
> I’m using org-mode to generate a markdown README for a project that is
> under version control. I’ve noticed that the anchor tags used for the
> table of contents seem to be annoyingly random and change from export
> to export. Is it possible to make the generated ids deterministic?
The function shown in this blog helps a lot:
https://amitp.blogspot.com/2021/04/automatically-generate-ids-for-emacs.html
This works quite well for my org files.
HTH
Dod
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Markdown export is non-deterministic?
2022-10-16 9:24 ` Dominique Dumont
@ 2022-10-16 9:44 ` Ihor Radchenko
0 siblings, 0 replies; 5+ messages in thread
From: Ihor Radchenko @ 2022-10-16 9:44 UTC (permalink / raw)
To: Dominique Dumont; +Cc: emacs-orgmode
Dominique Dumont <dominique.dumont@netc.fr> writes:
> The function shown in this blog helps a lot:
>
> https://amitp.blogspot.com/2021/04/automatically-generate-ids-for-emacs.html
>
> This works quite well for my org files.
Feel free to help with https://orgmode.org/list/87fsfutwin.fsf@localhost
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-10-16 10:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-07 22:31 Markdown export is non-deterministic? Matias Eyzaguirre
2022-10-08 14:57 ` Max Nikulin
2022-10-09 3:50 ` Ihor Radchenko
2022-10-16 9:24 ` Dominique Dumont
2022-10-16 9:44 ` Ihor Radchenko
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.