aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2021-10-07 11:42:32 +0100
committerYann Herklotz <git@yannherklotz.com>2021-10-07 11:42:32 +0100
commitd7913720128e48f07696565867f41c052d6e1f69 (patch)
tree05bcdbe78f2e29743d088431521d9a118229288d
parentfb89d6706fd59f80fef4ca6bc4aa93bc2f5144dc (diff)
parent45ada01381cffdbeac3bd9532d2be1f09929cef0 (diff)
downloaddotfiles-d7913720128e48f07696565867f41c052d6e1f69.tar.gz
dotfiles-d7913720128e48f07696565867f41c052d6e1f69.zip
Merge branch 'master' of git.ymhg.org:dotfiles
-rw-r--r--doom/config.el79
-rw-r--r--doom/init.el4
-rw-r--r--doom/packages.el6
3 files changed, 28 insertions, 61 deletions
diff --git a/doom/config.el b/doom/config.el
index f23edf5..805a820 100644
--- a/doom/config.el
+++ b/doom/config.el
@@ -403,13 +403,27 @@
(define-key map (kbd "i a") #'diary-insert-anniversary-entry)
(define-key map (kbd "i c") #'diary-insert-cyclic-entry)
(define-key map (kbd "i d") #'diary-insert-entry) ; for current "day"
- (define-key map (kbd "i i") #'diary-insert-entry) ; most common action, easier to type
(define-key map (kbd "i m") #'diary-insert-monthly-entry)
(define-key map (kbd "i w") #'diary-insert-weekly-entry)
(define-key map (kbd "i y") #'diary-insert-yearly-entry)
(define-key map (kbd "M-n") #'calendar-forward-month)
(define-key map (kbd "M-p") #'calendar-backward-month))
+ (defun diary-schedule (y1 m1 d1 y2 m2 d2 dayname)
+ "Entry applies if date is between dates on DAYNAME.
+ Order of the parameters is M1, D1, Y1, M2, D2, Y2 if
+ `european-calendar-style' is nil, and D1, M1, Y1, D2, M2, Y2 if
+ `european-calendar-style' is t. Entry does not apply on a history."
+ (let ((date1 (calendar-absolute-from-gregorian (list m1 d1 y1)))
+ (date2 (calendar-absolute-from-gregorian (list m2 d2 y2)))
+ (d (calendar-absolute-from-gregorian date)))
+ (if (and
+ (<= date1 d)
+ (<= d date2)
+ (= (calendar-day-of-week date) dayname)
+ (not (calendar-check-holidays date)))
+ entry)))
+
(require 'ox-extra)
(ox-extras-activate '(ignore-headlines))
@@ -612,64 +626,17 @@
;;(use-package! alectryon
;; :load-path "/Users/yannherklotz/Projects/alectryon/etc/elisp")
-(defun ymhg/incr-id (ident)
- (let* ((ident-list (append nil ident nil))
- (last-ident (last ident-list)))
- (setcar last-ident (+ (car last-ident) 1))
- (concat ident-list)))
-
-(defun ymhg/incr-id-total (ident)
- (if (string-match-p "\\(.*[a-z]\\)\\([0-9]+\\)$" ident)
- (progn
- (string-match "\\(.*[a-z]\\)\\([0-9]+\\)$" ident)
- (let ((pre (match-string 1 ident))
- (post (match-string 2 ident)))
- (concat pre (number-to-string (+ 1 (string-to-number post))))))
- (ymhg/incr-id ident)))
-
-(defun ymhg/branch-id (ident)
- (if (string-match-p ".*[0-9]$" ident)
- (concat ident "a")
- (concat ident "1")))
-
-(defun ymhg/org-zettelkasten-create (incr newheading)
- (let* ((current-id (org-entry-get nil "CUSTOM_ID"))
- (next-id (funcall incr current-id)))
- (funcall newheading)
- (org-set-property "CUSTOM_ID" next-id)))
-
-(defun org-zettelkasten-create-next ()
- (ymhg/org-zettelkasten-create
- 'ymhg/incr-id 'org-insert-heading))
-
-(defun org-zettelkasten-create-branch ()
- (ymhg/org-zettelkasten-create
- 'ymhg/branch-id '(lambda () (org-insert-subheading ""))))
-
-(defun org-zettelkasten-create-dwim ()
- (interactive)
- (let ((current-point (save-excursion
- (org-back-to-heading)
- (point)))
- (next-point (save-excursion
- (org-forward-heading-same-level 1 t)
- (point))))
- (if (= current-point next-point)
- (org-zettelkasten-create-next)
- (org-zettelkasten-create-branch))))
-
-;;(defun org-zettelkasten-search-current-id ()
-;; (interactive)
-;; (let ((current-id (org-entry-get nil "CUSTOM_ID")))
-;; (counsel-rg (concat "#" current-id) "~/Dropbox/zk" "-g *.org" "ID: ")))
-
-(defun org-zettelkasten-search-current-id ()
+(use-package! org-zettelkasten
+ :config
+ (add-hook 'org-mode-hook #'org-zettelkasten-mode)
+
+ (defun org-zettelkasten-search-current-id ()
+ "Use `consult-ripgrep' to search for the current ID in all files."
(interactive)
(let ((current-id (org-entry-get nil "CUSTOM_ID")))
- (consult-ripgrep "~/Dropbox/zk" (concat "[\\[:]." current-id "\\]#"))))
+ (consult-ripgrep org-zettelkasten-directory (concat "[\\[:]." current-id "\\]#"))))
-(define-key org-mode-map (kbd "C-c y n") #'org-zettelkasten-create-dwim)
-(define-key org-mode-map (kbd "C-c y z") #'org-zettelkasten-search-current-id)
+ (define-key org-zettelkasten-mode-map (kbd "s") #'org-zettelkasten-search-current-id))
(use-package! ox-hugo
:after ox)
diff --git a/doom/init.el b/doom/init.el
index 5348f13..191daf4 100644
--- a/doom/init.el
+++ b/doom/init.el
@@ -137,11 +137,11 @@
ocaml ; an objective camel
(org ; organize your plain life in plain text
;;+dragndrop ; drag & drop files/images into org buffers
- ;;+hugo ; use Emacs for hugo blogging
+ +hugo ; use Emacs for hugo blogging
;;+jupyter ; ipython/jupyter support for babel
;;+pandoc ; export-with-pandoc support
;;+pomodoro ; be fruitful with the tomato technique
- ;;+present ; using org-mode for presentations
+ +present ; using org-mode for presentations
)
;;perl ; write code no one else can comprehend
;;php ; perl's insecure younger brother
diff --git a/doom/packages.el b/doom/packages.el
index 40476aa..8a3016f 100644
--- a/doom/packages.el
+++ b/doom/packages.el
@@ -8,7 +8,6 @@
(package! ox-reveal)
;(package! ox-ssh)
(package! ox-tufte)
-(package! ox-hugo)
(package! org-transclusion
:recipe (:host github :repo "nobiot/org-transclusion"))
@@ -40,13 +39,14 @@
;; Misc dependencies
(package! hungry-delete)
(package! vagrant-tramp)
-(package! zettelkasten
- :recipe (:host github :repo "ymherklotz/emacs-zettelkasten"))
(package! plz
:recipe (:host github :repo "alphapapa/plz.el"))
(package! ement
:recipe (:host github :repo "alphapapa/ement.el"))
+(package! org-zettelkasten
+ :recipe (:host github :repo "ymherklotz/emacs-zettelkasten"))
+
(package! pinentry)
(package! package-lint)