emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Exporting .org to .md for Sourcehut (sr.ht); ox-md not following Mar


From: Tim Cross
Subject: Re: Exporting .org to .md for Sourcehut (sr.ht); ox-md not following Markdown spec?
Date: Thu, 03 Dec 2020 06:44:42 +1100
User-agent: mu4e 1.5.7; emacs 27.1.50

TRS-80 <lists.trs-80@isnotmyreal.name> writes:

> Hallo,
>
> I became quite interested in what Drew Devault was doing with his
> Sourcehut project, so I decided to join.  I was really enjoying
> everything except for the fact that .org files are not supported insofar
> as automatic rendering into nice looking HTML in the same way that
> Markdown files are for the README at the root of the project.  And the
> official word is that only Markdown is to be supported.[0]
>
> So I start digging into this, my first try was to use
> org-md-export-to-markdown function to generate the supported Markdown.
> However, doing it that way broke all inter-page links (to headings,
> footnotes, etc.).
>
> Some further digging revealed that the ox-md exporter (which itself is
> derived from the HTML exporter(?) makes extensive use of the id
> attribute in links.  And Sourcehut's HTML sanitizer only allows href and
> title attributes (not id).[1]
>
> For example, here are the sort of links that the ox-md exporter create:
>
> ToC:
>
> ```
> 1.  [rofi-in-elisp](#orgdbf2274)
> ```
>
> Body:
>
> ```
> <a id="orgdbf2274"></a>
>
> # rofi-in-elisp
> ```
>
> Above was copied straight from Eli Schwartz reply to me in my post to
> Sourcehut mailing list about this[0] (although I had already noticed the
> same thing as well).
>
> I tend to agree with him that this is not following the Markdown spec,
> where links should instead become simply:
>
> ToC:
>
> ```
> 1.  [rofi-in-elisp](#rofi-in-elisp)
> ```
>
> And if so, then the Right Thing to do would be to fix that in the ox-md
> exporter?
>
> However OTOH, I can't help but venture a guess that there must have been
> some reason to do it that way in the first place.
>
> So before I invest any more time going down this path, I thought I would
> take a step back and seek some advice whether this is actually the
> correct path or not?
>
> Cheers,
> TRS-80
>
> [0]
> https://lists.sr.ht/~sircmpwn/sr.ht-discuss/%3Cfe7aa296-9c90-463d-b4e6-50eeb7e57428%40localhost%3E
> [1] https://man.sr.ht/markdown/#post-processing

I could be completely wrong here, but I suspect this is a combination of
the evolving markdown spec (or more specifically, no one standard spec)
and the age of the org mode markdown exporter. This probably highlights
the advantages of a standardised spec.

One of the challenges with markdown is that there has never been one
universally accepted spec. While the situation has consolidated somewhat
since markdown first became popular, there is still some variation in
implementations and some of the decisions made when the org mode
exporter was first implemented may not be as correct/accepted now.

It might be worth looking in the archive. I seem to recall other
discussions along these lines some months back. My flawed memory seems
to recall that it was probably time for org's markdown exporter to be
updated to fit with the more 'common' markdown standard, but I don't
recall which that was or whether anyone decided to take that
responsibility on.

Org already has two markdown flavors - 'generic' markdown and github
flavoured markdown. Org's current markdown is based on
http://daringfireball.net/projects/markdown, which probably varies
enough from the one used by sourcehut to cause the problems you are
seeing.

Unfortunately, this fails to provide a clear path to fix your problem. I
guess the 'sane' thing to do would be to look at how the two different
specs differ and then decide if that difference can be managed by
providing additional customisation options to the existing markdown
exporter or whether the differences are sufficient to warrant another
completely different markdown exporter along similar lines to the github
flavoured markdown (probably also worth checking the differences between
sourceht and github as well in case it is closer to what sorcehut
expects).

--
Tim Cross



reply via email to

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