mirror of
https://github.com/org-roam/org-roam
synced 2025-09-10 15:33:30 -05:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
6170cc9928 | ||
|
cc95540135 | ||
|
24a683d58c | ||
|
86c9085363 | ||
|
b67bccd6c2 | ||
|
8b43093d1a | ||
|
679ef6ef00 | ||
|
ee9a8d423e | ||
|
d3c7d74329 | ||
|
3bf0a0a35d | ||
|
d0f17c6477 |
18
CHANGELOG.md
18
CHANGELOG.md
@@ -1,8 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## TBD
|
## 2.2.0
|
||||||
### Added
|
### Added
|
||||||
- [#1806](https://github.com/org-roam/org-roam/pull/1806) db: support caching and usage of Org 9.5's in-built citations
|
- [#1806](https://github.com/org-roam/org-roam/pull/1806), [#2017](https://github.com/org-roam/org-roam/pull/2017) db: support caching and usage of Org 9.5's in-built citations
|
||||||
|
- [#1963](https://github.com/org-roam/org-roam/pull/1963) db: cache file title into files table
|
||||||
|
- [#1977](https://github.com/org-roam/org-roam/pull/1977) db: support Org-ref v3 citations
|
||||||
|
- [#1907](https://github.com/org-roam/org-roam/pull/1907), [#2009](https://github.com/org-roam/org-roam/pull/2009), [#2018](https://github.com/org-roam/org-roam/pull/2018) db: support sqlite3
|
||||||
|
- [#2028](https://github.com/org-roam/org-roam/pull/2028) dailies: add `keys` argument to `org-roam-dailies-capture-today` and `org-roam-dailies--capture` functions to give the abilty to get into a capture buffer bypassing the selection screen
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
### Changed
|
### Changed
|
||||||
@@ -10,12 +14,22 @@
|
|||||||
- [#1809](https://github.com/org-roam/org-roam/pull/1809) capture: the mandatory `:if-new` property of each capture template is now renamed to `:target`
|
- [#1809](https://github.com/org-roam/org-roam/pull/1809) capture: the mandatory `:if-new` property of each capture template is now renamed to `:target`
|
||||||
- [#1829](https://github.com/org-roam/org-roam/pull/1829) perf: file sql updates are now wrapped in a transaction
|
- [#1829](https://github.com/org-roam/org-roam/pull/1829) perf: file sql updates are now wrapped in a transaction
|
||||||
- [#1877](https://github.com/org-roam/org-roam/pull/1877) dailies: stop asking for time, only date
|
- [#1877](https://github.com/org-roam/org-roam/pull/1877) dailies: stop asking for time, only date
|
||||||
|
- [#1949](https://github.com/org-roam/org-roam/pull/1949) db: check for property drawers are now case-insensitive
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- [#1798](https://github.com/org-roam/org-roam/pull/1798) org-roam-node-at-point: do not skip invisible headings
|
- [#1798](https://github.com/org-roam/org-roam/pull/1798) org-roam-node-at-point: do not skip invisible headings
|
||||||
- [#1807](https://github.com/org-roam/org-roam/pull/1807) capture: always trigger `:if-new` template for existing nodes
|
- [#1807](https://github.com/org-roam/org-roam/pull/1807) capture: always trigger `:if-new` template for existing nodes
|
||||||
- [#1813](https://github.com/org-roam/org-roam/pull/1813) db: prevent empty ROAM_ALIASES from crashing db updates
|
- [#1813](https://github.com/org-roam/org-roam/pull/1813) db: prevent empty ROAM_ALIASES from crashing db updates
|
||||||
- [#1816](https://github.com/org-roam/org-roam/pull/1816) db: prevent invalid ROAM_REFS from crashing db updates
|
- [#1816](https://github.com/org-roam/org-roam/pull/1816) db: prevent invalid ROAM_REFS from crashing db updates
|
||||||
|
- [#1893](https://github.com/org-roam/org-roam/pull/1893), [#1896](https://github.com/org-roam/org-roam/pull/1896), [#1901](https://github.com/org-roam/org-roam/pull/1901), [#1895](https://github.com/org-roam/org-roam/pull/1895), [#1904](https://github.com/org-roam/org-roam/pull/1904) completions: various mini-buffer related completion fixes
|
||||||
|
- [#1931](https://github.com/org-roam/org-roam/pull/1931) utils: org-roam-set-keyword now skips over all drawers
|
||||||
|
- [#1947](https://github.com/org-roam/org-roam/pull/1947) db: links in ROAM_REFS are no longer considered as links
|
||||||
|
- [#1948](https://github.com/org-roam/org-roam/pull/1948) completions: fix same-line completions
|
||||||
|
- [#1953](https://github.com/org-roam/org-roam/pull/1953) db: refresh CATEGORY before writing to db
|
||||||
|
- [#1946](https://github.com/org-roam/org-roam/pull/1946), [#1946](https://github.com/org-roam/org-roam/pull/1946), [#1958](https://github.com/org-roam/org-roam/pull/1958) various performance improvements
|
||||||
|
- [#1980](https://github.com/org-roam/org-roam/pull/1980) utils: fix org-roam-with-file changing the minor-mode
|
||||||
|
- [#2016](https://github.com/org-roam/org-roam/pull/2016) db: fix node caching being affected by agenda variables
|
||||||
|
- [#2033](https://github.com/org-roam/org-roam/pull/2023) db: respect local variables during db parsing
|
||||||
|
|
||||||
## 2.1.0
|
## 2.1.0
|
||||||
### Added
|
### Added
|
||||||
|
@@ -1,20 +1,20 @@
|
|||||||
#+title: Org-roam User Manual
|
#+title: Org-roam User Manual
|
||||||
#+author: Jethro Kuan
|
#+author: Jethro Kuan
|
||||||
#+email: jethrokuan95@gmail.com
|
#+email: jethrokuan95@gmail.com
|
||||||
#+date: 2020-2021
|
#+date: 2020-2022
|
||||||
#+language: en
|
#+language: en
|
||||||
|
|
||||||
#+texinfo_deffn: t
|
#+texinfo_deffn: t
|
||||||
#+texinfo_dir_category: Emacs
|
#+texinfo_dir_category: Emacs
|
||||||
#+texinfo_dir_title: Org-roam: (org-roam).
|
#+texinfo_dir_title: Org-roam: (org-roam).
|
||||||
#+texinfo_dir_desc: Roam Research for Emacs.
|
#+texinfo_dir_desc: Roam Research for Emacs.
|
||||||
#+subtitle: for version 2.1.0
|
#+subtitle: for version 2.2.0
|
||||||
|
|
||||||
#+options: H:4 num:3 toc:nil creator:t ':t
|
#+options: H:4 num:3 toc:nil creator:t ':t
|
||||||
#+property: header-args :eval never
|
#+property: header-args :eval never
|
||||||
#+texinfo: @noindent
|
#+texinfo: @noindent
|
||||||
|
|
||||||
This manual is for Org-roam version 2.1.0.
|
This manual is for Org-roam version 2.2.0.
|
||||||
|
|
||||||
#+BEGIN_QUOTE
|
#+BEGIN_QUOTE
|
||||||
Copyright (C) 2020-2021 Jethro Kuan <jethrokuan95@gmail.com>
|
Copyright (C) 2020-2021 Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
@@ -711,6 +711,16 @@ citation key:
|
|||||||
:END:
|
:END:
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
#+begin_src org
|
||||||
|
,* Probabilistic Robotics
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 51b7b82c-bbb4-4822-875a-ed548cffda10
|
||||||
|
:ROAM_REFS: [cite:@thrun2005probabilistic]
|
||||||
|
:END:
|
||||||
|
#+end_src
|
||||||
|
|
||||||
for ~org-cite~, or:
|
for ~org-cite~, or:
|
||||||
|
|
||||||
#+begin_src org
|
#+begin_src org
|
||||||
@@ -1351,6 +1361,9 @@ documents (PDF, EPUB etc.) within Org-mode.
|
|||||||
|
|
||||||
** Bibliography
|
** Bibliography
|
||||||
|
|
||||||
|
Org 9.5 added native citation and bibliography functionality, called "org-cite",
|
||||||
|
which org-roam supports.
|
||||||
|
|
||||||
[[https://github.com/org-roam/org-roam-bibtex][org-roam-bibtex]] offers tight integration between [[https://github.com/jkitchin/org-ref][org-ref]], [[https://github.com/tmalsburg/helm-bibtex][helm-bibtex]] and
|
[[https://github.com/org-roam/org-roam-bibtex][org-roam-bibtex]] offers tight integration between [[https://github.com/jkitchin/org-ref][org-ref]], [[https://github.com/tmalsburg/helm-bibtex][helm-bibtex]] and
|
||||||
~org-roam~. This helps you manage your bibliographic notes under ~org-roam~.
|
~org-roam~. This helps you manage your bibliographic notes under ~org-roam~.
|
||||||
|
|
||||||
|
@@ -31,7 +31,7 @@ General Public License for more details.
|
|||||||
@finalout
|
@finalout
|
||||||
@titlepage
|
@titlepage
|
||||||
@title Org-roam User Manual
|
@title Org-roam User Manual
|
||||||
@subtitle for version 2.1.0
|
@subtitle for version 2.2.0
|
||||||
@author Jethro Kuan
|
@author Jethro Kuan
|
||||||
@page
|
@page
|
||||||
@vskip 0pt plus 1filll
|
@vskip 0pt plus 1filll
|
||||||
@@ -44,7 +44,7 @@ General Public License for more details.
|
|||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
|
|
||||||
This manual is for Org-roam version 2.1.0.
|
This manual is for Org-roam version 2.2.0.
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Copyright (C) 2020-2021 Jethro Kuan <jethrokuan95@@gmail.com>
|
Copyright (C) 2020-2021 Jethro Kuan <jethrokuan95@@gmail.com>
|
||||||
@@ -1066,7 +1066,7 @@ Remove a ref from the node at point.
|
|||||||
|
|
||||||
Since version 9.5, Org has first-class support for citations. Org-roam supports
|
Since version 9.5, Org has first-class support for citations. Org-roam supports
|
||||||
the caching of both these in-built citations (of form @code{[cite:@@key]}) and @uref{https://github.com/jkitchin/org-ref, org-ref}
|
the caching of both these in-built citations (of form @code{[cite:@@key]}) and @uref{https://github.com/jkitchin/org-ref, org-ref}
|
||||||
citations (of form @uref{key}).
|
citations (of form cite:key).
|
||||||
|
|
||||||
Org-roam attempts to load both the @code{org-ref} and @code{org-cite} package when
|
Org-roam attempts to load both the @code{org-ref} and @code{org-cite} package when
|
||||||
indexing files, so no further setup from the user is required for citation
|
indexing files, so no further setup from the user is required for citation
|
||||||
@@ -1091,6 +1091,16 @@ citation key:
|
|||||||
:END:
|
:END:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
@example
|
||||||
|
* Probabilistic Robotics
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 51b7b82c-bbb4-4822-875a-ed548cffda10
|
||||||
|
:ROAM_REFS: [cite:@@thrun2005probabilistic]
|
||||||
|
:END:
|
||||||
|
@end example
|
||||||
|
|
||||||
for @code{org-cite}, or:
|
for @code{org-cite}, or:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@@ -1896,6 +1906,9 @@ documents (PDF, EPUB etc.) within Org-mode.
|
|||||||
@node Bibliography
|
@node Bibliography
|
||||||
@section Bibliography
|
@section Bibliography
|
||||||
|
|
||||||
|
Org 9.5 added native citation and bibliography functionality, called ``org-cite'',
|
||||||
|
which org-roam supports.
|
||||||
|
|
||||||
@uref{https://github.com/org-roam/org-roam-bibtex, org-roam-bibtex} offers tight integration between @uref{https://github.com/jkitchin/org-ref, org-ref}, @uref{https://github.com/tmalsburg/helm-bibtex, helm-bibtex} and
|
@uref{https://github.com/org-roam/org-roam-bibtex, org-roam-bibtex} offers tight integration between @uref{https://github.com/jkitchin/org-ref, org-ref}, @uref{https://github.com/tmalsburg/helm-bibtex, helm-bibtex} and
|
||||||
@code{org-roam}. This helps you manage your bibliographic notes under @code{org-roam}.
|
@code{org-roam}. This helps you manage your bibliographic notes under @code{org-roam}.
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
;; Leo Vivier <leo.vivier+dev@gmail.com>
|
;; Leo Vivier <leo.vivier+dev@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org-roam "2.1"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org-roam "2.1"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
@@ -130,11 +130,14 @@ See `org-roam-capture-templates' for the template documentation."
|
|||||||
;;; Commands
|
;;; Commands
|
||||||
;;;; Today
|
;;;; Today
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-roam-dailies-capture-today (&optional goto)
|
(defun org-roam-dailies-capture-today (&optional goto keys)
|
||||||
"Create an entry in the daily-note for today.
|
"Create an entry in the daily-note for today.
|
||||||
When GOTO is non-nil, go the note without creating an entry."
|
When GOTO is non-nil, go the note without creating an entry.
|
||||||
|
|
||||||
|
ELisp programs can set KEYS to a string associated with a template.
|
||||||
|
In this case, interactive selection will be bypassed."
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(org-roam-dailies--capture (current-time) goto))
|
(org-roam-dailies--capture (current-time) goto keys))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-roam-dailies-goto-today ()
|
(defun org-roam-dailies-goto-today ()
|
||||||
@@ -300,11 +303,15 @@ Return (MONTH DAY YEAR) or nil if not an Org time-string."
|
|||||||
;;; Capture implementation
|
;;; Capture implementation
|
||||||
(add-to-list 'org-roam-capture--template-keywords :override-default-time)
|
(add-to-list 'org-roam-capture--template-keywords :override-default-time)
|
||||||
|
|
||||||
(defun org-roam-dailies--capture (time &optional goto)
|
(defun org-roam-dailies--capture (time &optional goto keys)
|
||||||
"Capture an entry in a daily-note for TIME, creating it if necessary.
|
"Capture an entry in a daily-note for TIME, creating it if necessary.
|
||||||
When GOTO is non-nil, go the note without creating an entry."
|
When GOTO is non-nil, go the note without creating an entry.
|
||||||
|
|
||||||
|
ELisp programs can set KEYS to a string associated with a template.
|
||||||
|
In this case, interactive selection will be bypassed."
|
||||||
(let ((org-roam-directory (expand-file-name org-roam-dailies-directory org-roam-directory)))
|
(let ((org-roam-directory (expand-file-name org-roam-dailies-directory org-roam-directory)))
|
||||||
(org-roam-capture- :goto (when goto '(4))
|
(org-roam-capture- :goto (when goto '(4))
|
||||||
|
:keys keys
|
||||||
:node (org-roam-node-create)
|
:node (org-roam-node-create)
|
||||||
:templates org-roam-dailies-capture-templates
|
:templates org-roam-dailies-capture-templates
|
||||||
:props (list :override-default-time time)))
|
:props (list :override-default-time time)))
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
;; Package-Requires: ((emacs "26.1") (org "9.4") (org-roam "2.1"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1"))
|
;; Package-Requires: ((emacs "26.1"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
@@ -54,7 +54,7 @@ a compiler. See https://nullprogram.com/blog/2014/02/06/."
|
|||||||
(const sqlite3)
|
(const sqlite3)
|
||||||
(symbol :tag "other")))
|
(symbol :tag "other")))
|
||||||
|
|
||||||
(defcustom org-roam-db-location (expand-file-name "org-roam.db" user-emacs-directory)
|
(defcustom org-roam-db-location (locate-user-emacs-file "org-roam.db")
|
||||||
"The path to file where the Org-roam database is stored.
|
"The path to file where the Org-roam database is stored.
|
||||||
|
|
||||||
It is the user's responsibility to set this correctly, especially
|
It is the user's responsibility to set this correctly, especially
|
||||||
@@ -101,12 +101,6 @@ slow."
|
|||||||
;;; Variables
|
;;; Variables
|
||||||
(defconst org-roam-db-version 18)
|
(defconst org-roam-db-version 18)
|
||||||
|
|
||||||
;; TODO Rename this
|
|
||||||
(defconst org-roam--sqlite-available-p
|
|
||||||
(with-demoted-errors "Org-roam initialization: %S"
|
|
||||||
(emacsql-sqlite-ensure-binary)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defvar org-roam-db--connection (make-hash-table :test #'equal)
|
(defvar org-roam-db--connection (make-hash-table :test #'equal)
|
||||||
"Database connection to Org-roam database.")
|
"Database connection to Org-roam database.")
|
||||||
|
|
||||||
@@ -145,6 +139,7 @@ Performs a database upgrade when required."
|
|||||||
(let ((init-db (not (file-exists-p org-roam-db-location))))
|
(let ((init-db (not (file-exists-p org-roam-db-location))))
|
||||||
(make-directory (file-name-directory org-roam-db-location) t)
|
(make-directory (file-name-directory org-roam-db-location) t)
|
||||||
(let ((conn (funcall (org-roam-db--conn-fn) org-roam-db-location)))
|
(let ((conn (funcall (org-roam-db--conn-fn) org-roam-db-location)))
|
||||||
|
(emacsql conn [:pragma (= foreign_keys ON)])
|
||||||
(when-let ((process (emacsql-process conn)))
|
(when-let ((process (emacsql-process conn)))
|
||||||
(set-process-query-on-exit-flag process nil))
|
(set-process-query-on-exit-flag process nil))
|
||||||
(puthash (expand-file-name (file-name-as-directory org-roam-directory))
|
(puthash (expand-file-name (file-name-as-directory org-roam-directory))
|
||||||
@@ -243,7 +238,6 @@ The query is expected to be able to fail, in this situation, run HANDLER."
|
|||||||
|
|
||||||
(defun org-roam-db--init (db)
|
(defun org-roam-db--init (db)
|
||||||
"Initialize database DB with the correct schema and user version."
|
"Initialize database DB with the correct schema and user version."
|
||||||
(emacsql db [:pragma (= foreign_keys ON)])
|
|
||||||
(emacsql-with-transaction db
|
(emacsql-with-transaction db
|
||||||
(pcase-dolist (`(,table ,schema) org-roam-db--table-schemata)
|
(pcase-dolist (`(,table ,schema) org-roam-db--table-schemata)
|
||||||
(emacsql db [:create-table $i1 $S2] table schema))
|
(emacsql db [:create-table $i1 $S2] table schema))
|
||||||
@@ -482,9 +476,24 @@ INFO is the org-element parsed buffer."
|
|||||||
(let (rows)
|
(let (rows)
|
||||||
(dolist (ref refs)
|
(dolist (ref refs)
|
||||||
(save-match-data
|
(save-match-data
|
||||||
(cond ((string-prefix-p "@" ref)
|
(cond (;; @citeKey
|
||||||
|
(string-prefix-p "@" ref)
|
||||||
(push (vector node-id (substring ref 1) "cite") rows))
|
(push (vector node-id (substring ref 1) "cite") rows))
|
||||||
((string-match org-link-plain-re ref)
|
(;; [cite:@citeKey]
|
||||||
|
(string-prefix-p "[cite:" ref)
|
||||||
|
(condition-case nil
|
||||||
|
(let ((cite-obj (org-cite-parse-objects ref)))
|
||||||
|
(org-element-map cite-obj 'citation-reference
|
||||||
|
(lambda (cite)
|
||||||
|
(let ((key (org-element-property :key cite)))
|
||||||
|
(push (vector node-id key "cite") rows)))))
|
||||||
|
(error
|
||||||
|
(lwarn '(org-roam) :warning
|
||||||
|
"%s:%s\tInvalid cite %s, skipping..." (buffer-file-name) (point) ref))))
|
||||||
|
(;; https://google.com, cite:citeKey
|
||||||
|
;; Note: we use string-match here because it matches any link: e.g. [[cite:abc][abc]]
|
||||||
|
;; But this form of matching is loose, and can accept invalid links e.g. [[cite:abc]
|
||||||
|
(string-match org-link-plain-re ref)
|
||||||
(let ((link-type (match-string 1 ref))
|
(let ((link-type (match-string 1 ref))
|
||||||
(path (match-string 2 ref)))
|
(path (match-string 2 ref)))
|
||||||
(if (and (boundp 'org-ref-cite-types)
|
(if (and (boundp 'org-ref-cite-types)
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
;;; org-roam-mode.el --- Major mode for special Org-roam buffers -*- lexical-binding: t -*-
|
;;; org-roam-mode.el --- Major mode for special Org-roam buffers -*- lexical-binding: t -*-
|
||||||
|
|
||||||
;; Copyright © 2020-2021 Jethro Kuan <jethrokuan95@gmail.com>
|
;; Copyright © 2020-2022 Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
|
|
||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.4") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.4") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
;;; org-roam-utils.el --- Utilities for Org-roam -*- lexical-binding: t; -*-
|
;;; org-roam-utils.el --- Utilities for Org-roam -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; Copyright © 2020-2021 Jethro Kuan <jethrokuan95@gmail.com>
|
;; Copyright © 2020-2022 Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
|
|
||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.4"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.4"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
@@ -119,7 +119,8 @@ Kills the buffer if KEEP-BUF-P is nil, and FILE is not yet visited."
|
|||||||
(delay-mode-hooks
|
(delay-mode-hooks
|
||||||
(let ((org-inhibit-startup t)
|
(let ((org-inhibit-startup t)
|
||||||
(org-agenda-files nil))
|
(org-agenda-files nil))
|
||||||
(org-mode))))
|
(org-mode)
|
||||||
|
(hack-local-variables))))
|
||||||
(setq res (progn ,@body))
|
(setq res (progn ,@body))
|
||||||
(unless (and new-buf (not ,keep-buf-p))
|
(unless (and new-buf (not ,keep-buf-p))
|
||||||
(save-buffer)))
|
(save-buffer)))
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
;; Author: Jethro Kuan <jethrokuan95@gmail.com>
|
||||||
;; URL: https://github.com/org-roam/org-roam
|
;; URL: https://github.com/org-roam/org-roam
|
||||||
;; Keywords: org-mode, roam, convenience
|
;; Keywords: org-mode, roam, convenience
|
||||||
;; Version: 2.1.0
|
;; Version: 2.2.0
|
||||||
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
;; Package-Requires: ((emacs "26.1") (dash "2.13") (f "0.17.2") (org "9.4") (emacsql "3.0.0") (emacsql-sqlite "1.0.0") (magit-section "3.0.0"))
|
||||||
|
|
||||||
;; This file is NOT part of GNU Emacs.
|
;; This file is NOT part of GNU Emacs.
|
||||||
@@ -279,8 +279,8 @@ E.g. (\".org\") => (\"*.org\" \"*.org.gpg\")"
|
|||||||
(defun org-roam--list-files-fd (executable dir)
|
(defun org-roam--list-files-fd (executable dir)
|
||||||
"Return all Org-roam files under DIR, using \"fd\", provided as EXECUTABLE."
|
"Return all Org-roam files under DIR, using \"fd\", provided as EXECUTABLE."
|
||||||
(let* ((globs (org-roam--list-files-search-globs org-roam-file-extensions))
|
(let* ((globs (org-roam--list-files-search-globs org-roam-file-extensions))
|
||||||
(extensions (string-join (mapcar (lambda (glob) (substring glob 2 -1)) globs) " -e "))
|
(extensions (string-join (mapcar (lambda (glob) (concat "-e " (substring glob 2 -1))) globs) " "))
|
||||||
(command (string-join `(,executable "-L" ,dir "--type file" ,extensions) " ")))
|
(command (string-join `(,executable "-L" "--type file" ,extensions "." ,dir) " ")))
|
||||||
(org-roam--shell-command-files command)))
|
(org-roam--shell-command-files command)))
|
||||||
|
|
||||||
(defalias 'org-roam--list-files-fdfind #'org-roam--list-files-fd)
|
(defalias 'org-roam--list-files-fdfind #'org-roam--list-files-fd)
|
||||||
|
Reference in New Issue
Block a user