[org] Add org-roam support

Add org-roam support along with keybindings under new menu prefix "SPC a o r".

Assign layer search keybinding ("SPC a o /") to helm-org-rifle, falling back to
previously assigned function (org-occur-in-agenda-files) when using ivy.

Creating another keybinding for org-occur-in-agenda-files is not necessary,
as it can be accessed with another existing keybinding ("SPC a o o /").
This commit is contained in:
Mariusz Klochowicz 2020-10-06 21:38:23 +10:30 committed by duianto
parent 0f65b000da
commit 2e27161c19
4 changed files with 87 additions and 4 deletions

View File

@ -2710,6 +2710,7 @@ Other:
- Added package for =org-sticky-header-mode= (thanks to Langston Barret) - Added package for =org-sticky-header-mode= (thanks to Langston Barret)
- Added package =org-jira= (thanks to Kirill A. Korinsky) - Added package =org-jira= (thanks to Kirill A. Korinsky)
- Added package =org-rich-yank= (thanks to Keith Pinson) - Added package =org-rich-yank= (thanks to Keith Pinson)
- Added package =org-roam= (thanks to Mariusz Klochowicz)
- Key bindings: - Key bindings:
- ~SPC m T i~ to toggle inline images - ~SPC m T i~ to toggle inline images
- Move clock related key bindings to ~SPC a o C~ - Move clock related key bindings to ~SPC a o C~
@ -2804,6 +2805,19 @@ Other:
- Documented more insertion bindings (thanks to Lorenzo Manacorda): - Documented more insertion bindings (thanks to Lorenzo Manacorda):
- ~C-RET~ Insert heading at end of current subtree - ~C-RET~ Insert heading at end of current subtree
- ~C-S-RET~ Insert TODO heading at end of current subtree - ~C-S-RET~ Insert TODO heading at end of current subtree
- Changed =helm-org-rifle= keybindings to ~SPC a o /~, falling back to its
previous functionality if using ivy (thanks to Mariusz Klochowicz)
- Added keybindings for =org-roam= under menu prefix ~SPC a o r~ and ~SPC m r~
- ~SPC a o r l~ (~SPC m r l~) Toggle org-roam links visibility
- ~SPC a o r f~ (~SPC m r f~) Find file in org-roam
- ~SPC a o r i~ (~SPC m r i~) Insert file into org-roam
- ~SPC a o r I~ (~SPC m r I~) Immediately insert file into org-roam
- ~SPC a o r g~ (~SPC m r g~) Visualize org-roam graph
- ~SPC a o r b~ (~SPC m r b~) Switch org-roam buffer
- ~SPC a o r d y~ (~SPC m r d y~) Open yesterday's daily note
- ~SPC a o r d t~ (~SPC m r d t~) Open today's daily note
- ~SPC a o r d T~ (~SPC m r d T~) Open tomorrow's daily note
(thanks to Mariusz Klochowicz)
- Made =org= layer depend on =spacemacs-org= (thanks to Eivind Fonn) - Made =org= layer depend on =spacemacs-org= (thanks to Eivind Fonn)
- Remove =mu4e= and =notmuch= from =org= (thanks to Sylvain Benner) - Remove =mu4e= and =notmuch= from =org= (thanks to Sylvain Benner)
- Use evil-org from MELPA (thanks to Eivind Fonn) - Use evil-org from MELPA (thanks to Eivind Fonn)

View File

@ -21,6 +21,7 @@
- [[#different-bullets][Different bullets]] - [[#different-bullets][Different bullets]]
- [[#project-support][Project support]] - [[#project-support][Project support]]
- [[#org-brain-support][Org-brain support]] - [[#org-brain-support][Org-brain support]]
- [[#org-roam-support][Org-roam support]]
- [[#mode-line-support][Mode line support]] - [[#mode-line-support][Mode line support]]
- [[#sticky-header-support][Sticky header support]] - [[#sticky-header-support][Sticky header support]]
- [[#epub-support][Epub support]] - [[#epub-support][Epub support]]
@ -57,6 +58,7 @@
- [[#verb-mode-bindings][Verb-mode bindings]] - [[#verb-mode-bindings][Verb-mode bindings]]
- [[#verb-response-body-mode-bindings][Verb-response-body-mode bindings]] - [[#verb-response-body-mode-bindings][Verb-response-body-mode bindings]]
- [[#verb-response-headers-mode-bindings][Verb-response-headers-mode bindings]] - [[#verb-response-headers-mode-bindings][Verb-response-headers-mode bindings]]
- [[#org-roam][Org-roam]]
* Description * Description
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs. This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
@ -294,6 +296,18 @@ the following snippet.
For Emacs 25 or later, support for [[https://kungsgeten.github.io/org-brain.html][org-brain]] is included. See the [[https://github.com/Kungsgeten/org-brain][org-brain For Emacs 25 or later, support for [[https://kungsgeten.github.io/org-brain.html][org-brain]] is included. See the [[https://github.com/Kungsgeten/org-brain][org-brain
package documentation]] for more information. package documentation]] for more information.
** Org-roam support
To install org-roam support set the variable =org-enable-roam-support= to =t=.
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(
(org :variables
org-enable-roam-support t)))
#+END_SRC
More information about org-roam package (including manual) can be found at [[https://www.orgroam.com/][Org-roam]] website.
** Mode line support ** Mode line support
To temporarily enable mode line display of org clock, press ~SPC t m c~. To temporarily enable mode line display of org clock, press ~SPC t m c~.
@ -753,7 +767,7 @@ org-present must be activated explicitly by typing: ~SPC SPC org-present~
| Key binding | Description | | Key binding | Description |
|-------------+--------------------------------------------| |-------------+--------------------------------------------|
| ~SPC a o r~ | Search org files for keywords and headings | | ~SPC a o /~ | Search org files for keywords and headings |
** Org-projectile ** Org-projectile
@ -883,3 +897,21 @@ are available.
| Key binding | Description | | Key binding | Description |
|-------------+-----------------------------------------------------| |-------------+-----------------------------------------------------|
| ~SPC m r q~ | Kill current response headers buffer and its window | | ~SPC m r q~ | Kill current response headers buffer and its window |
** Org-roam
Key binding prefixes:
- ~SPC a o r~ (anywhere)
- ~SPC m r~ (in an org-mode buffer)
| Key binding | Description |
|------------------+---------------------------------------|
| ~[prefix] r l~ | Toggle org-roam links visibility |
| ~[prefix] r f~ | Find file in org-roam |
| ~[prefix] r i~ | Insert file into org-roam |
| ~[prefix] r I~ | Immediately insert file into org-roam |
| ~[prefix] r g~ | Visualize org-roam graph |
| ~[prefix] r b~ | Switch org-roam buffer |
| ~[prefix] r d y~ | Open yesterday's daily note |
| ~[prefix] r d t~ | Open today's daily note |
| ~[prefix] r d T~ | Open tomorrow's daily note |

View File

@ -55,3 +55,6 @@ are configured.")
(defvar org-enable-verb-support nil (defvar org-enable-verb-support nil
"If non-nil, Verb (https://github.com/federicotdn/verb) is configured.") "If non-nil, Verb (https://github.com/federicotdn/verb) is configured.")
(defvar org-enable-roam-support nil
"If non-nil, org-roam (https://www.orgroam.com/) is configured")

View File

@ -46,6 +46,7 @@
(org-trello :toggle org-enable-trello-support) (org-trello :toggle org-enable-trello-support)
(org-sticky-header :toggle org-enable-sticky-header) (org-sticky-header :toggle org-enable-sticky-header)
(verb :toggle org-enable-verb-support) (verb :toggle org-enable-verb-support)
(org-roam :toggle org-enable-roam-support)
)) ))
(defun org/post-init-company () (defun org/post-init-company ()
@ -83,7 +84,7 @@
(defun org/init-helm-org-rifle () (defun org/init-helm-org-rifle ()
(use-package helm-org-rifle (use-package helm-org-rifle
:defer t :defer t
:init (spacemacs/set-leader-keys "aor" 'helm-org-rifle))) :init (spacemacs/set-leader-keys "ao/" 'helm-org-rifle)))
(defun org/init-htmlize () (defun org/init-htmlize ()
(use-package htmlize (use-package htmlize
@ -356,10 +357,11 @@ Will work on both org-mode and any mode that accepts plain html."
(spacemacs/declare-prefix "ao" "org") (spacemacs/declare-prefix "ao" "org")
(spacemacs/declare-prefix "aof" "feeds") (spacemacs/declare-prefix "aof" "feeds")
(spacemacs/declare-prefix "aoC" "clock") (spacemacs/declare-prefix "aoC" "clock")
;; org-agenda
(when (configuration-layer/layer-used-p 'ivy)
(spacemacs/set-leader-keys "ao/" 'org-occur-in-agenda-files))
(spacemacs/set-leader-keys (spacemacs/set-leader-keys
;; org-agenda
"ao#" 'org-agenda-list-stuck-projects "ao#" 'org-agenda-list-stuck-projects
"ao/" 'org-occur-in-agenda-files
"aoa" 'org-agenda-list "aoa" 'org-agenda-list
"aoo" 'org-agenda "aoo" 'org-agenda
"aoc" 'org-capture "aoc" 'org-capture
@ -818,6 +820,38 @@ Headline^^ Visit entry^^ Filter^^ Da
"mtub" 'spacemacs/org-trello-push-buffer "mtub" 'spacemacs/org-trello-push-buffer
"mtuc" 'spacemacs/org-trello-push-card)))) "mtuc" 'spacemacs/org-trello-push-card))))
(defun org/init-org-roam ()
(use-package org-roam
:init
(progn
(spacemacs/declare-prefix "aor" "org-roam")
(spacemacs/declare-prefix "aord" "org-roam-dailies")
(spacemacs/set-leader-keys
"aordy" 'org-roam-dailies-yesterday
"aordt" 'org-roam-dailies-today
"aordT" 'org-roam-dailies-tomorrow
"aorf" 'org-roam-find-file
"aorg" 'org-roam-graph
"aori" 'org-roam-insert
"aorI" 'org-roam-insert-immediate
"aorl" 'org-roam)
(spacemacs/declare-prefix-for-mode 'org-mode "mr" "org-roam")
(spacemacs/declare-prefix-for-mode 'org-mode "mrd" "org-roam-dailies")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"rb" 'org-roam-switch-to-buffer
"rdy" 'org-roam-dailies-yesterday
"rdt" 'org-roam-dailies-today
"rdT" 'org-roam-dailies-tomorrow
"rf" 'org-roam-find-file
"rg" 'org-roam-graph
"ri" 'org-roam-insert
"rI" 'org-roam-insert-immediate
"rl" 'org-roam))
:config
(progn
(spacemacs|hide-lighter org-roam-mode))))
(defun org/init-org-sticky-header () (defun org/init-org-sticky-header ()
(use-package org-sticky-header (use-package org-sticky-header
:defer t :defer t