Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparison with Orga #100

Closed
josephmturner opened this issue Jan 12, 2024 · 2 comments
Closed

Comparison with Orga #100

josephmturner opened this issue Jan 12, 2024 · 2 comments

Comments

@josephmturner
Copy link

josephmturner commented Jan 12, 2024

Hello! Would you describe the key differences between uniorg and Orga?

At a glance:

  • Similarities
  • Differences
    • uniorg is licensed under GPL and Orga is licensed under MIT

See orgapp/orgajs#232

@rasendubi
Copy link
Owner

Hey. I think the main difference is the approach to parsing

Orga implements the parser from scratch using “proper” parsing techniques. This should (theoretically) result in a faster parser and a cleaner code. The main issue with this approach is that Org syntax is notoriously convoluted and was not designed with traditional parsers in mind. Thus, Orga and every other parser based on this approach fail to catch all the complexity of the syntax and often produce incorrect results or crash. (Although they work for most simple cases.)

Uniorg started after I tried Orga for my website and it completely failed to parse a good chunk of my notes and produced incorrect results for many others. Uniorg, therefore, prioritizes accuracy of parsing and compatibility with org-mode over ease of implementation or “best practices.”

Uniorg is almost a direct translation of org-element.el—an official org-mode parser written in Emacs Lisp (which is a part of org-mode package). Therefore, Uniorg has the same license as org-mode (GPL). It uses a regex-based parsing approach (which is generally considered bad and slow), the parser is not pretty and is a messy soup of regexes but it works and is probably the most accurate org-mode parser there is.

@josephmturner
Copy link
Author

Thank you @rasendubi!! Your explanation is clear and thorough :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants