Deploying to gh-pages from @ bb08be4740 🚀

This commit is contained in:
dustinfarris
2025-02-17 20:49:08 +00:00
parent 1964587de4
commit 795f76df56
3 changed files with 457 additions and 812 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff