mirror of
https://github.com/chrisbarrett/nursery
synced 2025-09-16 15:56:48 -05:00
140 lines
5.4 KiB
Org Mode
140 lines
5.4 KiB
Org Mode
#+title: nursery
|
|
#+author: Chris Barrett
|
|
#+todo: SPIKE(s) INCUBATING(i) | STABLE(t) PUBLISHED(p)
|
|
|
|
This is a repository for Emacs Lisp packages that I think could be useful for
|
|
friends and coworkers. It's an experimental, low-pressure space for me just to
|
|
hack on Lisp with the garage door open.
|
|
|
|
If something reaches a stable state I may publish it if there's interest.
|
|
|
|
* Curiosities On Show
|
|
This repository contains a mix of end-user libraries and supporting libraries.
|
|
The interesting stuff is listed below.
|
|
|
|
** INCUBATING [[file:lisp/org-roam-review.el][org-roam-review]] /(incubating)/
|
|
Implements a system for managing [[https://maggieappleton.com/evergreens][Evergreen Notes]] on top of org-roam. Provides a
|
|
spaced-repetition system that prompts you to review notes or revisit stubs and
|
|
help them grow to maturity.
|
|
|
|
#+attr_org: :width 650px
|
|
[[file:./images/org-roam-review.png]]
|
|
|
|
** INCUBATING [[file:lisp/org-roam-dblocks.el][org-roam-dblocks]] /(incubating)/
|
|
Add org dynamic blocks that implement "canned searches" for org-roam. You can
|
|
search for notes or list backlinks, then do additional filtering based on title
|
|
or tags.
|
|
|
|
#+attr_org: :width 650px
|
|
[[file:images/org-roam-dblocks.gif]]
|
|
|
|
** INCUBATING [[file:lisp/org-roam-search.el][org-roam-search]] /(incubating)/
|
|
Search your org-roam files for a string and display a buffer of results. Results
|
|
are shown with collapsible previews, like in the org-roam buffer.
|
|
|
|
#+attr_org: :width 650px
|
|
[[file:images/org-roam-search.gif]]
|
|
|
|
** INCUBATING [[file:lisp/org-roam-links.el][org-roam-links]] /(incubating)/
|
|
Display a tree of backlinks /and/ forward links up to a configurable depth. Useful
|
|
for looking for unexpected connections without busting open a full-fledged graph
|
|
UI. Contrasts with the normal org-roam buffer, which only shows backlinks.
|
|
|
|
#+attr_org: :width 650px
|
|
[[file:images/org-roam-links.png]]
|
|
|
|
** INCUBATING [[file:lisp/org-roam-consult.el][org-roam-consult]] /(incubating)/
|
|
A version of =consult-ripgrep= that shows node titles instead of filenames so you
|
|
don't have to guess anymore.
|
|
|
|
** INCUBATING [[file:lisp/org-roam-slipbox.el][org-roam-slipbox]] (/incubating/)
|
|
Automatically tag nodes according to the name of the directory they're in, and
|
|
easily refile between these directories.
|
|
|
|
** SPIKE [[file:lisp/org-roam-gc.el][org-roam-gc]] /(spike)/
|
|
Automatically delete empty dailies files so they don't build up forever.
|
|
|
|
** SPIKE [[file:lisp/org-roam-rewrite.el][org-roam-rewrite]] /(spike)/
|
|
Commands for renaming nodes, rewriting links and deleting nodes with redirection
|
|
so you can refactor notes without leaving broken links.
|
|
|
|
** SPIKE [[file:lisp/timekeep.el][timekeep]] /(spike)/
|
|
Provides a structured way to use org-roam for representing multiple
|
|
clients/employers. It provides a simple clocking interface built on org-clock
|
|
and provides integrations with org-capture.
|
|
|
|
** SPIKE [[file:lisp/org-roam-refill-previews.el][org-roam-refill-previews]] /(spike)/
|
|
Refill previews in the backlinks buffer so they fit the window.
|
|
|
|
** SPIKE [[file:lisp/org-roam-lazy-previews.el][org-roam-lazy-previews]] /(spike)/
|
|
Compute previews lazily for much better performance in buffers with many
|
|
backlinks or reflinks.
|
|
|
|
** SPIKE [[file:lisp/org-format.el][org-format]] (/spike/)
|
|
Formatter for org-mode files to ensure consistency.
|
|
|
|
* Installation
|
|
Most packages should be manually installable via =package.el=, assuming you have
|
|
[[https://melpa.org/#/getting-started][MELPA]] set up. But honestly, you're better off just cloning this repo and putting
|
|
its lisp directory in your load path, then installing anything missing. 🤷
|
|
|
|
- Clone the repo:
|
|
#+begin_src sh
|
|
$ git clone git@github.com:chrisbarrett/nursery.git <path>
|
|
#+end_src
|
|
|
|
- Add to load path:
|
|
#+begin_src emacs-lisp
|
|
(add-to-list 'load-path "<path>/lisp")
|
|
#+end_src
|
|
|
|
- load desired features in your =~/.config/emacs/init.el=, e.g.:
|
|
#+begin_src emacs-lisp
|
|
(use-package org-roam-review
|
|
:commands (org-roam-review
|
|
org-roam-review-list-by-maturity
|
|
org-roam-review-list-recently-added)
|
|
|
|
;; ;; Optional - tag all newly-created notes as seedlings.
|
|
;; :hook (org-roam-capture-new-node . org-roam-review-set-seedling)
|
|
|
|
;; ;; Optional - keybindings for applying Evergreen note properties.
|
|
;; :general
|
|
;; (:keymaps 'org-mode-map
|
|
;; "C-c r r" '(org-roam-review-accept :wk "accept")
|
|
;; "C-c r u" '(org-roam-review-bury :wk "bury")
|
|
;; "C-c r x" '(org-roam-review-set-excluded :wk "set excluded")
|
|
;; "C-c r b" '(org-roam-review-set-budding :wk "set budding")
|
|
;; "C-c r s" '(org-roam-review-set-seedling :wk "set seedling")
|
|
;; "C-c r e" '(org-roam-review-set-evergreen :wk "set evergreen"))
|
|
|
|
;; ;; Optional - bindings for evil-mode compatability.
|
|
;; :general
|
|
;; (:states '(normal) :keymaps 'org-roam-review-mode-map
|
|
;; "TAB" 'magit-section-cycle
|
|
;; "g r" 'org-roam-review-refresh)
|
|
)
|
|
|
|
(use-package org-roam-search
|
|
:commands (org-roam-search))
|
|
|
|
(use-package org-roam-links
|
|
:commands (org-roam-links))
|
|
|
|
(use-package org-roam-dblocks
|
|
:hook (org-mode . org-roam-dblocks-autoupdate-mode))
|
|
|
|
(use-package org-roam-rewrite
|
|
:commands (org-roam-rewrite-rename
|
|
org-roam-rewrite-remove
|
|
org-roam-rewrite-inline
|
|
org-roam-rewrite-extract))
|
|
|
|
(use-package org-roam-slipbox
|
|
:after org-roam
|
|
:demand t
|
|
:config
|
|
(org-roam-slipbox-buffer-identification-mode +1)
|
|
(org-roam-slipbox-tag-mode +1))
|
|
#+end_src
|