neorg icon indicating copy to clipboard operation
neorg copied to clipboard

Zettelkasten Neorg Tracking issue

Open dark-ether opened this issue 2 years ago • 15 comments

Issues

  • [X] I have checked existing issues and there are no existing ones with the same request.

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

  • https://github.com/mickael-menu/zk-nvim
  • https://github.com/renerocksai/telekasten.nvim
  • https://github.com/Furkanzmc/zettelkasten.nvim
  • https://github.com/Aarleks/zettel.vim/

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

  • [ ] backlinks from same workspace
  • [ ] backlinks from all workspaces known to dirman
  • [ ] backlinks filtering
  • [x] command to generate index of all files with requested category
  • [ ] command to generate custom index from template
  • [ ] support wiki links in at least single workspace
  • [ ] support global wiki links
  • [ ] filter by categories and other metadata
  • [ ] image support
  • [ ] video support
  • [ ] gif support
  • [ ] template support
  • [ ] programmable template support
  • [ ] find if there is any work done on NIP and if it could be used to make templates awesome
  • [ ] define macros for zettelkasten if needed
  • [ ] command to go to the most recently used buffer in another workspace
  • [ ] implement Link Scoping

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.

dark-ether avatar Feb 11 '23 18:02 dark-ether

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.

Bekaboo avatar Feb 11 '23 19:02 Bekaboo

you can already use nabla to preview math

max397574 avatar Feb 11 '23 20:02 max397574

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.

Bekaboo avatar Feb 11 '23 20:02 Bekaboo

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

katawful avatar Feb 11 '23 21:02 katawful

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?

Bekaboo avatar Feb 11 '23 21:02 Bekaboo

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 😅

vhyrro avatar Feb 12 '23 10:02 vhyrro

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.

Bekaboo avatar Feb 12 '23 15:02 Bekaboo

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.

skbolton avatar Feb 19 '23 01:02 skbolton

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.

dark-ether avatar Feb 19 '23 11:02 dark-ether

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

katawful avatar Feb 19 '23 12:02 katawful

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.

maninalift avatar Mar 15 '23 10:03 maninalift

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?

k4r4b3y avatar Oct 28 '23 14:10 k4r4b3y

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

marchank0 avatar Oct 30 '23 17:10 marchank0

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

vhyrro avatar Oct 30 '23 17:10 vhyrro