S:org
Otomatik olarak açıklama eklemek için özel bağlantı işlevini nasıl alabilirim ?
org
Bir dired
arabellek dosyalara bağlantılarını saklamak istiyorum , ancak bağlantı açıklamasının dosya adı sans yolu yerine tam yol rapor, yani:
file:~/the/full/path/myfile.ext ; default, but no thanks
myfile.ext ; what I want
Şimdi: varsayılantan sağlamak için org-store-link
gelen hardcodes bağlantıları dired
. Bunun yerine, özel bir işlev yazdım (sabit kodlu işlevden cribbing) ve ekledim org-store-link-functions
:
(defun dired-store-link ()
(when (derived-mode-p 'dired-mode)
(let ((file (dired-get-filename nil t)))
(setf file (if file
(abbreviate-file-name (expand-file-name file))
default-directory))
(org-store-link-props :type "dired"
:link file
:description (file-name-nondirectory file))
file)))
(add-to-list 'org-store-link-functions #'dired-store-link)
Şimdiye kadar çok iyi ve beklendiği gibi çalışıyor, ama bir kere:
- Yerleşik
org-insert-link
, varsayılan davranış ile arama yaparken, bir açıklama istemeden sadece bağlantıyı ekler. - Çağrılırken
org-insert-link
benim özel bir işlevle, bu (doğru saklanan dosya adıyla dolduran bir açıklama girmek için beni ister:description
mülkiyet).
Her seferinde açıklama istenmez ve özel işlevin ayarladığı org-insert-link
değeri kullanmak :description
isterim.
Bana sormadan otomatik olarak org-insert-link
kullanmayı nasıl ikna edebilirim :description
?
link-location
veyadefault-description
işlevdekiorg-insert-link
herhangi bir yardımcı olur mu? LINK-LOCATION parametresi sıfır değilse, bu değer etkileşimli olarak okumak yerine bağlantı konumu olarak kullanılır. DEFAULT-DESCRIPTION parametresi sıfır değilse, bu değer varsayılan açıklama olarak kullanılır.