Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/NicolasPetton/nroam

Org-roam backlinks within org-mode buffers
https://github.com/NicolasPetton/nroam

emacs emacs-package org-mode org-roam

Last synced: about 2 months ago
JSON representation

Org-roam backlinks within org-mode buffers

Awesome Lists containing this project

README

        

* nroam [[https://github.com/NicolasPetton/nroam/actions/workflows/test.yml/badge.svg]]

*Update*: With the release of [[https://blog.jethro.dev/posts/org_roam_v2/][org-roam v2]] and its new revamped side-buffer, I do not feel the same need for nroam as I did with org-roam v1. The project is now archived, but if someone wants to port nroam to org-roam v2, I'd be willing to hand over maintenance of the project.

---

nroam is a supplementary package for [[https://github.com/org-roam/org-roam][org-roam]] that replaces the
backlink side buffer of Org-roam. Instead, it displays org-roam
backlinks at the end of org-roam buffers. The user can also click a
button to see unlinked occurrences of the buffer title (as defined by
=org-roam-unlinked-references=).

** Screenshots

*** Backlinks
[[file:screenshots/backlinks.png][file:screenshots/backlinks.png]]

*** Unlinked references
[[file:screenshots/unlinked-references.png][file:screenshots/unlinked-references.png]]

* Rationale

One of the ideas behind nroam is to remove the friction and effort it
takes to consult backlinks. I consider backlinks to be a very central
piece of information about a note. Backlinks can even be the most
important content of a note, for instance when using page links as
tags.

It is easy to miss backlinks when they are not always visible with the
main content of a note. The side buffer will not always be open, and
even if it is, the information it contains is visually far away from
the note you're looking at.

By making them an integral part of the org buffer, backlinks also
become more powerful. You could for instance make a sparse tree—see
=org-sparse-tree= — to filter the contents of a note and its backlinks
at the same time.

* Installation

nroam is not yet available in [[https://melpa.org][MELPA]]. Until it is, you can install the Elisp files by hand in your =.emacs.d= or if you use =straight.el= add the following to you init file.

#+begin_src elisp
(use-package nroam
:straight '(nroam :host github
:branch "master"
:repo "NicolasPetton/nroam")
:after org-roam
:config
(add-hook 'org-mode-hook #'nroam-setup-maybe))
#+end_src

* Setup & usage

To setup nroam for all =org-mode= buffer, evaluate the following:

#+begin_src elisp
(add-hook 'org-mode-hook #'nroam-setup-maybe)
#+end_src

The linked references section will be updated after each buffer save.
It can also be manually updated by typing =C-c C-c= anywhere in the
linked references section.

* Warning

This package is in its infancy. Be careful when using it as it
modifies your =org-mode= buffers—it should not modify your files
though. Backup your data often.