diff --git a/CHANGELOG.md b/CHANGELOG.md index 585d5cd..4bc8270 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### Added ### Removed ### Fixed +- [#2264](https://github.com/org-roam/org-roam/pull/2264) Support multi-line org titles - [#2165](https://github.com/org-roam/org-roam/pull/2165) (fix)org-roam-file-p: don't exclude org-roam-directory - [#2168](https://github.com/org-roam/org-roam/pull/2168) (perf)node-read: filter nodes before mapping --to-candidate ### Changed diff --git a/org-roam-db.el b/org-roam-db.el index 128d659..56ee2ca 100644 --- a/org-roam-db.el +++ b/org-roam-db.el @@ -346,7 +346,7 @@ If FILE is nil, clear the current buffer." If there is no title, return the file name relative to `org-roam-directory'." (org-link-display-format - (or (cadr (assoc "TITLE" (org-collect-keywords '("title")))) + (or (string-join (cdr (assoc "TITLE" (org-collect-keywords '("title")))) " ") (file-name-sans-extension (file-relative-name (buffer-file-name (buffer-base-buffer)) org-roam-directory))))) diff --git a/tests/test-org-roam-utils.el b/tests/test-org-roam-utils.el index ae85f7d..2532e4c 100644 --- a/tests/test-org-roam-utils.el +++ b/tests/test-org-roam-utils.el @@ -36,4 +36,27 @@ (org-roam-whitespace-content "foo\n\t\n") :to-equal "\n\t\n"))) +(describe "org-roam-db--file-title" + (it "supports normal titles" + (expect + (with-temp-buffer + (insert "#+title:normal title") + (org-roam-db--file-title)) + :to-equal "normal title")) + (it "supports multi-line titles" + (expect + (with-temp-buffer + (insert "#+title: title:\n#+title: separated by newline") + (org-roam-db--file-title)) + :to-equal "title: separated by newline")) + (it "supports file-name based titles" + (progn + (setq org-roam-directory temporary-file-directory + org-roam-db-location (expand-file-name "org-roam.db" temporary-file-directory) + org-roam-file-extensions '("org")) + (with-temp-buffer + (write-file (expand-file-name "test file.org" org-roam-directory)) + (org-roam-db--file-title))) + :to-equal "test file")) + (provide 'test-org-roam-utils)