emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Presenting Hyperorg version 0.1.0: The Org to HTML Converter


From: c.buhtz
Subject: Re: Presenting Hyperorg version 0.1.0: The Org to HTML Converter
Date: Sun, 24 Mar 2024 16:59:10 +0000

Dear Ihor,

I will consider your points and take them into account.

On 2024-03-24 14:40 Ihor Radchenko <yantar92@posteo.net> wrote:
> If it is an option, it would be nice if you upstreamed your additions
> to orgparse. This way, we can get a better Python-based Org parser for
> everyone's benefit.

The code is free. The orgparse maintainer is free to re-use it of
course. On the other hand in the long run I will consider to separate
my parsing code into an extra package. But currently it is to unstable
and do support only a small subset of all org(roam) features.

> > Orgparse do throw exceptions e.g. UnicodeDecodeError or when
> > timestamps are invalid. Hyperorg catch that exceptions and go on
> > with the next node without interrupting the whole process.
> 
> I see. FYI, it is a bug to throw an error when parsing Org document.
> Any kind of text file is a valid Org document. There is no notion of
> invalid syntax in Org markup.

You mean throw an error is a bug because it is not possible to
write invalid org documents?

I am not convinced yet. But I am open to it and willing to learn.

Even org-html-export* itself do throw errors and stop processing when
there are unknown orgids.

What is about an inconsistent block?

#begin_src
foobar
#end_example

> > Other things are "invalid" links, e.g. unknown orgids, unknown roam 
> > links, unsupported "link kinds" ("protocols" in org syntax?; e.g. 
> > "inkscape:").
> 
> In Org terminology, we call these "broken" links.
> "link kinds" are link "types".

The term "types" is to broad and conflicts with Pythons in build
functions. ;) That is the main reason why I used "kind". On the other
hand the org syntax reference IMHO also use the term "protocol".

> Do you mean that orgparse throws an error when encountering tables?

No. I was referring to Hyperorg. OrgParse do not parse any org content
except headings and properties. Nearly everything else is unparsed and
given raw to my.

> Generally, part of the "Benefits" section is a bit hand-wavy. I
> recommend using more clear statements. Otherwise, it is not clear what
> exactly the benefits are.

Again. It is also not "clear" for me. There are benefits just for
myself as an low-level-Emacs-and-org-user, someone who get headaches
reading Lisp code and feeling very comfortable using Python. In short:
My opinion is very subjective. And I don't have enough experience to
compare my tool to others.
I tried to make this point clear in my benefits section. And this is
also the reason why there was no benefits section in the first place
because I wasn't clear enough about what to write in there.

Maybe I should rephrase the section to "Benefits and design goals".

> 1. Drop "Fairly resilient when dealing with parser issues."

Why? The "design goal" is to process all nodes no matter how
bad/invalid they are.

> 2. Reword "Fairly resilient managing dead and problematic links which
> are a common phenomenon when working with a constantly evolving
> Zettelkasten or personal wiki." And instead clearly explain how broken
> links are exported.

I don't want to blow up the text. Not sure what you expect here. The
node is exported as HTML but the link is colorful highlighted and a
tooltip explaining the problem is added.

> 4. Drop "Adhers to World Wide Web Consortium (W3C) standards for HTML5
>    and CSS (<!DOCTYPE html>)." Most other blog exporters for Org mode
>    adhere to standards. And those that are not are probably out of
>    interest for the purposes of comparison.

Why?

Btw: Even code generated by org-html-export* (XHTML 1.0 Strict) give
errors on W3C. e.g. "type" attribute is missing in <style> tag.

> 5. Maybe mention the "tag cloud" visible in the example screenshot
> (btw, the screenshot is not very sexy; compare it with something like
>    https://one.tonyaldon.com/).

There nothing fancy as a "tag cloud". ;) btw: There is no cloud on the
link you provided.

About the "sexy"ness of Hyperorg output: There is a specific label for
that issues:

    <https://codeberg.org/buhtz/hyperorg/issues?labels=180551>

But as you can see on the "milestone" the priority is low.

Thanks for your effort and your discussion. I learn a lot.

Kind
Christian Buhtz



reply via email to

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