summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/doc/jao-org-links.el18
-rw-r--r--lib/doc/jao-org-notes.el7
-rw-r--r--org.org3
3 files changed, 16 insertions, 12 deletions
diff --git a/lib/doc/jao-org-links.el b/lib/doc/jao-org-links.el
index ee6af7c..2defa7c 100644
--- a/lib/doc/jao-org-links.el
+++ b/lib/doc/jao-org-links.el
@@ -1,5 +1,6 @@
;; -*- lexical-binding: t; -*-
+(require 'jao-org-notes)
(require 'jao-maildir)
(require 'pdf-info)
@@ -122,12 +123,10 @@
(org-link-set-parameters "message" :follow #'jao-org-links-open-mail)
(setq jao-org--sink-dir (file-name-as-directory sink-dir)))
-(defvar jao-doc-notes-dir)
-
;;;###autoload
(defun jao-org-org-to-pdf-file ()
(expand-file-name (concat "doc/" (file-name-base buffer-file-name) ".pdf")
- jao-org-notes-dir))
+ (file-name-directory jao-org-notes-dir)))
;;;###autoload
(defun jao-org-pdf-to-org-file (&optional file-name)
@@ -138,15 +137,16 @@
(lambda ()
(string-prefix-p jao-org-notes-dir buffer-file-name)))
(or (car (directory-files-recursively jao-org-notes-dir rx))
- (let* ((dirs (seq-difference (directory-files jao-org-notes-dir)
- '("." ".." "attic")))
+ (let* ((dirs (jao-org-notes-cats))
(dir (completing-read "Notes subdir: " dirs nil t)))
(expand-file-name (concat dir "/" bn ".org") jao-org-notes-dir)))))
;;;###autoload
(defun jao-org-insert-doc-skeleton (&optional title)
(insert "#+title: " (or title (jao-org--pdf-title (buffer-file-name)))
- "\n#+author:\n#+startup: latexpreview\n\n"))
+ "\n#+author:\n#+filetags: ")
+ (jao-org-notes-insert-tags)
+ (insert "\n#+startup: latexpreview\n\n"))
;;;###autoload
(defun jao-org-pdf-goto-org (arg)
@@ -162,8 +162,10 @@
(org-insert-link)))))
;;;###autoload
-(defun jao-org-pdf-goto-org* ()
+(defun jao-org-org-goto-pdf ()
(interactive)
- (jao-org-pdf-goto-org t))
+ (if-let (f (jao-org-org-to-pdf-file))
+ (find-file-other-window f)
+ (user-error "No PDF file associated with this buffer")))
(provide 'jao-org-links)
diff --git a/lib/doc/jao-org-notes.el b/lib/doc/jao-org-notes.el
index a1b9dbe..1b8c3f8 100644
--- a/lib/doc/jao-org-notes.el
+++ b/lib/doc/jao-org-notes.el
@@ -63,10 +63,11 @@
:history '(:input jao-org-notes--grep-history)
:sort nil)))
+(defun jao-org-notes-cats ()
+ (seq-difference (directory-files jao-org-notes-dir) '("." ".." "attic")))
+
(defun jao-org-notes--cat ()
- (let* ((cats (seq-difference (directory-files jao-org-notes-dir)
- '("." ".." "attic")))
- (cat (completing-read "Top level category: " cats)))
+ (let* ((cat (completing-read "Top level category: " (jao-org-notes-cats))))
(cond ((file-exists-p (expand-file-name cat jao-org-notes-dir)) cat)
((yes-or-no-p "New category, create?") cat)
(t (jao-roam--cat)))))
diff --git a/org.org b/org.org
index 9f935fb..9864917 100644
--- a/org.org
+++ b/org.org
@@ -295,7 +295,8 @@
(define-key org-mode-map [(f7)] 'org-archive-to-archive-sibling)
(define-key org-mode-map "\C-cW" 'jao-insert-eww-link)
(define-key org-mode-map "\C-c'" 'org-edit-src-code)
- (define-key org-mode-map "\C-co" 'outline-hide-other)
+ (define-key org-mode-map (kbd "C-c o") #'jao-org-org-goto-pdf)
+ (define-key org-mode-map "\C-cO" 'outline-hide-other)
(global-set-key "\C-cr" 'org-capture)
(global-set-key "\C-c\C-l" 'org-store-link)
(global-set-key "\C-cL" 'org-insert-link-global)