No description
Find a file
Jethro Kuan 20f876aa6b
(feat): enable nested captures (#966)
This PR enables the long-awaited nested-captures.

1. Adds a hook to org-capture-prepare-finalize-hook, which installs org-roam-capture--finalize into org-capture-after-finalize-hook if the capture is an Org-roam capture. This function contains key functionality for Org-roam to Do The Right Thing after specific interactive functions, such as finding the file, or inserting a link.

2. A patch for org-capture-finalize. Specifically, we make org-capture-plist valid during org-capture-finalize.

3. Many hacks that were originally in place are now replaced with nicer alternatives.

Co-authored-by: Leo Vivier <zaephon@gmail.com>
2020-07-27 00:21:41 +08:00
.github (internal): Exclude org-roam-compat.el from linting (#713) 2020-05-28 01:22:51 -04:00
doc (doc): add debian/ubuntu installation instructions (#965) 2020-07-23 22:46:21 +08:00
tests (tests): increase perf test threshold (#887) 2020-07-05 17:36:44 +08:00
.dir-locals.el (feat): Switch to a minor-mode for the dev-suite (#805) 2020-06-12 22:01:52 +02:00
.gitignore (docs): track landing page (#620) 2020-05-13 19:26:37 +08:00
.readthedocs.yml add readthedocs.yml 2020-02-12 19:40:13 +08:00
BACKERS.md (doc): Add Andreas to backers (#969) 2020-07-25 16:33:36 +08:00
CHANGELOG.md (feat): enable nested captures (#966) 2020-07-27 00:21:41 +08:00
default.mk (internal): use Make and Org to build manual (#546) 2020-05-03 18:06:27 +08:00
LICENSE Add GPL License 2020-02-12 21:47:57 +08:00
Makefile (ci): make multi-page manual (#618) 2020-05-13 18:56:42 +08:00
makem.sh (internal): make lint errors fail CI, and disable spellcheck during linting (#561) 2020-05-04 15:17:39 +08:00
org-roam-buffer.el (fix): fix display of preview content (#950) 2020-07-19 13:33:01 +08:00
org-roam-capture.el (feat): enable nested captures (#966) 2020-07-27 00:21:41 +08:00
org-roam-compat.el (internal): org-roam-db--clear -> org-roam-db-clear (#902) 2020-07-08 15:55:23 +08:00
org-roam-completion.el (release): Org-roam v1.2.0 (#802) 2020-06-12 23:29:52 +08:00
org-roam-dailies.el (feat): enable nested captures (#966) 2020-07-27 00:21:41 +08:00
org-roam-db.el Make the db caching more efficient for gpg encrypted files (#963) 2020-07-23 22:36:57 +08:00
org-roam-dev.el (feat): Switch to a minor-mode for the dev-suite (#805) 2020-06-12 22:01:52 +02:00
org-roam-doctor.el (release): Org-roam v1.2.0 (#802) 2020-06-12 23:29:52 +08:00
org-roam-graph.el (fix): fix org-roam graph building with new db schema (#914) 2020-07-10 19:23:38 +08:00
org-roam-macs.el (fix): enable org-mode in temp buffers (#957) 2020-07-22 20:59:35 +08:00
org-roam-protocol.el (feat): add customizable org-roam-title-to-slug-function (#833) 2020-06-17 14:58:11 +08:00
org-roam.el (feat): enable nested captures (#966) 2020-07-27 00:21:41 +08:00
README.md (doc): Create ‘Getting Help’ (#961) 2020-07-22 19:06:54 +02:00

License GPL 3 GitHub Release MELPA

Synopsis

Org-roam is a Roam replica built on top of the all-powerful Org-mode.

Org-roam is a solution for effortless non-hierarchical note-taking with Org-mode. With Org-roam, notes flow naturally, making note-taking fun and easy. Org-roam should also work as a plug-and-play solution for anyone already using Org-mode for their personal wiki.

Org-roam aims to implement the core features of Roam, leveraging the mature ecosystem around Org-mode where possible. Eventually, we hope to further introduce features enabled by the Emacs ecosystem.

@technovangelist has produced a video describing Org-roam and the concepts behind it:

Making Connections in your Notes

Important links:

A Preview

Here's a screencast of Org-roam. The org-roam-buffer (window on the right) shows backlinks for the active Org-roam buffer (window on the left), as well as the surrounding content in the backlink file. The database is built once, and updated incrementally. The graph is generated from the link structure, and can be used to navigate to the respective files.

img

Installation

You can install org-roam using package.el:

M-x package-install RET org-roam RET

Here's a sample configuration with using use-package:

(use-package org-roam
      :ensure t
      :hook
      (after-init . org-roam-mode)
      :custom
      (org-roam-directory "/path/to/org-files/")
      :bind (:map org-roam-mode-map
              (("C-c n l" . org-roam)
               ("C-c n f" . org-roam-find-file)
               ("C-c n g" . org-roam-graph-show))
              :map org-mode-map
              (("C-c n i" . org-roam-insert))
              (("C-c n I" . org-roam-insert-immediate))))

org-roam-graph by default expects to find the dot executable from the graphviz package in the exec-path. Ensure graphviz is installed and found if you want to use this feature or customize your configuration for org-roam-graph to use a different tool.

For more detailed installation and configuration instructions (including for Doom and Spacemacs users), please see the documentation.

Frequently-asked Questions

Q: How do I create a note whose title already matches one of the candidates (e.g. creating bar when barricade already exists)?

A: With ivy, you need to press C-M-j to use the current input instead of the nearest candidate. (Source: ivys FAQ)

Getting Help

Before creating a new topic/issue, please be mindful of our time and ensure that it has not already been addressed on GitHub or on Discourse.

  • If you are new to Emacs and have problem setting up Org-roam, please ask your question on Slack, channel #how-do-i.
  • For quick questions, please ask them on Slack, channel #troubleshooting.
  • If something is not working as it should, or if you would like to suggest a new feature, please create a new issue.
  • If you have questions about your workflow with the slip-box method, please find a relevant topic on Discourse, or create a new one.

Knowledge Bases using Org-roam

Changelog

A changelog is being maintained here

Contributing

To report bugs and suggest new feature use the issue tracker. If you have some code which you would like to be merged, then open a pull request. Please also see CONTRIBUTING.md.

License

Copyright © Jethro Kuan and contributors. Distributed under the GNU General Public License, Version 3