[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote 9f192263db 092/355: Remove file path from front
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote 9f192263db 092/355: Remove file path from front matter; improve links |
Date: |
Sun, 26 Jun 2022 23:58:03 -0400 (EDT) |
branch: externals/denote
commit 9f192263dbfadea388dbde390042cbc28f49a338
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Remove file path from front matter; improve links
It is not necessary to pollute the front matter with such details.
Files are always relative to the present directory. The linking
facility is updated to work as intended (per commit 929157d).
This is an update on commit cfe6e98, which was reverted earlier by
8167d0c.
---
denote-link.el | 30 ++++++++++++------------------
denote.el | 8 +++-----
2 files changed, 15 insertions(+), 23 deletions(-)
diff --git a/denote-link.el b/denote-link.el
index 24b2dff1a0..e07d31e968 100644
--- a/denote-link.el
+++ b/denote-link.el
@@ -56,9 +56,6 @@ Both are supplied by `denote-link'."
(defconst denote-link--title-regexp "^\\(#\\+title:\\)[\s\t]+\\(.*\\)"
"Regular expression for title key and value.")
-(defconst denote-link--filename-regexp "^\\(#\\+filename:\\)[\s\t]+\\(.*\\)"
- "Regular expression for filename key and value.")
-
(defconst denote-link--identifier-regexp
"^\\(#\\+identifier:\\)[\s\t]+\\(.*\\)"
"Regular expression for filename key and value.")
@@ -83,26 +80,23 @@ Both are supplied by `denote-link'."
(read-file-name "Select note: " (denote-directory)
nil t nil #'file-regular-p)) ; Includes backup files. Maybe
we can remove them?
+(defun denote-link--format-link (file &optional backlink)
+ "Format link to FILE.
+With optional BACKLINK, format it as a backlink."
+ (let* ((dir (denote-directory))
+ (file-id (cdr (denote-link--retrieve-value file
denote-link--identifier-regexp)))
+ (file-path (file-name-completion file-id dir))
+ (file-title (cdr (denote-link--retrieve-value file
denote-link--title-regexp)))
+ (pattern (if backlink denote-link--backlink-format
denote-link--link-format)))
+ (format pattern file-path file-title file-id)))
+
;;;###autoload
(defun denote-link (target)
"Create Org link to TARGET note in variable `denote-directory'.
Run `denote-link-insert-functions' afterwards."
(interactive (list (denote-link--read-file-prompt)))
- (let* ((dir (denote-directory))
- ;; TODO 2022-06-09: This is probably the ugliest function in
- ;; the whole project. We need to make it more readable by
- ;; extracting the parts that should go in helper functions.
- (target-id (cdr (denote-link--retrieve-value target
denote-link--identifier-regexp)))
- (target-name (string-remove-prefix
- dir (cdr (denote-link--retrieve-value target
denote-link--filename-regexp))))
- (target-title (cdr (denote-link--retrieve-value target
denote-link--title-regexp)))
- (target-link (format denote-link--link-format target-name
target-title target-id))
- (origin-note (buffer-file-name))
- (origin-id (cdr (denote-link--retrieve-value origin-note
denote-link--identifier-regexp)))
- (origin-name (string-remove-prefix
- dir (cdr (denote-link--retrieve-value origin-note
denote-link--filename-regexp))))
- (origin-title (cdr (denote-link--retrieve-value origin-note
denote-link--title-regexp)))
- (origin-link (format denote-link--backlink-format origin-name
origin-title origin-id)))
+ (let* ((target-link (denote-link--format-link target))
+ (origin-link (denote-link--format-link (buffer-file-name) :backlink)))
(insert target-link)
(run-hook-with-args 'denote-link-insert-functions target origin-link)))
diff --git a/denote.el b/denote.el
index 639715639b..5dfa54d83d 100644
--- a/denote.el
+++ b/denote.el
@@ -288,7 +288,7 @@ is specified."
(ext (or extension ".org")))
(format "%s%s--%s--%s%s" path id kws slug ext)))
-(defun denote--file-meta-header (title date keywords filename id)
+(defun denote--file-meta-header (title date keywords id)
"Front matter for new notes.
TITLE, DATE, KEYWORDS, FILENAME, ID are all strings which are
@@ -298,9 +298,7 @@ TITLE, DATE, KEYWORDS, FILENAME, ID are all strings which
are
"#+date: " date "\n"
"#+filetags: " kw "\n"
"#+identifier: " id "\n"
- "#+filename: " (string-remove-prefix denote-directory filename)
"\n"
- "#+path: " filename "\n"
- "\n\n")))
+ "\n")))
(defun denote--path (title keywords)
"Return path to new file with TITLE and KEYWORDS.
@@ -329,7 +327,7 @@ Use optional PATH, else create it with `denote--path'."
(default-directory denote-directory)
(buffer (unless path (find-file p)))
(header (denote--file-meta-header
- title (denote--date) keywords p
+ title (denote--date) keywords
(format-time-string denote--id))))
(unless path
(with-current-buffer buffer (insert header))
- [elpa] externals/denote 712e24465a 065/355: Update denote-dired.el Commentary, (continued)
- [elpa] externals/denote 712e24465a 065/355: Update denote-dired.el Commentary, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 69e35281da 070/355: Document denote-front-matter-date-format, ELPA Syncer, 2022/06/27
- [elpa] externals/denote dfc3a8fc60 071/355: Use denote-directory rather than hardcoded path, ELPA Syncer, 2022/06/27
- [elpa] externals/denote eee100cc50 062/355: Add denote-dired-rename-file, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 0e65f05bbb 080/355: Use 'delete-region' instead of 'delete-line', ELPA Syncer, 2022/06/27
- [elpa] externals/denote ab27f5a547 086/355: Tweak sample configuration, ELPA Syncer, 2022/06/27
- [elpa] externals/denote f97f1f8b56 082/355: chore: Ignore compiled and autoloads Emacs-Lisp files, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 8167d0c30c 091/355: Revert "Stop recording the file path in the front matter", ELPA Syncer, 2022/06/27
- [elpa] externals/denote 6227df012f 100/355: Make org-capture always set .org extension, ELPA Syncer, 2022/06/27
- [elpa] externals/denote e840648623 098/355: Fix typo in the manual, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 9f192263db 092/355: Remove file path from front matter; improve links,
ELPA Syncer <=
- [elpa] externals/denote db9584f51d 093/355: BREAKING Change date/identifier pattern, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 3e2b560548 099/355: Elaborate on the Overview of Denote, ELPA Syncer, 2022/06/27
- [elpa] externals/denote cfe6e98e7b 090/355: Stop recording the file path in the front matter, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 2bc5df6011 103/355: denote-file-type: 'markdown-yaml', not 'markdown', ELPA Syncer, 2022/06/27
- [elpa] externals/denote d83c166c0d 125/355: Fix regexp for keywords, ELPA Syncer, 2022/06/27
- [elpa] externals/denote ebdacb3fea 073/355: Update doc string of denote-directory function, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 91f4780779 083/355: Merge pull request #3 from kaushalmodi/add-gitignore, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 17ad20f356 097/355: Document section on front matter, ELPA Syncer, 2022/06/27
- [elpa] externals/denote 929157d424 089/355: Stop using link abbreviation, ELPA Syncer, 2022/06/27
- [elpa] externals/denote a809e9ea1d 087/355: Clarify active development; things might break, ELPA Syncer, 2022/06/27