nvim-neorg / neorg

Modernity meets insane extensibility. The future of organizing your life in Neovim.
GNU General Public License v3.0
6.47k stars 213 forks source link

Zettelkasten Neorg Tracking issue #745

Open dark-ether opened 1 year ago

dark-ether commented 1 year ago

Issues

Feature description

I am starting to make my zettelkasten with neorg and there are many possible features that are small and related to zettelkasten instead of making like 5 or more different issues. I think grouping them under a tracking issue would be better.

Firstly i will have to say that as neorg currently is. It already is possible to make a zettelkasten and it would be okay, however at the bare minimum i would like for neorg to be better than obsidian. also there are some zettelkasten plugins and i would want neorg to be better than all of them

we are missing backlinks ,wiki links, extendable links ,tags(categories), templates, media support of these only backlinks could be considered zettelkasten specific

Help

Yes

Implementation help

Unfortunately i will only be sure about which help if any i need when i start implementing the modules for the desired functionalities. But discussion about what should be implemented and general architecture would be extremely helpful.

Bekaboo commented 1 year ago

Image support sounds attractive for me. It is possible to display image inside neovim buffer, as I'm aware of there are currently at least two plugins for this:

I'm particularly interested in previewing embedded math equations in norg files, like what is shown on the main page of vim-graphical-preview.

The only thing that stops me from migrating from markdown to neorg is the lack of support (live previewing, exporting to PDF, etc) of math.

max397574 commented 1 year ago

you can already use nabla to preview math

Bekaboo commented 1 year ago

you can already use nabla to preview math

That is far from enough compared to what I can get with any markdown previewer that render math using katex; to me nabla it is more like a toy plugin.

katawful commented 1 year ago

Neovim is still a terminal application, mixed font support is currently unsupported and outside the scope of Neorg entirely. nabla is the best you can do currently

Bekaboo commented 1 year ago

Neovim is still a terminal application, mixed font support is currently unsupported and outside the scope of Neorg entirely. nabla is the best you can do currently

Math does not necessarily need to be rendered inside neovim buffer. Getting a decent preview in the browser is totally acceptable and doable, like what we can get using katex with markdown-preview.nvim. Maybe we can get something like neorg-preview in the future?

vhyrro commented 1 year ago

It's entirely possible to have latex render within the buffer via hologram, but it would only work on a few terminal emulator types. That's honestly fine by me, I'd rather support a few terminals in this case over none.

As for a neorg-preview, that would be nice yeah. I already attempted such a project a while back, but had to work on other things instead. I'm hoping there's someone out there who will have a crack at this project themselves but we'll see.

Exporting to PDF is part of the pandoc initiative, which is also stalled. So much stuff to work on 😅

Bekaboo commented 1 year ago

Thank you for considering enhencing image & math support! It will definitely be a killer feature if we can view math and image directly inside nvim buffer. If it is hard to implement, viewing image and math in a browser is also acceptable.

Take your time! I believe more people will switch to neorg when it becomes more mature.

skbolton commented 1 year ago

I think the design of zk is brilliant. It is a really great command line tool with no requirements on a specific editor, and then it adds a great nvim plug-in. It works with markdown or org files.

I think since the norg file format isn't neovim specific it makes sense to do the same thing. Make an external zettelkasten tool which operates on directories of norg files that you can use from the cli and have a good experience. And then add a nvim plug-in with telescope integration and whatnot to make it more nvim native.

dark-ether commented 1 year ago

i think i need more context but what would a commandline norg zettelkasten tool do? when you mean zk do you mean this one? https://github.com/mickael-menu/zk depending on how big you imagine it i could make a proof of concept for testing.

katawful commented 1 year ago

The idea with a standalone zk program would be that it could be built in a fast language and use libraries such as sqlite without much issue while also being accessible to other projects. zk needs a lot of backlinking, and even for the original GTD module it was kind of slow so the people working on GTD have mostly settled on something external. Whether or not it would be its own program or not hasn't been decided I don't think

maninalift commented 1 year ago

Yes, zk looks like an excellent design. Re-implementing that is a significant task, but I guess since norg has a tree-sitter grammar, building a MVP that just does back-link indexing might not be so hard.

For anyone else looking into this, another great project for reference is org-roam. In org-roam, any node that you have linked to is first-class, in the sense that it gets an id just like a document does. I think this is a great choice, having nodes inside documents be treated like documents can simplify both implementation and use.

k4r4b3y commented 1 year ago

I stumbled upon neorg just today. A few weeks ago, I started using Logseq, and then I become aware of org-roam (and hence org-mode, and hence, Emacs). One thing I appreciate from Logseq (and other -roam paradigms) is the existence of Backlinks.

Backlinks simply implement bi-direcitonal links between the objects that are linked. If I link a paragraph from another file to current file, the another file is aware of this new link, and reminds me of this link in the user interface.

I watched the "from no org to neorg" youtube playlist, but haven't seen Backlinks in neorg. What is the current status with Backlinks?

marchank0 commented 1 year ago

AFAIK neorg is just a file format, like markdown

If you want to have backlinks, then you need some kind of a wrapper program to track all your neorg files

Backlinks is what zettelkasted about

vhyrro commented 1 year ago

Norg is the file format, Neorg is the application surrounding it :)

@k4r4b3y backlinks are not implemented in Neorg and won't be implemented for another while because there are so many other things to do right now. That doesn't mean it'll never come, you might have to wait for a few major releases before we start work on it :p

e-dong commented 2 months ago

@dark-ether

https://github.com/mickael-menu/zk

Fyi the repo path is now: https://github.com/zk-org/zk

@maninalift

Yes, zk looks like an excellent design. Re-implementing that is a significant task, but I guess since norg has a tree-sitter grammar, building a MVP that just does back-link indexing might not be so hard.

Another possibility is to write a neorg integration module to zk, so we don't have to reinvent the wheel.

According to the note configuration, the file extension can be configured to create notes in .norg. Unfortunately Neorg doesn't support wiki links or markdown style links.