diff options
author | Nicolas Petton | 2021-03-15 00:00:39 +0100 |
---|---|---|
committer | GitHub | 2021-03-15 00:00:39 +0100 |
commit | 78ee615baef3c53c6c3c2f44f2e466c70503ef6f (patch) | |
tree | 7dd75cbb77e900f16a95f2273592b903e2ea6872 | |
parent | 7ae549a22225eb1dd099cd63726dc164109c92d7 (diff) | |
parent | f2deda6cd7b0a38966262486e06afeb0a47ef336 (diff) | |
download | nroam-78ee615baef3c53c6c3c2f44f2e466c70503ef6f.tar.gz nroam-78ee615baef3c53c6c3c2f44f2e466c70503ef6f.zip |
Merge pull request #14 from cdlm/single-heading
Organize backlinks under single heading
-rw-r--r-- | nroam-backlinks.el | 18 | ||||
-rw-r--r-- | nroam-unlinked.el | 2 | ||||
-rw-r--r-- | nroam-utils.el | 11 | ||||
-rw-r--r-- | nroam.el | 1 |
4 files changed, 22 insertions, 10 deletions
diff --git a/nroam-backlinks.el b/nroam-backlinks.el index ff948fe..3d1cb3f 100644 --- a/nroam-backlinks.el +++ b/nroam-backlinks.el @@ -56,19 +56,19 @@ (defun nroam-backlinks--insert-heading (count) "Insert the heading for the backlinks section with a COUNT." - (insert (format "* %s %s :noexport:\n" - (if (= count 0) "No" count) - (nroam--pluralize count "linked reference")))) + (let ((title (format "%s %s" + (if (= count 0) "No" count) + (nroam--pluralize count "linked reference")))) + (nroam--insert-heading 2 title))) (defun nroam-backlinks--insert-group (group) "Insert all backlinks in GROUP." (let ((file (car group)) - (backlinks (cdr group))) - (insert (format "** %s\n" - (org-roam-format-link - file - (org-roam-db--get-title file) - "file"))) + (backlinks (cdr group)) + (title (org-roam-format-link file + (org-roam-db--get-title file) + "file"))) + (nroam--insert-heading 3 title) (nroam--do-separated-by-newlines #'nroam-backlinks--insert-backlink backlinks))) (defun nroam-backlinks--insert-backlink (backlink) diff --git a/nroam-unlinked.el b/nroam-unlinked.el index b989de3..5f511a4 100644 --- a/nroam-unlinked.el +++ b/nroam-unlinked.el @@ -44,7 +44,7 @@ (defun nroam-unlinked--insert-heading () "Insert the heading for unlinked references." - (insert "* Unlinked references :noexport:\n")) + (nroam--insert-heading 2 "Unlinked references")) (defun nroam-unlinked--insert-references () "Insert unlinked references for the current buffer." diff --git a/nroam-utils.el b/nroam-utils.el index e94bdff..8dea64f 100644 --- a/nroam-utils.el +++ b/nroam-utils.el @@ -34,6 +34,17 @@ (let ((inhibit-read-only t)) (unless (eq ?\n (char-before (1- (point)))) (insert "\n")))) +(defun nroam--insert-heading (level title &optional tags) + "Insert TITLE as a section heading with LEVEL stars. +Add the string or list of strings as TAGS to the heading." + (let ((pos (point)) + (stars (make-string level ?*))) + (insert stars " " title "\n") + (when tags + (save-excursion + (goto-char pos) + (org-set-tags tags))))) + (defun nroam--do-separated-by-newlines (function sequence) "Apply FUNCTION to each element of SEQUENCE. Insert a single newline between each call to FUNCTION." @@ -186,6 +186,7 @@ Make the region inserted by BODY read-only, and marked with (unless (bobp) (nroam--ensure-empty-line)) (with-nroam-markers + (nroam--insert-heading 1 "Backlinks" "noexport") (nroam--do-separated-by-newlines #'funcall nroam-sections)) (nroam--set-sections-visibility)))) |