Comments (11)
Explanation for the delay:
We will add this in the future. One of the branches has a rather shoddy implementation, but we have not incorporated that into the main one and most likely won't any time soon. We would like to not rely on Emacs to convert your org-files to HTML and instead use an AST parser like Orga or Uniorg. However, these packages are in a bit of a pickle atm because the Unified framework they build upon just changed to ES modules a couple of weeks ago and they will need to adapt. We will wait until they do or we find a suitable workaround, but it will take a bit.
from org-roam-ui.
Wow thank you for the extensive demonstration! Those are indeed quite some issues, the LaTeX one is really big for me as I use it extensively throughout my notes (although this can apparently be solved by using a unified plugin in Orga, orgapp/orgajs#41).
I guess the main worry I had with uniorg was speed, but (even though this isn't a fair comparison because it's based on the implementation etc) your playground parsed my 10k+ words document with a ton of LaTeX faster and obviously much more accurately than on Orga, so I'm sold! The only upside I now see for Orga is it's ability to render JSX from Org files, which, while cool, I don't see a clear usecase for right now.
I will try to get Uniorg working, thanks for your detailed exposition! :)
from org-roam-ui.
It's here!
from org-roam-ui.
kk. If you need any help with getting the software part of Uniorg working though (getting it up and running, fixing any bugs, or implementing missing features), just ping me—I am more than willing to help.
(I am the author of the uniorg so I am obviously biased here, but the very reason I started it is that orga is a lousy org parser. When I used it for my website, it failed to parse lists correctly and thrown exceptions on ~10% of my pages.)
from org-roam-ui.
I have tried to convert Uniorg to ESM-only before but that failed because the unified ecosystem itself didn’t finish the migration at the time and I’ve hit a couple of bugs here and there. It looks like it’s done now (unifiedjs/unified#121 (comment)), so I might try again somewhen this month.
This will require changes to org-roam-ui though because you cannot import ESM from a commonjs module (https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). Also, ESM support in nextjs is still experimental (https://nextjs.org/blog/next-11-1#es-modules-support).
If you need a workaround, the easiest option is to pin unified packages to the previous major version. e.g., npm install unified@9 vfile@4
etc
from org-roam-ui.
What 10% did you notice Orga missing? Were they some specific Org features or was it just a general error margin?
Cannot attribute this to any specific org feature but when I ran Orga on all my notes, it just failed to parse some portion of them (thrown exception = no output). On many other notes, it produced incorrect results (mostly bad handling of lists with nested indentation, quotes, etc.).
I don’t want to sound picky but I just put the first random note from my org-roam into orga playground and it couldn’t even parse the file properties drawer.
Here is an example of some other issues with Orga. (You can try the same example in Uniorg playground for comparison.)
Org-mode source
:PROPERTIES:
:ID: this-is-id
:END:
* Issues with lists
One empty line in the middle of an item messes the list completely:
1. list 1
1. world
2. list 2?
2. list 3??
3. item 3
item 3 continues?
4. item
#+begin_src fundamental
hello
#+end_src
This should have been a top-level paragraph but it is not. (Because of src block before?)
- this must be a new top-level list
** a headline nested inside a list??
* Reset
Tags are not parsed in lists:
- [[https://example.com][Example]] :: Hello there!
- [[https://github.com][GitHub]] :: This is GitHub, your hub for Git repos.
- *Gitlab* :: Alternative to GitHub
- /Sourcehut/ :: Another alternative to GitHub that primarily uses email-based workflows.
- /Codeberg/ :: *ANOTHER ALTERNATIVE*
- /*self-hosting Git server*/ :: /*The ultimate Git solution for privacy-oriented individuals!*/
* Missing support
** Fuzzy links
no fuzzy links: https://example.com/
** Escapers in src block
No escapers in src block:
#+begin_src c
,*a = 0;
#+end_src
** superscript/subscript
- hello^world
- H_2
** fixed-width
: hello
: world
** LaTeX
\begin{equation}
a + b
\end{equation}
Inline latex: $$a + b$$
from org-roam-ui.
Hi @SYNTAXDZ If you check README there is a list with planned features, and file viewer is not implemented yet.
from org-roam-ui.
ok, thanks for your reply
from org-roam-ui.
That is correct, file viewer-like capabilities will be implemented in the future!
from org-roam-ui.
I have gotten OrgaJS working in the meantime, so this option is now definitely on the table. I've been very busy with other things lately so I haven't tried implementing it yet, but will in the foreseeable future!
If you have any ideas on what kind of behavior you would like to see please let me know! The UX part of this is much more difficult than the software part
from org-roam-ui.
Ah I see, I didn't notice you were the one who wrote uniorg! I indeed had similar trouble getting uniorg to work, but I think that was mostly due to not having the package pinned.
I have no horse in this race, but I would of course prefer accurate parsing over... well, not that. What 10% did you notice Orga missing? Were they some specific Org features or was it just a general error margin? Given that you went through the trouble of writing an entire parser yourself because of this inaccuracy, I think it would be wise of me to consider that haha
from org-roam-ui.
Related Issues (20)
- [BUG] Highlighting doesn't return after hovering over other node
- [BUG] Invalid function (simple httpd ?) HOT 8
- [BUG] Only one tag showing in interface. HOT 12
- [BUG] - TypeError: a[qt(...)][s.backgroundColor] is not a function HOT 1
- [MINOR] Scale node size based on freshness/modification recency
- [BUG] EmacSQL had an unhandled condition: no such column
- Question: How to set it from `localhost` to machine name / IP address? HOT 4
- [ENH] Static export of org-roam-ui HOT 13
- [MINOR] Images/icons inside of nodes instead of plain colors
- How do I set custom CSS?
- [BUG] Sub-headings with IDs wreak havoc on UI HOT 2
- [MINOR] Color nodes by directory
- Org-roam android and search [MINOR]
- [BUG] Navigating to a deleted node causes websocket error
- [ENH] Respect `:exports none` on source blocks HOT 1
- [BUG] "Link children to ..." in "Filter" don't work when the file has ":ROAM_EXCLUDE: t"
- [MINOR] Add support to AsciiDoc
- [BUG] Delete Node. No effect
- [MINOR] Add support for ebdb links
- [ENH] Support render/display of Org Macros in `org-roam-ui`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from org-roam-ui.