mirror of
https://github.com/org-roam/org-roam
synced 2025-08-27 14:23:32 -05:00
Deploying to gh-pages from @ 2f4034cebc
🚀
This commit is contained in:
@@ -67,7 +67,7 @@ Next: <a href="FAQ.html#FAQ" accesskey="n" rel="next">FAQ</a>, Previous: <a href
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Appendix-1"></a>
|
||||
<h2 class="chapter">18 Appendix</h2>
|
||||
<h2 class="chapter">19 Appendix</h2>
|
||||
|
||||
<table class="menu" border="0" cellspacing="0">
|
||||
<tr><td align="left" valign="top">• <a href="Note_002dtaking-Workflows.html#Note_002dtaking-Workflows" accesskey="1">Note-taking Workflows</a>:</td><td> </td><td align="left" valign="top">
|
||||
|
@@ -67,16 +67,16 @@ Next: <a href="Versioning-Notes.html#Versioning-Notes" accesskey="n" rel="next">
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Browsing-History-with-winner_002dmode-1"></a>
|
||||
<h4 class="subsection">18.2.1 Browsing History with winner-mode</h4>
|
||||
<h4 class="subsection">19.2.1 Browsing History with winner-mode</h4>
|
||||
|
||||
<p><code>winner-mode</code> is a global minor mode that allows one to undo and redo changes in the window configuration. It is included with GNU Emacs since version 20.
|
||||
</p>
|
||||
<p><code>winner-mode</code> can be used as a simple version of browser history for Org-roam. Each click through org-roam links (from both Org files and the backlinks buffer) causes changes in window configuration, which can be undone and redone using <code>winner-mode</code>. To use <code>winner-mode</code>, simply enable it, and bind the appropriate interactive functions:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (winner-mode +1)
|
||||
(define-key winner-mode-map (kbd "<M-left>") #'winner-undo)
|
||||
(define-key winner-mode-map (kbd "<M-right>") #'winner-redo)
|
||||
<pre class="lisp">(winner-mode +1)
|
||||
(define-key winner-mode-map (kbd "<M-left>") #'winner-undo)
|
||||
(define-key winner-mode-map (kbd "<M-right>") #'winner-redo)
|
||||
|
||||
</pre></div>
|
||||
|
||||
|
@@ -25,7 +25,7 @@ General Public License for more details.
|
||||
<link href="index.html#Top" rel="start" title="Top">
|
||||
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
||||
<link href="index.html#Top" rel="up" title="Top">
|
||||
<link href="Performance-Optimization.html#Performance-Optimization" rel="next" title="Performance Optimization">
|
||||
<link href="Finding-Unlinked-References.html#Finding-Unlinked-References" rel="next" title="Finding Unlinked References">
|
||||
<link href="Daily-Notes.html#Daily-Notes" rel="prev" title="Daily Notes">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
@@ -63,7 +63,7 @@ ul.no-bullet {list-style: none}
|
||||
<a name="Diagnosing-and-Repairing-Files"></a>
|
||||
<div class="header">
|
||||
<p>
|
||||
Next: <a href="Performance-Optimization.html#Performance-Optimization" accesskey="n" rel="next">Performance Optimization</a>, Previous: <a href="Daily-Notes.html#Daily-Notes" accesskey="p" rel="prev">Daily Notes</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
|
||||
Next: <a href="Finding-Unlinked-References.html#Finding-Unlinked-References" accesskey="n" rel="next">Finding Unlinked References</a>, Previous: <a href="Daily-Notes.html#Daily-Notes" accesskey="p" rel="prev">Daily Notes</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Diagnosing-and-Repairing-Files-1"></a>
|
||||
|
@@ -67,7 +67,7 @@ Previous: <a href="Note_002dtaking-Workflows.html#Note_002dtaking-Workflows" acc
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Ecosystem-1"></a>
|
||||
<h3 class="section">18.2 Ecosystem</h3>
|
||||
<h3 class="section">19.2 Ecosystem</h3>
|
||||
|
||||
<table class="menu" border="0" cellspacing="0">
|
||||
<tr><td align="left" valign="top">• <a href="Browsing-History-with-winner_002dmode.html#Browsing-History-with-winner_002dmode" accesskey="1">Browsing History with winner-mode</a>:</td><td> </td><td align="left" valign="top">
|
||||
|
@@ -84,7 +84,7 @@ are excluded.
|
||||
</p></li></ul>
|
||||
|
||||
<div class="example">
|
||||
<pre class="example"> (setq org-roam-graph-exclude-matcher '("private" "dailies"))
|
||||
<pre class="example">(setq org-roam-graph-exclude-matcher '("private" "dailies"))
|
||||
</pre></div>
|
||||
|
||||
<p>This setting excludes all files whose path contain “private” or “dailies”.
|
||||
|
@@ -67,7 +67,7 @@ Previous: <a href="Appendix.html#Appendix" accesskey="p" rel="prev">Appendix</a>
|
||||
</div>
|
||||
<hr>
|
||||
<a name="FAQ-1"></a>
|
||||
<h2 class="chapter">19 FAQ</h2>
|
||||
<h2 class="chapter">20 FAQ</h2>
|
||||
|
||||
<table class="menu" border="0" cellspacing="0">
|
||||
<tr><td align="left" valign="top">• <a href="How-do-I-have-more-than-one-Org_002droam-directory_003f.html#How-do-I-have-more-than-one-Org_002droam-directory_003f" accesskey="1">How do I have more than one Org-roam directory?</a>:</td><td> </td><td align="left" valign="top">
|
||||
|
@@ -73,8 +73,8 @@ Previous: <a href="Tags.html#Tags" accesskey="p" rel="prev">Tags</a>, Up: <a hre
|
||||
For example, a note for a website may contain a ref:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> #+title: Google
|
||||
#+roam_key: https://www.google.com/
|
||||
<pre class="example">#+title: Google
|
||||
#+roam_key: https://www.google.com/
|
||||
</pre></div>
|
||||
|
||||
<p>These keys come in useful for when taking website notes, using the
|
||||
@@ -84,8 +84,8 @@ For example, a note for a website may contain a ref:
|
||||
<a href="https://github.com/jkitchin/org-ref">org-ref</a> citation key:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> #+title: Neural Ordinary Differential Equations
|
||||
#+roam_key: cite:chen18_neural_ordin_differ_equat
|
||||
<pre class="example">#+title: Neural Ordinary Differential Equations
|
||||
#+roam_key: cite:chen18_neural_ordin_differ_equat
|
||||
</pre></div>
|
||||
|
||||
<p>The backlinks buffer will show any cites of this key: e.g.
|
||||
|
87
manual/Finding-Unlinked-References.html
Normal file
87
manual/Finding-Unlinked-References.html
Normal file
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<!-- Copyright (C) 2020-2020 Jethro Kuan <jethrokuan95@gmail.com>
|
||||
|
||||
You can redistribute this document and/or modify it under the terms
|
||||
of the GNU General Public License as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
This document is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
-->
|
||||
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Finding Unlinked References (Org-roam User Manual)</title>
|
||||
|
||||
<meta name="description" content="Finding Unlinked References (Org-roam User Manual)">
|
||||
<meta name="keywords" content="Finding Unlinked References (Org-roam User Manual)">
|
||||
<meta name="resource-type" content="document">
|
||||
<meta name="distribution" content="global">
|
||||
<meta name="Generator" content="makeinfo">
|
||||
<link href="index.html#Top" rel="start" title="Top">
|
||||
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
||||
<link href="index.html#Top" rel="up" title="Top">
|
||||
<link href="Performance-Optimization.html#Performance-Optimization" rel="next" title="Performance Optimization">
|
||||
<link href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files" rel="prev" title="Diagnosing and Repairing Files">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
a.summary-letter {text-decoration: none}
|
||||
blockquote.indentedblock {margin-right: 0em}
|
||||
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
|
||||
blockquote.smallquotation {font-size: smaller}
|
||||
div.display {margin-left: 3.2em}
|
||||
div.example {margin-left: 3.2em}
|
||||
div.lisp {margin-left: 3.2em}
|
||||
div.smalldisplay {margin-left: 3.2em}
|
||||
div.smallexample {margin-left: 3.2em}
|
||||
div.smalllisp {margin-left: 3.2em}
|
||||
kbd {font-style: oblique}
|
||||
pre.display {font-family: inherit}
|
||||
pre.format {font-family: inherit}
|
||||
pre.menu-comment {font-family: serif}
|
||||
pre.menu-preformatted {font-family: serif}
|
||||
pre.smalldisplay {font-family: inherit; font-size: smaller}
|
||||
pre.smallexample {font-size: smaller}
|
||||
pre.smallformat {font-family: inherit; font-size: smaller}
|
||||
pre.smalllisp {font-size: smaller}
|
||||
span.nolinebreak {white-space: nowrap}
|
||||
span.roman {font-family: initial; font-weight: normal}
|
||||
span.sansserif {font-family: sans-serif; font-weight: normal}
|
||||
ul.no-bullet {list-style: none}
|
||||
-->
|
||||
</style>
|
||||
<link rel="stylesheet" type="text/css" href="assets/page.css">
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body lang="en">
|
||||
<a name="Finding-Unlinked-References"></a>
|
||||
<div class="header">
|
||||
<p>
|
||||
Next: <a href="Performance-Optimization.html#Performance-Optimization" accesskey="n" rel="next">Performance Optimization</a>, Previous: <a href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files" accesskey="p" rel="prev">Diagnosing and Repairing Files</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Finding-Unlinked-References-1"></a>
|
||||
<h2 class="chapter">17 Finding Unlinked References</h2>
|
||||
|
||||
<p>Unlinked references are occurrences of strings of text that exactly match the
|
||||
title or alias of an existing note in the Org-roam database. Org-roam provides
|
||||
facilities for discovering these unlinked references, so one may decide whether
|
||||
to convert them into links.
|
||||
</p>
|
||||
<p>To use this feature, simply call <code>M-x org-roam-unlinked-references</code> from within
|
||||
an Org-roam note. Org-roam uses <a href="https://github.com/BurntSushi/ripgrep">ripgrep</a>, specifically a clever PCRE regex to
|
||||
find occurrences of the title or aliases of the currently open note in all
|
||||
Org-roam files. This thus requires a version of ripgrep that is compiled with
|
||||
PCRE support.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -67,20 +67,20 @@ Next: <a href="Org_002djournal.html#Org_002djournal" accesskey="n" rel="next">Or
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Full_002dtext-search-interface-with-Deft-1"></a>
|
||||
<h4 class="subsection">18.2.3 Full-text search interface with Deft</h4>
|
||||
<h4 class="subsection">19.2.3 Full-text search interface with Deft</h4>
|
||||
|
||||
<p><a href="https://jblevins.org/projects/deft/">Deft</a> provides a nice interface for browsing and filtering org-roam notes.
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (use-package deft
|
||||
:after org
|
||||
:bind
|
||||
("C-c n d" . deft)
|
||||
:custom
|
||||
(deft-recursive t)
|
||||
(deft-use-filter-string-for-filename t)
|
||||
(deft-default-extension "org")
|
||||
(deft-directory "/path/to/org-roam-files/"))
|
||||
<pre class="lisp">(use-package deft
|
||||
:after org
|
||||
:bind
|
||||
("C-c n d" . deft)
|
||||
:custom
|
||||
(deft-recursive t)
|
||||
(deft-use-filter-string-for-filename t)
|
||||
(deft-default-extension "org")
|
||||
(deft-directory "/path/to/org-roam-files/"))
|
||||
</pre></div>
|
||||
|
||||
<p>If the title of the Org file is not the first line, you might not get
|
||||
@@ -89,29 +89,29 @@ functionality. Here I’m using
|
||||
<a href="https://github.com/raxod502/el-patch">el-patch</a>:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (use-package el-patch
|
||||
:straight (:host github
|
||||
:repo "raxod502/el-patch"
|
||||
:branch "develop"))
|
||||
<pre class="lisp">(use-package el-patch
|
||||
:straight (:host github
|
||||
:repo "raxod502/el-patch"
|
||||
:branch "develop"))
|
||||
|
||||
(eval-when-compile
|
||||
(require 'el-patch))
|
||||
(eval-when-compile
|
||||
(require 'el-patch))
|
||||
|
||||
(use-package deft
|
||||
;; same as above...
|
||||
:config/el-patch
|
||||
(defun deft-parse-title (file contents)
|
||||
"Parse the given FILE and CONTENTS and determine the title.
|
||||
If `deft-use-filename-as-title' is nil, the title is taken to
|
||||
be the first non-empty line of the FILE. Else the base name of the FILE is
|
||||
used as title."
|
||||
(el-patch-swap (if deft-use-filename-as-title
|
||||
(deft-base-filename file)
|
||||
(let ((begin (string-match "^.+$" contents)))
|
||||
(if begin
|
||||
(funcall deft-parse-title-function
|
||||
(substring contents begin (match-end 0))))))
|
||||
(org-roam--get-title-or-slug file))))
|
||||
(use-package deft
|
||||
;; same as above...
|
||||
:config/el-patch
|
||||
(defun deft-parse-title (file contents)
|
||||
"Parse the given FILE and CONTENTS and determine the title.
|
||||
If `deft-use-filename-as-title' is nil, the title is taken to
|
||||
be the first non-empty line of the FILE. Else the base name of the FILE is
|
||||
used as title."
|
||||
(el-patch-swap (if deft-use-filename-as-title
|
||||
(deft-base-filename file)
|
||||
(let ((begin (string-match "^.+$" contents)))
|
||||
(if begin
|
||||
(funcall deft-parse-title-function
|
||||
(substring contents begin (match-end 0))))))
|
||||
(org-roam--get-title-or-slug file))))
|
||||
</pre></div>
|
||||
|
||||
<p>The Deft interface can slow down quickly when the number of files get
|
||||
|
@@ -67,7 +67,7 @@ Previous: <a href="Profiling-Key-Operations.html#Profiling-Key-Operations" acces
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Garbage-Collection-1"></a>
|
||||
<h3 class="section">17.2 Garbage Collection</h3>
|
||||
<h3 class="section">18.2 Garbage Collection</h3>
|
||||
|
||||
<p>During the cache-build process, Org-roam generates a lot of in-memory
|
||||
data-structures (such as the Org file’s AST), which are discarded after use. These structures are garbage collected at regular intervals (see <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Garbage-Collection.html#Garbage-Collection">(elisp)info:elisp#Garbage Collection</a>).
|
||||
@@ -78,7 +78,7 @@ operations. To reduce the number of garbage collection processes, one may set
|
||||
<code>org-roam-db-gc-threshold</code> to a high value (such as <code>most-positive-fixnum</code>):
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (setq org-roam-db-gc-threshold most-positive-fixnum)
|
||||
<pre class="lisp">(setq org-roam-db-gc-threshold most-positive-fixnum)
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
@@ -112,10 +112,10 @@ compact graph layout.
|
||||
<p>If you are using WSL2 and would like to open the graph in Windows, you can use the second option to set the browser and network file path:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (setq org-roam-graph-viewer
|
||||
(lambda (file)
|
||||
(let ((org-roam-graph-viewer "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"))
|
||||
(org-roam-graph--open (concat "file://///wsl$/Ubuntu" file)))))
|
||||
<pre class="lisp">(setq org-roam-graph-viewer
|
||||
(lambda (file)
|
||||
(let ((org-roam-graph-viewer "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"))
|
||||
(org-roam-graph--open (concat "file://///wsl$/Ubuntu" file)))))
|
||||
</pre></div>
|
||||
</li></ul>
|
||||
|
||||
|
@@ -67,7 +67,7 @@ Next: <a href="How-do-I-migrate-from-Roam-Research_003f.html#How-do-I-migrate-fr
|
||||
</div>
|
||||
<hr>
|
||||
<a name="How-do-I-have-more-than-one-Org_002droam-directory_003f-1"></a>
|
||||
<h3 class="section">19.1 How do I have more than one Org-roam directory?</h3>
|
||||
<h3 class="section">20.1 How do I have more than one Org-roam directory?</h3>
|
||||
|
||||
<p>Emacs supports directory-local variables, allowing the value of
|
||||
<code>org-roam-directory</code> to be different in different directories. It does this by
|
||||
@@ -78,8 +78,8 @@ variable using directory-local variables. This is what <code>.dir-locals.el</cod
|
||||
contain:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> ((nil . ((org-roam-directory . ".")
|
||||
(org-roam-db-location . "./org-roam.db"))))
|
||||
<pre class="lisp">((nil . ((org-roam-directory . ".")
|
||||
(org-roam-db-location . "./org-roam.db"))))
|
||||
</pre></div>
|
||||
|
||||
<p>All files within that directory will be treated as their own separate
|
||||
|
@@ -66,7 +66,7 @@ Previous: <a href="How-do-I-have-more-than-one-Org_002droam-directory_003f.html#
|
||||
</div>
|
||||
<hr>
|
||||
<a name="How-do-I-migrate-from-Roam-Research_003f-1"></a>
|
||||
<h3 class="section">19.2 How do I migrate from Roam Research?</h3>
|
||||
<h3 class="section">20.2 How do I migrate from Roam Research?</h3>
|
||||
|
||||
<p>Fabio has produced a command-line tool that converts markdown files exported from Roam Research into Org-roam compatible markdown. More instructions are provided <a href="https://github.com/fabioberger/roam-migration">in the repository</a>.
|
||||
</p>
|
||||
|
@@ -73,7 +73,7 @@ Next: <a href="Installing-from-the-Git-Repository.html#Installing-from-the-Git-R
|
||||
using Apt:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> apt-get install elpa-org-roam
|
||||
<pre class="example">apt-get install elpa-org-roam
|
||||
</pre></div>
|
||||
|
||||
<p>Org-roam will then be autoloaded into Emacs.
|
||||
|
@@ -79,9 +79,9 @@ archives to ‘<samp>package-archives</samp>’:
|
||||
</li></ul>
|
||||
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "http://melpa.org/packages/") t)
|
||||
<pre class="lisp">(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "http://melpa.org/packages/") t)
|
||||
</pre></div>
|
||||
|
||||
<ul>
|
||||
@@ -89,9 +89,9 @@ archives to ‘<samp>package-archives</samp>’:
|
||||
</li></ul>
|
||||
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa-stable" . "http://stable.melpa.org/packages/") t)
|
||||
<pre class="lisp">(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa-stable" . "http://stable.melpa.org/packages/") t)
|
||||
</pre></div>
|
||||
|
||||
<p>Org-roam also depends on a recent version of Org, which can be obtained in Org’s
|
||||
@@ -105,14 +105,14 @@ package repository (see <a href="http://www.gnu.org/software/emacs/manual/html_n
|
||||
local package list using:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> M-x package-refresh-contents RET
|
||||
<pre class="example">M-x package-refresh-contents RET
|
||||
</pre></div>
|
||||
|
||||
<p>Once you have done that, you can install Org-roam and its dependencies
|
||||
using:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> M-x package-install RET org-roam RET
|
||||
<pre class="example">M-x package-install RET org-roam RET
|
||||
</pre></div>
|
||||
|
||||
<p>Now see <a href="Post_002dInstallation-Tasks.html#Post_002dInstallation-Tasks">Post-Installation Tasks</a>.
|
||||
|
@@ -114,7 +114,7 @@ Next: <a href="Post_002dInstallation-Tasks.html#Post_002dInstallation-Tasks" acc
|
||||
<div class="lisp">
|
||||
<pre class="lisp">(require 'info)
|
||||
(add-to-list 'Info-default-directory-list
|
||||
"/path/to/my/info/files")
|
||||
"/path/to/my/info/files")
|
||||
</pre></div>
|
||||
|
||||
<p>You can also use one of the default locations, such as:
|
||||
|
@@ -67,7 +67,7 @@ Previous: <a href="Org_002djournal.html#Org_002djournal" accesskey="p" rel="prev
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Note_002dtaking-Add_002dons-1"></a>
|
||||
<h4 class="subsection">18.2.5 Note-taking Add-ons</h4>
|
||||
<h4 class="subsection">19.2.5 Note-taking Add-ons</h4>
|
||||
|
||||
<p>These are some plugins that make note-taking in Org-mode more enjoyable.
|
||||
</p>
|
||||
|
@@ -67,7 +67,7 @@ Next: <a href="Ecosystem.html#Ecosystem" accesskey="n" rel="next">Ecosystem</a>,
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Note_002dtaking-Workflows-1"></a>
|
||||
<h3 class="section">18.1 Note-taking Workflows</h3>
|
||||
<h3 class="section">19.1 Note-taking Workflows</h3>
|
||||
|
||||
<dl compact="compact">
|
||||
<dt>Books</dt>
|
||||
|
@@ -76,12 +76,12 @@ Next: <a href="mathpixel.html#mathpixel" accesskey="n" rel="next">mathpixel</a>,
|
||||
|
||||
<div class="float-caption"><p><strong>Figure: </strong>org-download</p></div></div>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (use-package org-download
|
||||
:after org
|
||||
:bind
|
||||
(:map org-mode-map
|
||||
(("s-Y" . org-download-screenshot)
|
||||
("s-y" . org-download-yank))))
|
||||
<pre class="lisp">(use-package org-download
|
||||
:after org
|
||||
:bind
|
||||
(:map org-mode-map
|
||||
(("s-Y" . org-download-screenshot)
|
||||
("s-y" . org-download-yank))))
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
@@ -67,7 +67,7 @@ Next: <a href="Note_002dtaking-Add_002dons.html#Note_002dtaking-Add_002dons" acc
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Org_002djournal-1"></a>
|
||||
<h4 class="subsection">18.2.4 Org-journal</h4>
|
||||
<h4 class="subsection">19.2.4 Org-journal</h4>
|
||||
|
||||
<p><a href="https://github.com/bastibe/org-journal">Org-journal</a> is a more
|
||||
powerful alternative to the simple function <code>org-roam-dailies-today</code>. It
|
||||
@@ -75,14 +75,14 @@ provides better journaling capabilities, and a nice calendar interface
|
||||
to see all dated entries.
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (use-package org-journal
|
||||
:bind
|
||||
("C-c n j" . org-journal-new-entry)
|
||||
:custom
|
||||
(org-journal-date-prefix "#+title: ")
|
||||
(org-journal-file-format "%Y-%m-%d.org")
|
||||
(org-journal-dir "/path/to/org-roam-files/")
|
||||
(org-journal-date-format "%A, %d %B %Y"))
|
||||
<pre class="lisp">(use-package org-journal
|
||||
:bind
|
||||
("C-c n j" . org-journal-new-entry)
|
||||
:custom
|
||||
(org-journal-date-prefix "#+title: ")
|
||||
(org-journal-file-format "%Y-%m-%d.org")
|
||||
(org-journal-dir "/path/to/org-roam-files/")
|
||||
(org-journal-date-format "%A, %d %B %Y"))
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
@@ -74,7 +74,7 @@ its interactive commands. The default setting uses Emacs’ standard
|
||||
<code>completing-read</code> mechanism.
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (setq org-roam-completion-system 'default)
|
||||
<pre class="lisp">(setq org-roam-completion-system 'default)
|
||||
</pre></div>
|
||||
|
||||
<p>If you have installed Helm or Ivy, and have their modes enabled, under the
|
||||
@@ -84,7 +84,7 @@ its interactive commands. The default setting uses Emacs’ standard
|
||||
commands, set:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (setq org-roam-completion-system 'helm)
|
||||
<pre class="lisp">(setq org-roam-completion-system 'helm)
|
||||
</pre></div>
|
||||
|
||||
<p>Other options include <code>'ido</code>, and <code>'ivy</code>.
|
||||
|
@@ -96,11 +96,11 @@ advantage of org-mode’s <code>%(EXP)</code> template expansion to call <co
|
||||
directly to provide its third argument to specify UTC.
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> ("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%(format-time-string \"%Y-%m-%d--%H-%M-%SZ--${slug}\" (current-time) t)"
|
||||
:head "#+title: ${title}\n"
|
||||
:unnarrowed t)
|
||||
<pre class="lisp">("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%(format-time-string \"%Y-%m-%d--%H-%M-%SZ--${slug}\" (current-time) t)"
|
||||
:head "#+title: ${title}\n"
|
||||
:unnarrowed t)
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
@@ -26,7 +26,7 @@ General Public License for more details.
|
||||
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
|
||||
<link href="index.html#Top" rel="up" title="Top">
|
||||
<link href="Profiling-Key-Operations.html#Profiling-Key-Operations" rel="next" title="Profiling Key Operations">
|
||||
<link href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files" rel="prev" title="Diagnosing and Repairing Files">
|
||||
<link href="Finding-Unlinked-References.html#Finding-Unlinked-References" rel="prev" title="Finding Unlinked References">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
a.summary-letter {text-decoration: none}
|
||||
@@ -63,11 +63,11 @@ ul.no-bullet {list-style: none}
|
||||
<a name="Performance-Optimization"></a>
|
||||
<div class="header">
|
||||
<p>
|
||||
Next: <a href="Appendix.html#Appendix" accesskey="n" rel="next">Appendix</a>, Previous: <a href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files" accesskey="p" rel="prev">Diagnosing and Repairing Files</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
|
||||
Next: <a href="Appendix.html#Appendix" accesskey="n" rel="next">Appendix</a>, Previous: <a href="Finding-Unlinked-References.html#Finding-Unlinked-References" accesskey="p" rel="prev">Finding Unlinked References</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Performance-Optimization-1"></a>
|
||||
<h2 class="chapter">17 Performance Optimization</h2>
|
||||
<h2 class="chapter">18 Performance Optimization</h2>
|
||||
|
||||
<table class="menu" border="0" cellspacing="0">
|
||||
<tr><td align="left" valign="top">• <a href="Profiling-Key-Operations.html#Profiling-Key-Operations" accesskey="1">Profiling Key Operations</a>:</td><td> </td><td align="left" valign="top">
|
||||
|
@@ -74,7 +74,7 @@ Previous: <a href="Installing-from-the-Git-Repository.html#Installing-from-the-G
|
||||
operating system. You can verify that this is the case by executing:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (executable-find "sqlite3")
|
||||
<pre class="lisp">(executable-find "sqlite3")
|
||||
</pre></div>
|
||||
|
||||
<p>If you have <code>sqlite3</code> installed, and <code>executable-find</code> still reports <code>nil</code>, then
|
||||
@@ -83,7 +83,7 @@ variable <code>exec-path</code>. You may rectify this by manually adding the pat
|
||||
your Emacs configuration:
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (add-to-list 'exec-path "path/to/sqlite3")
|
||||
<pre class="lisp">(add-to-list 'exec-path "path/to/sqlite3")
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
@@ -67,7 +67,7 @@ Next: <a href="Garbage-Collection.html#Garbage-Collection" accesskey="n" rel="ne
|
||||
</div>
|
||||
<hr>
|
||||
<a name="TODO-Profiling-Key-Operations"></a>
|
||||
<h3 class="section">17.1 <strong>TODO</strong> Profiling Key Operations</h3>
|
||||
<h3 class="section">18.1 <strong>TODO</strong> Profiling Key Operations</h3>
|
||||
|
||||
|
||||
|
||||
|
@@ -73,11 +73,11 @@ Next: <a href="Org_002droam-Template-Expansion.html#Org_002droam-Template-Expans
|
||||
the default template, reproduced below.
|
||||
</p>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> ("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%<%Y%m%d%H%M%S>-${slug}"
|
||||
:head "#+title: ${title}\n"
|
||||
:unnarrowed t)
|
||||
<pre class="lisp">("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%<%Y%m%d%H%M%S>-${slug}"
|
||||
:head "#+title: ${title}\n"
|
||||
:unnarrowed t)
|
||||
</pre></div>
|
||||
|
||||
<ol>
|
||||
|
@@ -87,7 +87,7 @@ Previous: <a href="The-roam_002dfile-protocol.html#The-roam_002dfile-protocol" a
|
||||
<a href="https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc">Configuring qutebrowser</a>):
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> config.bind("<Ctrl-r>", "open javascript:location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)")
|
||||
<pre class="example">config.bind("<Ctrl-r>", "open javascript:location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)")
|
||||
</pre></div>
|
||||
|
||||
<p>where <code>template</code> is the template key for a template in
|
||||
|
@@ -89,10 +89,10 @@ The aliases are space-delimited, and can be multi-worded using quotes
|
||||
<p>Take for example the following org file:
|
||||
</p>
|
||||
<div class="example">
|
||||
<pre class="example"> #+title: World War 2
|
||||
#+roam_alias: "WWII" "World War II"
|
||||
<pre class="example">#+title: World War 2
|
||||
#+roam_alias: "WWII" "World War II"
|
||||
|
||||
* Headline
|
||||
* Headline
|
||||
</pre></div>
|
||||
|
||||
<table>
|
||||
|
@@ -67,7 +67,7 @@ Next: <a href="Full_002dtext-search-interface-with-Deft.html#Full_002dtext-searc
|
||||
</div>
|
||||
<hr>
|
||||
<a name="Versioning-Notes-1"></a>
|
||||
<h4 class="subsection">18.2.2 Versioning Notes</h4>
|
||||
<h4 class="subsection">19.2.2 Versioning Notes</h4>
|
||||
|
||||
<p>Since Org-roam notes are just plain text, it is trivial to track changes in your
|
||||
notes database using version control systems such as <a href="https://git-scm.com/">Git</a>. Simply initialize
|
||||
|
@@ -119,21 +119,22 @@ ul.no-bullet {list-style: none}
|
||||
</ul></li>
|
||||
<li><a name="toc-TODO-Daily-Notes" href="Daily-Notes.html#Daily-Notes">15 <strong>TODO</strong> Daily Notes</a></li>
|
||||
<li><a name="toc-Diagnosing-and-Repairing-Files-1" href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files">16 Diagnosing and Repairing Files</a></li>
|
||||
<li><a name="toc-Performance-Optimization-1" href="Performance-Optimization.html#Performance-Optimization">17 Performance Optimization</a>
|
||||
<li><a name="toc-Finding-Unlinked-References-1" href="Finding-Unlinked-References.html#Finding-Unlinked-References">17 Finding Unlinked References</a></li>
|
||||
<li><a name="toc-Performance-Optimization-1" href="Performance-Optimization.html#Performance-Optimization">18 Performance Optimization</a>
|
||||
<ul class="no-bullet">
|
||||
<li><a name="toc-TODO-Profiling-Key-Operations" href="Profiling-Key-Operations.html#Profiling-Key-Operations">17.1 <strong>TODO</strong> Profiling Key Operations</a></li>
|
||||
<li><a name="toc-Garbage-Collection-1" href="Garbage-Collection.html#Garbage-Collection">17.2 Garbage Collection</a></li>
|
||||
<li><a name="toc-TODO-Profiling-Key-Operations" href="Profiling-Key-Operations.html#Profiling-Key-Operations">18.1 <strong>TODO</strong> Profiling Key Operations</a></li>
|
||||
<li><a name="toc-Garbage-Collection-1" href="Garbage-Collection.html#Garbage-Collection">18.2 Garbage Collection</a></li>
|
||||
</ul></li>
|
||||
<li><a name="toc-Appendix-1" href="Appendix.html#Appendix">18 Appendix</a>
|
||||
<li><a name="toc-Appendix-1" href="Appendix.html#Appendix">19 Appendix</a>
|
||||
<ul class="no-bullet">
|
||||
<li><a name="toc-Note_002dtaking-Workflows-1" href="Note_002dtaking-Workflows.html#Note_002dtaking-Workflows">18.1 Note-taking Workflows</a></li>
|
||||
<li><a name="toc-Ecosystem-1" href="Ecosystem.html#Ecosystem">18.2 Ecosystem</a>
|
||||
<li><a name="toc-Note_002dtaking-Workflows-1" href="Note_002dtaking-Workflows.html#Note_002dtaking-Workflows">19.1 Note-taking Workflows</a></li>
|
||||
<li><a name="toc-Ecosystem-1" href="Ecosystem.html#Ecosystem">19.2 Ecosystem</a>
|
||||
<ul class="no-bullet">
|
||||
<li><a name="toc-Browsing-History-with-winner_002dmode-1" href="Browsing-History-with-winner_002dmode.html#Browsing-History-with-winner_002dmode">18.2.1 Browsing History with winner-mode</a></li>
|
||||
<li><a name="toc-Versioning-Notes-1" href="Versioning-Notes.html#Versioning-Notes">18.2.2 Versioning Notes</a></li>
|
||||
<li><a name="toc-Full_002dtext-search-interface-with-Deft-1" href="Full_002dtext-search-interface-with-Deft.html#Full_002dtext-search-interface-with-Deft">18.2.3 Full-text search interface with Deft</a></li>
|
||||
<li><a name="toc-Org_002djournal-1" href="Org_002djournal.html#Org_002djournal">18.2.4 Org-journal</a></li>
|
||||
<li><a name="toc-Note_002dtaking-Add_002dons-1" href="Note_002dtaking-Add_002dons.html#Note_002dtaking-Add_002dons">18.2.5 Note-taking Add-ons</a>
|
||||
<li><a name="toc-Browsing-History-with-winner_002dmode-1" href="Browsing-History-with-winner_002dmode.html#Browsing-History-with-winner_002dmode">19.2.1 Browsing History with winner-mode</a></li>
|
||||
<li><a name="toc-Versioning-Notes-1" href="Versioning-Notes.html#Versioning-Notes">19.2.2 Versioning Notes</a></li>
|
||||
<li><a name="toc-Full_002dtext-search-interface-with-Deft-1" href="Full_002dtext-search-interface-with-Deft.html#Full_002dtext-search-interface-with-Deft">19.2.3 Full-text search interface with Deft</a></li>
|
||||
<li><a name="toc-Org_002djournal-1" href="Org_002djournal.html#Org_002djournal">19.2.4 Org-journal</a></li>
|
||||
<li><a name="toc-Note_002dtaking-Add_002dons-1" href="Note_002dtaking-Add_002dons.html#Note_002dtaking-Add_002dons">19.2.5 Note-taking Add-ons</a>
|
||||
<ul class="no-bullet">
|
||||
<li><a name="toc-Org_002ddownload-1" href="Org_002ddownload.html#Org_002ddownload">Org-download</a></li>
|
||||
<li><a name="toc-mathpix_002eel" href="mathpixel.html#mathpixel">mathpix.el</a></li>
|
||||
@@ -143,10 +144,10 @@ ul.no-bullet {list-style: none}
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li><a name="toc-FAQ-1" href="FAQ.html#FAQ">19 FAQ</a>
|
||||
<li><a name="toc-FAQ-1" href="FAQ.html#FAQ">20 FAQ</a>
|
||||
<ul class="no-bullet">
|
||||
<li><a name="toc-How-do-I-have-more-than-one-Org_002droam-directory_003f-1" href="How-do-I-have-more-than-one-Org_002droam-directory_003f.html#How-do-I-have-more-than-one-Org_002droam-directory_003f">19.1 How do I have more than one Org-roam directory?</a></li>
|
||||
<li><a name="toc-How-do-I-migrate-from-Roam-Research_003f-1" href="How-do-I-migrate-from-Roam-Research_003f.html#How-do-I-migrate-from-Roam-Research_003f">19.2 How do I migrate from Roam Research?</a></li>
|
||||
<li><a name="toc-How-do-I-have-more-than-one-Org_002droam-directory_003f-1" href="How-do-I-have-more-than-one-Org_002droam-directory_003f.html#How-do-I-have-more-than-one-Org_002droam-directory_003f">20.1 How do I have more than one Org-roam directory?</a></li>
|
||||
<li><a name="toc-How-do-I-migrate-from-Roam-Research_003f-1" href="How-do-I-migrate-from-Roam-Research_003f.html#How-do-I-migrate-from-Roam-Research_003f">20.2 How do I migrate from Roam Research?</a></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -211,6 +212,8 @@ General Public License for more details.
|
||||
</td></tr>
|
||||
<tr><td align="left" valign="top">• <a href="Diagnosing-and-Repairing-Files.html#Diagnosing-and-Repairing-Files">Diagnosing and Repairing Files</a>:</td><td> </td><td align="left" valign="top">
|
||||
</td></tr>
|
||||
<tr><td align="left" valign="top">• <a href="Finding-Unlinked-References.html#Finding-Unlinked-References">Finding Unlinked References</a>:</td><td> </td><td align="left" valign="top">
|
||||
</td></tr>
|
||||
<tr><td align="left" valign="top">• <a href="Performance-Optimization.html#Performance-Optimization">Performance Optimization</a>:</td><td> </td><td align="left" valign="top">
|
||||
</td></tr>
|
||||
<tr><td align="left" valign="top">• <a href="Appendix.html#Appendix">Appendix</a>:</td><td> </td><td align="left" valign="top">
|
||||
|
@@ -76,12 +76,12 @@ Next: <a href="Org_002dnoter-_002f-Interleave.html#Org_002dnoter-_002f-Interleav
|
||||
|
||||
<div class="float-caption"><p><strong>Figure: </strong>mathpix</p></div></div>
|
||||
<div class="lisp">
|
||||
<pre class="lisp"> (use-package mathpix.el
|
||||
:straight (:host github :repo "jethrokuan/mathpix.el")
|
||||
:custom ((mathpix-app-id "app-id")
|
||||
(mathpix-app-key "app-key"))
|
||||
:bind
|
||||
("C-x m" . mathpix-screenshot))
|
||||
<pre class="lisp">(use-package mathpix.el
|
||||
:straight (:host github :repo "jethrokuan/mathpix.el")
|
||||
:custom ((mathpix-app-id "app-id")
|
||||
(mathpix-app-key "app-key"))
|
||||
:bind
|
||||
("C-x m" . mathpix-screenshot))
|
||||
</pre></div>
|
||||
|
||||
|
||||
|
14
org-roam.org
14
org-roam.org
@@ -1023,6 +1023,20 @@ checker, to perform autofixes for the errors. For each error detected,
|
||||
~org-roam-doctor~ will move the point to the current error, and pop-up a help
|
||||
window displaying the error message, as well as the list of actions that can be
|
||||
taken provided in ~:actions~.
|
||||
|
||||
* Finding Unlinked References
|
||||
|
||||
Unlinked references are occurrences of strings of text that exactly match the
|
||||
title or alias of an existing note in the Org-roam database. Org-roam provides
|
||||
facilities for discovering these unlinked references, so one may decide whether
|
||||
to convert them into links.
|
||||
|
||||
To use this feature, simply call ~M-x org-roam-unlinked-references~ from within
|
||||
an Org-roam note. Org-roam uses [[https://github.com/BurntSushi/ripgrep][ripgrep]], specifically a clever PCRE regex to
|
||||
find occurrences of the title or aliases of the currently open note in all
|
||||
Org-roam files. This thus requires a version of ripgrep that is compiled with
|
||||
PCRE support.
|
||||
|
||||
* Performance Optimization
|
||||
** TODO Profiling Key Operations
|
||||
** Garbage Collection
|
||||
|
201
org-roam.texi
201
org-roam.texi
@@ -80,6 +80,7 @@ General Public License for more details.
|
||||
* Roam Protocol::
|
||||
* Daily Notes::
|
||||
* Diagnosing and Repairing Files::
|
||||
* Finding Unlinked References::
|
||||
* Performance Optimization::
|
||||
* Appendix::
|
||||
* FAQ::
|
||||
@@ -294,9 +295,9 @@ To use Melpa:
|
||||
@end itemize
|
||||
|
||||
@lisp
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "http://melpa.org/packages/") t)
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "http://melpa.org/packages/") t)
|
||||
@end lisp
|
||||
|
||||
@itemize
|
||||
@@ -305,9 +306,9 @@ To use Melpa-Stable:
|
||||
@end itemize
|
||||
|
||||
@lisp
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa-stable" . "http://stable.melpa.org/packages/") t)
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa-stable" . "http://stable.melpa.org/packages/") t)
|
||||
@end lisp
|
||||
|
||||
Org-roam also depends on a recent version of Org, which can be obtained in Org's
|
||||
@@ -321,14 +322,14 @@ Once you have added your preferred archive, you need to update the
|
||||
local package list using:
|
||||
|
||||
@example
|
||||
M-x package-refresh-contents RET
|
||||
M-x package-refresh-contents RET
|
||||
@end example
|
||||
|
||||
Once you have done that, you can install Org-roam and its dependencies
|
||||
using:
|
||||
|
||||
@example
|
||||
M-x package-install RET org-roam RET
|
||||
M-x package-install RET org-roam RET
|
||||
@end example
|
||||
|
||||
Now see @ref{Post-Installation Tasks}.
|
||||
@@ -340,7 +341,7 @@ Users of Debian 11 or later or Ubuntu 20.10 or later can simply install Org-roam
|
||||
using Apt:
|
||||
|
||||
@example
|
||||
apt-get install elpa-org-roam
|
||||
apt-get install elpa-org-roam
|
||||
@end example
|
||||
|
||||
Org-roam will then be autoloaded into Emacs.
|
||||
@@ -399,7 +400,7 @@ Where @code{/path/to/my/info/files} is the location where you keep info files. T
|
||||
@lisp
|
||||
(require 'info)
|
||||
(add-to-list 'Info-default-directory-list
|
||||
"/path/to/my/info/files")
|
||||
"/path/to/my/info/files")
|
||||
@end lisp
|
||||
|
||||
You can also use one of the default locations, such as:
|
||||
@@ -429,7 +430,7 @@ Org-roam uses @code{emacsql-sqlite3}, which requires @code{sqlite3} to be locate
|
||||
operating system. You can verify that this is the case by executing:
|
||||
|
||||
@lisp
|
||||
(executable-find "sqlite3")
|
||||
(executable-find "sqlite3")
|
||||
@end lisp
|
||||
|
||||
If you have @code{sqlite3} installed, and @code{executable-find} still reports @code{nil}, then
|
||||
@@ -438,7 +439,7 @@ variable @code{exec-path}. You may rectify this by manually adding the path with
|
||||
your Emacs configuration:
|
||||
|
||||
@lisp
|
||||
(add-to-list 'exec-path "path/to/sqlite3")
|
||||
(add-to-list 'exec-path "path/to/sqlite3")
|
||||
@end lisp
|
||||
|
||||
@node Getting Started
|
||||
@@ -551,10 +552,10 @@ The aliases are space-delimited, and can be multi-worded using quotes
|
||||
Take for example the following org file:
|
||||
|
||||
@example
|
||||
#+title: World War 2
|
||||
#+roam_alias: "WWII" "World War II"
|
||||
#+title: World War 2
|
||||
#+roam_alias: "WWII" "World War II"
|
||||
|
||||
* Headline
|
||||
* Headline
|
||||
@end example
|
||||
|
||||
@multitable {aaaaaaaaaaa} {aaaaaaaaaaaaaaaaaaaaaaaa}
|
||||
@@ -625,8 +626,8 @@ Refs are unique identifiers for files. Each note can only have 1 ref.
|
||||
For example, a note for a website may contain a ref:
|
||||
|
||||
@example
|
||||
#+title: Google
|
||||
#+roam_key: https://www.google.com/
|
||||
#+title: Google
|
||||
#+roam_key: https://www.google.com/
|
||||
@end example
|
||||
|
||||
These keys come in useful for when taking website notes, using the
|
||||
@@ -636,8 +637,8 @@ Alternatively, add a ref for notes for a specific paper, using its
|
||||
@uref{https://github.com/jkitchin/org-ref, org-ref} citation key:
|
||||
|
||||
@example
|
||||
#+title: Neural Ordinary Differential Equations
|
||||
#+roam_key: cite:chen18_neural_ordin_differ_equat
|
||||
#+title: Neural Ordinary Differential Equations
|
||||
#+roam_key: cite:chen18_neural_ordin_differ_equat
|
||||
@end example
|
||||
|
||||
The backlinks buffer will show any cites of this key: e.g.
|
||||
@@ -690,11 +691,11 @@ To demonstrate the additions made to org-capture templates. Here, we walkthrough
|
||||
the default template, reproduced below.
|
||||
|
||||
@lisp
|
||||
("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%<%Y%m%d%H%M%S>-$@{slug@}"
|
||||
:head "#+title: $@{title@}\n"
|
||||
:unnarrowed t)
|
||||
("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%<%Y%m%d%H%M%S>-$@{slug@}"
|
||||
:head "#+title: $@{title@}\n"
|
||||
:unnarrowed t)
|
||||
@end lisp
|
||||
|
||||
@enumerate
|
||||
@@ -760,11 +761,11 @@ advantage of org-mode's @code{%(EXP)} template expansion to call @code{format-ti
|
||||
directly to provide its third argument to specify UTC@.
|
||||
|
||||
@lisp
|
||||
("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%(format-time-string \"%Y-%m-%d--%H-%M-%SZ--$@{slug@}\" (current-time) t)"
|
||||
:head "#+title: $@{title@}\n"
|
||||
:unnarrowed t)
|
||||
("d" "default" plain (function org-roam--capture-get-point)
|
||||
"%?"
|
||||
:file-name "%(format-time-string \"%Y-%m-%d--%H-%M-%SZ--$@{slug@}\" (current-time) t)"
|
||||
:head "#+title: $@{title@}\n"
|
||||
:unnarrowed t)
|
||||
@end lisp
|
||||
|
||||
@node Concepts and Configuration
|
||||
@@ -1029,10 +1030,10 @@ a function accepting a single argument: the graph file path.
|
||||
If you are using WSL2 and would like to open the graph in Windows, you can use the second option to set the browser and network file path:
|
||||
|
||||
@lisp
|
||||
(setq org-roam-graph-viewer
|
||||
(lambda (file)
|
||||
(let ((org-roam-graph-viewer "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"))
|
||||
(org-roam-graph--open (concat "file://///wsl$/Ubuntu" file)))))
|
||||
(setq org-roam-graph-viewer
|
||||
(lambda (file)
|
||||
(let ((org-roam-graph-viewer "/mnt/c/Program Files/Mozilla Firefox/firefox.exe"))
|
||||
(org-roam-graph--open (concat "file://///wsl$/Ubuntu" file)))))
|
||||
@end lisp
|
||||
@end itemize
|
||||
|
||||
@@ -1091,7 +1092,7 @@ are excluded.
|
||||
@end itemize
|
||||
|
||||
@example
|
||||
(setq org-roam-graph-exclude-matcher '("private" "dailies"))
|
||||
(setq org-roam-graph-exclude-matcher '("private" "dailies"))
|
||||
@end example
|
||||
|
||||
This setting excludes all files whose path contain ``private'' or ``dailies''.
|
||||
@@ -1104,7 +1105,7 @@ its interactive commands. The default setting uses Emacs' standard
|
||||
@code{completing-read} mechanism.
|
||||
|
||||
@lisp
|
||||
(setq org-roam-completion-system 'default)
|
||||
(setq org-roam-completion-system 'default)
|
||||
@end lisp
|
||||
|
||||
If you have installed Helm or Ivy, and have their modes enabled, under the
|
||||
@@ -1114,7 +1115,7 @@ In the rare scenario where you use Ivy globally, but prefer @uref{https://emacs-
|
||||
commands, set:
|
||||
|
||||
@lisp
|
||||
(setq org-roam-completion-system 'helm)
|
||||
(setq org-roam-completion-system 'helm)
|
||||
@end lisp
|
||||
|
||||
Other options include @code{'ido}, and @code{'ivy}.
|
||||
@@ -1307,7 +1308,7 @@ or as a keybinding in @code{qutebrowser} in , using the @code{config.py} file (s
|
||||
@uref{https://github.com/qutebrowser/qutebrowser/blob/master/doc/help/configuring.asciidoc, Configuring qutebrowser}):
|
||||
|
||||
@example
|
||||
config.bind("<Ctrl-r>", "open javascript:location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)")
|
||||
config.bind("<Ctrl-r>", "open javascript:location.href='org-protocol://roam-ref?template=r&ref='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)")
|
||||
@end example
|
||||
|
||||
where @code{template} is the template key for a template in
|
||||
@@ -1355,6 +1356,20 @@ checker, to perform autofixes for the errors. For each error detected,
|
||||
window displaying the error message, as well as the list of actions that can be
|
||||
taken provided in @code{:actions}.
|
||||
|
||||
@node Finding Unlinked References
|
||||
@chapter Finding Unlinked References
|
||||
|
||||
Unlinked references are occurrences of strings of text that exactly match the
|
||||
title or alias of an existing note in the Org-roam database. Org-roam provides
|
||||
facilities for discovering these unlinked references, so one may decide whether
|
||||
to convert them into links.
|
||||
|
||||
To use this feature, simply call @code{M-x org-roam-unlinked-references} from within
|
||||
an Org-roam note. Org-roam uses @uref{https://github.com/BurntSushi/ripgrep, ripgrep}, specifically a clever PCRE regex to
|
||||
find occurrences of the title or aliases of the currently open note in all
|
||||
Org-roam files. This thus requires a version of ripgrep that is compiled with
|
||||
PCRE support.
|
||||
|
||||
@node Performance Optimization
|
||||
@chapter Performance Optimization
|
||||
|
||||
@@ -1378,7 +1393,7 @@ operations. To reduce the number of garbage collection processes, one may set
|
||||
@code{org-roam-db-gc-threshold} to a high value (such as @code{most-positive-fixnum}):
|
||||
|
||||
@lisp
|
||||
(setq org-roam-db-gc-threshold most-positive-fixnum)
|
||||
(setq org-roam-db-gc-threshold most-positive-fixnum)
|
||||
@end lisp
|
||||
|
||||
@node Appendix
|
||||
@@ -1442,9 +1457,9 @@ operations. To reduce the number of garbage collection processes, one may set
|
||||
@code{winner-mode} can be used as a simple version of browser history for Org-roam. Each click through org-roam links (from both Org files and the backlinks buffer) causes changes in window configuration, which can be undone and redone using @code{winner-mode}. To use @code{winner-mode}, simply enable it, and bind the appropriate interactive functions:
|
||||
|
||||
@lisp
|
||||
(winner-mode +1)
|
||||
(define-key winner-mode-map (kbd "<M-left>") #'winner-undo)
|
||||
(define-key winner-mode-map (kbd "<M-right>") #'winner-redo)
|
||||
(winner-mode +1)
|
||||
(define-key winner-mode-map (kbd "<M-left>") #'winner-undo)
|
||||
(define-key winner-mode-map (kbd "<M-right>") #'winner-redo)
|
||||
|
||||
@end lisp
|
||||
|
||||
@@ -1466,15 +1481,15 @@ versions of a tracked Org-roam note.
|
||||
@uref{https://jblevins.org/projects/deft/, Deft} provides a nice interface for browsing and filtering org-roam notes.
|
||||
|
||||
@lisp
|
||||
(use-package deft
|
||||
:after org
|
||||
:bind
|
||||
("C-c n d" . deft)
|
||||
:custom
|
||||
(deft-recursive t)
|
||||
(deft-use-filter-string-for-filename t)
|
||||
(deft-default-extension "org")
|
||||
(deft-directory "/path/to/org-roam-files/"))
|
||||
(use-package deft
|
||||
:after org
|
||||
:bind
|
||||
("C-c n d" . deft)
|
||||
:custom
|
||||
(deft-recursive t)
|
||||
(deft-use-filter-string-for-filename t)
|
||||
(deft-default-extension "org")
|
||||
(deft-directory "/path/to/org-roam-files/"))
|
||||
@end lisp
|
||||
|
||||
If the title of the Org file is not the first line, you might not get
|
||||
@@ -1483,29 +1498,29 @@ functionality. Here I'm using
|
||||
@uref{https://github.com/raxod502/el-patch, el-patch}:
|
||||
|
||||
@lisp
|
||||
(use-package el-patch
|
||||
:straight (:host github
|
||||
:repo "raxod502/el-patch"
|
||||
:branch "develop"))
|
||||
(use-package el-patch
|
||||
:straight (:host github
|
||||
:repo "raxod502/el-patch"
|
||||
:branch "develop"))
|
||||
|
||||
(eval-when-compile
|
||||
(require 'el-patch))
|
||||
(eval-when-compile
|
||||
(require 'el-patch))
|
||||
|
||||
(use-package deft
|
||||
;; same as above...
|
||||
:config/el-patch
|
||||
(defun deft-parse-title (file contents)
|
||||
"Parse the given FILE and CONTENTS and determine the title.
|
||||
If `deft-use-filename-as-title' is nil, the title is taken to
|
||||
be the first non-empty line of the FILE. Else the base name of the FILE is
|
||||
used as title."
|
||||
(el-patch-swap (if deft-use-filename-as-title
|
||||
(deft-base-filename file)
|
||||
(let ((begin (string-match "^.+$" contents)))
|
||||
(if begin
|
||||
(funcall deft-parse-title-function
|
||||
(substring contents begin (match-end 0))))))
|
||||
(org-roam--get-title-or-slug file))))
|
||||
(use-package deft
|
||||
;; same as above...
|
||||
:config/el-patch
|
||||
(defun deft-parse-title (file contents)
|
||||
"Parse the given FILE and CONTENTS and determine the title.
|
||||
If `deft-use-filename-as-title' is nil, the title is taken to
|
||||
be the first non-empty line of the FILE. Else the base name of the FILE is
|
||||
used as title."
|
||||
(el-patch-swap (if deft-use-filename-as-title
|
||||
(deft-base-filename file)
|
||||
(let ((begin (string-match "^.+$" contents)))
|
||||
(if begin
|
||||
(funcall deft-parse-title-function
|
||||
(substring contents begin (match-end 0))))))
|
||||
(org-roam--get-title-or-slug file))))
|
||||
@end lisp
|
||||
|
||||
The Deft interface can slow down quickly when the number of files get
|
||||
@@ -1521,14 +1536,14 @@ provides better journaling capabilities, and a nice calendar interface
|
||||
to see all dated entries.
|
||||
|
||||
@lisp
|
||||
(use-package org-journal
|
||||
:bind
|
||||
("C-c n j" . org-journal-new-entry)
|
||||
:custom
|
||||
(org-journal-date-prefix "#+title: ")
|
||||
(org-journal-file-format "%Y-%m-%d.org")
|
||||
(org-journal-dir "/path/to/org-roam-files/")
|
||||
(org-journal-date-format "%A, %d %B %Y"))
|
||||
(use-package org-journal
|
||||
:bind
|
||||
("C-c n j" . org-journal-new-entry)
|
||||
:custom
|
||||
(org-journal-date-prefix "#+title: ")
|
||||
(org-journal-file-format "%Y-%m-%d.org")
|
||||
(org-journal-dir "/path/to/org-roam-files/")
|
||||
(org-journal-date-format "%A, %d %B %Y"))
|
||||
@end lisp
|
||||
|
||||
@node Note-taking Add-ons
|
||||
@@ -1555,12 +1570,12 @@ These are some plugins that make note-taking in Org-mode more enjoyable.
|
||||
@end float
|
||||
|
||||
@lisp
|
||||
(use-package org-download
|
||||
:after org
|
||||
:bind
|
||||
(:map org-mode-map
|
||||
(("s-Y" . org-download-screenshot)
|
||||
("s-y" . org-download-yank))))
|
||||
(use-package org-download
|
||||
:after org
|
||||
:bind
|
||||
(:map org-mode-map
|
||||
(("s-Y" . org-download-screenshot)
|
||||
("s-y" . org-download-yank))))
|
||||
@end lisp
|
||||
|
||||
@node mathpixel
|
||||
@@ -1574,12 +1589,12 @@ These are some plugins that make note-taking in Org-mode more enjoyable.
|
||||
@end float
|
||||
|
||||
@lisp
|
||||
(use-package mathpix.el
|
||||
:straight (:host github :repo "jethrokuan/mathpix.el")
|
||||
:custom ((mathpix-app-id "app-id")
|
||||
(mathpix-app-key "app-key"))
|
||||
:bind
|
||||
("C-x m" . mathpix-screenshot))
|
||||
(use-package mathpix.el
|
||||
:straight (:host github :repo "jethrokuan/mathpix.el")
|
||||
:custom ((mathpix-app-id "app-id")
|
||||
(mathpix-app-key "app-key"))
|
||||
:bind
|
||||
("C-x m" . mathpix-screenshot))
|
||||
@end lisp
|
||||
|
||||
@node Org-noter / Interleave
|
||||
@@ -1626,8 +1641,8 @@ variable using directory-local variables. This is what @code{.dir-locals.el} may
|
||||
contain:
|
||||
|
||||
@lisp
|
||||
((nil . ((org-roam-directory . ".")
|
||||
(org-roam-db-location . "./org-roam.db"))))
|
||||
((nil . ((org-roam-directory . ".")
|
||||
(org-roam-db-location . "./org-roam.db"))))
|
||||
@end lisp
|
||||
|
||||
All files within that directory will be treated as their own separate
|
||||
|
Reference in New Issue
Block a user