Add example script
This commit is contained in:
parent
75886a57a6
commit
e905105f7e
2 changed files with 56 additions and 0 deletions
|
|
@ -15,3 +15,5 @@ This uses the example in the readme file, but maps across the elements returned
|
||||||
;;=> (("Electric bill" "Thu 23 Aug 2018 12:00:00 AM CDT")
|
;;=> (("Electric bill" "Thu 23 Aug 2018 12:00:00 AM CDT")
|
||||||
;; ("Rent" "Sat 01 Sep 2018 08:00:00 PM CDT"))
|
;; ("Rent" "Sat 01 Sep 2018 08:00:00 PM CDT"))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
This could also be put in a script, which could use desktop notifications to remind of bills coming due: [[examples/org-bills-due.el][org-bills-due.el]].
|
||||||
|
|
|
||||||
54
examples/org-bills-due.el
Normal file
54
examples/org-bills-due.el
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
;;; org-bills-due.el
|
||||||
|
|
||||||
|
;;;; Initialize package system
|
||||||
|
|
||||||
|
(require 'package)
|
||||||
|
(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
|
||||||
|
("melpa" . "https://melpa.org/packages/")))
|
||||||
|
(package-initialize)
|
||||||
|
|
||||||
|
;; Set load-path, loading org-ql from ~/src/emacs/org-ql (adjust as necessary)
|
||||||
|
(setq load-path (append (list "~/src/emacs/org-ql"
|
||||||
|
"~/.emacs.d/load-path")
|
||||||
|
load-path))
|
||||||
|
|
||||||
|
;;;; Load packages
|
||||||
|
|
||||||
|
;; Built-in
|
||||||
|
(require 'cl-lib)
|
||||||
|
(require 'subr-x)
|
||||||
|
|
||||||
|
(require 'org)
|
||||||
|
(require 'org-habit)
|
||||||
|
(require 'org-agenda)
|
||||||
|
|
||||||
|
;; From MELPA
|
||||||
|
(require 'dash)
|
||||||
|
(require 'dash-functional)
|
||||||
|
(require 's)
|
||||||
|
|
||||||
|
;; org-ql
|
||||||
|
(require 'org-ql)
|
||||||
|
(require 'org-ql-agenda)
|
||||||
|
|
||||||
|
;;;; Main
|
||||||
|
|
||||||
|
(-if-let* ((header "Bills due within 3 days")
|
||||||
|
(items (org-ql "~/org/main.org"
|
||||||
|
(and (deadline <= (+ 3 today))
|
||||||
|
(tags "bills"))
|
||||||
|
:action (org-get-heading 'no-tags 'no-todo)))
|
||||||
|
(string (concat "<ul>"
|
||||||
|
(s-join ""
|
||||||
|
(--map (concat "<li>" it "</li>")
|
||||||
|
items))
|
||||||
|
"</ul>")))
|
||||||
|
(progn
|
||||||
|
;; Send notification
|
||||||
|
(call-process "notify-send" nil 0 nil
|
||||||
|
(format "<b>%s</b>" header)
|
||||||
|
string)
|
||||||
|
;; Also output to STDOUT
|
||||||
|
(princ (format "%s:\n%s" header (s-join "\n" titles))))
|
||||||
|
;; No bills due
|
||||||
|
(kill-emacs 1))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue