dot-doom/obsidian-config.el

44 lines
1.5 KiB
EmacsLisp

;;; obsidian-config.el -*- lexical-binding: t; -*-
;; configure obsidian integration for note taking fun times
(use-package! obsidian
:config
(obsidian-specify-path "~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Primary")
(setq obsidian-inbox-directory "_Inbox")
(global-obsidian-mode t)
(map! :map obsidian-mode-map
"C-c C-o" #'obsidian-follow-link-at-point
"C-c C-b" #'obsidian-backlink-jump
"C-c C-l" #'obsidian-insert-wikilink)
;; custom quick capture template for obsidian daily note
(defun mnl/obsidian-capture ()
"Create new obsidian note. In the `obsidian-inbox-directory' if set otherwise in `obsidian-directory' root."
(interactive)
(let* ((title (read-from-minibuffer "Title: " (format-time-string "%Y-%m-%d")))
(filename (s-concat obsidian-directory "/" obsidian-inbox-directory "/" title ".md"))
(clean-filename (s-replace "//" "/" filename)))
(find-file (expand-file-name clean-filename) t)))
(map! :leader
:desc "Obsidian Quick Capture"
"X" #'mnl/obsidian-capture)
(map! :leader
:prefix "n"
:desc "Obsidian Jump"
"f" #'obsidian-jump
:desc "Obsidian Search"
"s" #'obsidian-search
"*" #'obsidian-search
:desc "Obsidian Tag Search"
"m" #'obsidian-tag-find
:desc "Obsidian Capture"
"n" #'mnl/obsidian-capture
:desc "Obsidian Insert Wikilink"
"w" #'obsidian-insert-wikilink
:desc "Obsidian Backlink Jump"
"j" #'obsidian-backlink-jump
:desc "Obsidian Follow Link"
"l" #'obsidian-follow-link-at-point
"a" nil
"d" nil))