mirror of
https://github.com/org-roam/org-roam
synced 2025-08-03 12:27:23 -05:00
Deploying to gh-pages from @ bb08be4740
🚀
This commit is contained in:
696
manual.html
696
manual.html
File diff suppressed because it is too large
Load Diff
81
org-roam.org
81
org-roam.org
@ -268,40 +268,6 @@ file:
|
|||||||
install-info /path/to/my/info/files/org-roam.info /path/to/my/info/files/dir
|
install-info /path/to/my/info/files/org-roam.info /path/to/my/info/files/dir
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Installation Troubleshooting
|
|
||||||
*** C Compiler
|
|
||||||
Org-roam relies on an Emacs package called ~emacsql~ and ~emacsql-sqlite~ to
|
|
||||||
work with the ~sqlite~ database. Both of them should be installed automatically
|
|
||||||
in your Emacs environment as a prerequisite for Org-roam when you install it.
|
|
||||||
|
|
||||||
~emacsql-sqlite~ requires a C compiler (e.g. ~gcc~ or ~clang~) to be present in
|
|
||||||
your computer. How to install a C compiler depends on the OS that you use.
|
|
||||||
|
|
||||||
**** C Compiler for Windows
|
|
||||||
|
|
||||||
One of the easiest ways to install a C compiler in Windows is to use [[https://www.msys2.org/][MSYS2]] as at the time of this writing:
|
|
||||||
|
|
||||||
1. Download and use the installer in the official MSYS2 website
|
|
||||||
2. Run MSYS2 and in its terminal, type the following and answer "Y" to
|
|
||||||
proceed -- this will install ~gcc~ in your PC:
|
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
|
||||||
pacman -S gcc
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
4. On Windows, add ~C:\msys64\usr\bin~ (command =where gcc= in MSYS2 terminal
|
|
||||||
can tell you the correct path) to ~PATH~ in your environmental variables
|
|
||||||
|
|
||||||
5. Launch Emacs and call ~M-x org-roam-db-autosync-mode~ (launch Emacs after
|
|
||||||
defining the path, so that Emacs can recognize it)
|
|
||||||
|
|
||||||
This will automatically start compiling ~emacsql-sqlite~; you should see a
|
|
||||||
message in minibuffer. It may take a while until compilation completes. Once
|
|
||||||
complete, you should see a new file ~emacsql-sqlite.exe~ created in a subfolder
|
|
||||||
named ~sqlite~ under ~emacsql-sqlite~ installation folder. It's typically in
|
|
||||||
your Emacs configuration folder like this:
|
|
||||||
~/.config/emacs/elpa/emacsql-sqlite-20190727.1710/sqlite~
|
|
||||||
|
|
||||||
* Getting Started
|
* Getting Started
|
||||||
** The Org-roam Node
|
** The Org-roam Node
|
||||||
|
|
||||||
@ -459,18 +425,18 @@ can set ~org-roam-node-display-template~ as such:
|
|||||||
** How to cache
|
** How to cache
|
||||||
|
|
||||||
Org-roam uses a sqlite database to perform caching, but there are multiple Emacs
|
Org-roam uses a sqlite database to perform caching, but there are multiple Emacs
|
||||||
libraries that can be used. The default used by Org-roam is ~emacs-sqlite~.
|
libraries that can be used. The default used by Org-roam is
|
||||||
Below the pros and cons of each package is used:
|
[[https://github.com/magit/emacsql/blob/main/emacsql-sqlite-builtin.el][~emacs-sqlite-builtin~]]. Below the pros and cons of each package is used:
|
||||||
|
|
||||||
[[https://github.com/skeeto/emacsql][**emacs-sqlite**]]
|
[[https://melpa.org/#/emacsql-sqlite-builtin][**emacsql-sqlite-builtin**]]
|
||||||
|
|
||||||
The default option used by Org-roam. This library is the most mature and
|
~emacsql-sqlite-builtin~ uses the in-built SQLite support for Emacs 29 and
|
||||||
well-supported and is imported by default in Org-roam.
|
later. This is the default option if you are using a version of Emacs that
|
||||||
|
supports it.
|
||||||
|
|
||||||
One downside of using ~emacs-sqlite~ is that using it requires compilation and
|
#+begin_src emacs-lisp
|
||||||
can cause issues in some environments (especially Windows). If you have issues
|
(setq org-roam-database-connector 'sqlite-builtin)
|
||||||
producing the customized binary required by ~emacs-sqlite~, consider using
|
#+end_src
|
||||||
~emacs-sqlite3~.
|
|
||||||
|
|
||||||
[[https://github.com/cireu/emacsql-sqlite3][**emacs-sqlite3**]]
|
[[https://github.com/cireu/emacsql-sqlite3][**emacs-sqlite3**]]
|
||||||
|
|
||||||
@ -489,24 +455,12 @@ To use ~emacsql-sqlite3~, ensure that the package is installed, and set:
|
|||||||
[[https://melpa.org/#/emacsql-sqlite-module][**emacssql-sqlite-module**]] (previously emacsql-libsqlite3)
|
[[https://melpa.org/#/emacsql-sqlite-module][**emacssql-sqlite-module**]] (previously emacsql-libsqlite3)
|
||||||
|
|
||||||
~emacs-sqlite-module~ is a relatively young package which uses an Emacs module that
|
~emacs-sqlite-module~ is a relatively young package which uses an Emacs module that
|
||||||
exposes parts of the SQLite C API to Emacs Lisp, instead of using subprocess as
|
exposes parts of the SQLite C API to Emacs Lisp.
|
||||||
~emacsql-sqlite~ does. It is expected to be a more performant drop-in
|
|
||||||
replacement for ~emacs-sqlite~.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq org-roam-database-connector 'sqlite-module)
|
(setq org-roam-database-connector 'sqlite-module)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
[[https://melpa.org/#/emacsql-sqlite-builtin][**emacsql-sqlite-builtin**]]
|
|
||||||
|
|
||||||
~emacsql-sqlite-builtin~ uses the in-built SQLite support for Emacs 29 and
|
|
||||||
later. This is the recommended option if you are using a version of Emacs that
|
|
||||||
supports it.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq org-roam-database-connector 'sqlite-builtin)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** What to cache
|
** What to cache
|
||||||
|
|
||||||
By default, all nodes (any headline or file with an ID) are cached by Org-roam.
|
By default, all nodes (any headline or file with an ID) are cached by Org-roam.
|
||||||
@ -1672,21 +1626,6 @@ to the publishing directory. Example code follows:
|
|||||||
(kill-buffer (file-name-nondirectory svg))
|
(kill-buffer (file-name-nondirectory svg))
|
||||||
(setq my-publish-time 0)))))
|
(setq my-publish-time 0)))))
|
||||||
#+end_src
|
#+end_src
|
||||||
** I'm seeing this "Selecting deleted buffer" error. What do I do?
|
|
||||||
|
|
||||||
The "selecting deleted buffer" error usually occurs when you don't have a
|
|
||||||
working ~emacsql-sqlite~ executable. Org-roam relies on this executable to
|
|
||||||
function properly, and doesn't catch this error. This issue is most commonly
|
|
||||||
seen on Windows setups. You can browse through the various GitHub issues posted
|
|
||||||
about this [[https://github.com/org-roam/org-roam/issues?q=is%3Aissue+selecting+deleted][here]].
|
|
||||||
|
|
||||||
To fix this, you can try the following:
|
|
||||||
|
|
||||||
1. If on Windows, try replacing your system binary with [[https://github.com/nobiot/emacsql-sqlite.exe][this one]] that has been proven
|
|
||||||
to work
|
|
||||||
2. Use the ~emacsql-sqlite3~ option rather than compiling your own emacsql
|
|
||||||
binary (see [[*How to cache][How to cache]]).
|
|
||||||
|
|
||||||
* Developer's Guide to Org-roam
|
* Developer's Guide to Org-roam
|
||||||
** Org-roam's Design Principle
|
** Org-roam's Design Principle
|
||||||
|
|
||||||
|
492
org-roam.texi
492
org-roam.texi
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user