You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
8.2 KiB
EmacsLisp
228 lines
8.2 KiB
EmacsLisp
(unless (string-equal system-type "android")
|
|
(unless (string-equal user-login-name "3055822")
|
|
|
|
(require 'org-capture)
|
|
|
|
(defun findread ()
|
|
"Find or create heading for read books"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** read" nil t))
|
|
(if (not (search-forward "* books" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* books\n** read"))
|
|
(insert "\n** read"))))
|
|
|
|
(defun findacquired ()
|
|
"Find or create heading for acquired books"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** obtained" nil t))
|
|
(if (not (search-forward "* books" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* books\n** obtained"))
|
|
(insert "\n** obtained"))))
|
|
|
|
(defun findreading ()
|
|
"Find or create heading for reading progress"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** progress" nil t))
|
|
(if (not (search-forward "* books" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* books\n** progress"))
|
|
(insert "\n** progress"))))
|
|
|
|
(defun findbeaten ()
|
|
"Find or create heading for beaten games"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** beaten" nil t))
|
|
(if (not (search-forward "* games" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* games\n** beaten"))
|
|
(insert "\n** beaten"))))
|
|
|
|
(defun findhundred ()
|
|
"Find or create heading for completed games"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** completed" nil t))
|
|
(if (not (search-forward "* games" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* games\n** completed"))
|
|
(insert "\n** completed"))))
|
|
|
|
(defun findobtained ()
|
|
"Find or create heading for acquired games"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** acquired" nil t))
|
|
(if (not (search-forward "* games" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* games\n** acquired"))
|
|
(insert "\n** acquired"))))
|
|
|
|
(defun findgaming ()
|
|
"Find or create heading for gaming progress"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** gameplay" nil t))
|
|
(if (not (search-forward "* games" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* games\n** gameplay"))
|
|
(insert "\n** gameplay"))))
|
|
|
|
(defun findwatched ()
|
|
"Find or create heading for watched films"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** watched" nil t))
|
|
(if (not (search-forward "* films" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* films\n** watched"))
|
|
(insert "\n** watched"))))
|
|
|
|
(defun findvisited ()
|
|
"Find or create heading for visited places"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "** visited" nil t))
|
|
(if (not (search-forward "* places" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* places\n** visited"))
|
|
(insert "\n** visited"))))
|
|
|
|
(defun finddw ()
|
|
"Find or create heading for DW posts"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "* dw" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* dw"))))
|
|
|
|
(defun therating ()
|
|
"Rate some media"
|
|
(setq therating nil)
|
|
(setq ratingreturn "")
|
|
(setq therating (completing-read "Rating: " '("1" "2" "3" "4" "5")))
|
|
(when (equal therating "1")
|
|
(setq ratingreturn " and rated ★"))
|
|
(when (equal therating "2")
|
|
(setq ratingreturn " and rated ★★"))
|
|
(when (equal therating "3")
|
|
(setq ratingreturn " and rated ★★★"))
|
|
(when (equal therating "4")
|
|
(setq ratingreturn " and rated ★★★★"))
|
|
(when (equal therating "5")
|
|
(setq ratingreturn " and rated ★★★★★"))
|
|
ratingreturn)
|
|
|
|
(defun thevisitdate ()
|
|
"Add dates for a visit"
|
|
(setq visitreturn "")
|
|
(setq visitstart (read-string "Start date (YYYY-MM-DD): " ))
|
|
(unless (equal visitstart "")
|
|
(setq visitend (read-string "End date (YYYY-MM-DD): " ))
|
|
(setq visitreturn (concat " <" visitstart ">--<" visitend ">")))
|
|
visitreturn)
|
|
|
|
(defun findperf ()
|
|
"Find or create heading for performances"
|
|
(filedate)
|
|
(goto-char (point-min))
|
|
(if (not (search-forward "* performances" nil t))
|
|
(progn
|
|
(goto-char (point-max))
|
|
(insert "* performances"))))
|
|
|
|
(defun setensemble ()
|
|
"Get the ensemble performed with"
|
|
(setq ensembles (s-split "\n" (f-read "~/Documents/drive/admin/emacs/ensembles.txt") t))
|
|
(setq theensemble (completing-read "Ensemble: " ensembles))
|
|
theensemble)
|
|
|
|
(defun setvenue ()
|
|
"Get the venue where a performance happened"
|
|
(setq venues (s-split "\n" (f-read "~/Documents/drive/admin/emacs/venues.txt") t))
|
|
(setq thevenue (completing-read "Venue: " venues))
|
|
thevenue)
|
|
|
|
(defun setconsole ()
|
|
"Get the console a game is played on"
|
|
(setq consoles (s-split "\n" (f-read "~/Documents/drive/admin/emacs/consoles.txt") t))
|
|
(setq theconsole (completing-read "Console: " consoles))
|
|
theconsole)
|
|
|
|
(defun bookcalc ()
|
|
"Read in or calculate position in book"
|
|
(setq ispageno (y-or-n-p "Calculate percentage from page number?"))
|
|
(if ispageno
|
|
(progn
|
|
(setq reachedpage (string-to-number (concat (read-string "Page reached: ") ".0")))
|
|
(setq totalpages (string-to-number (concat (read-string "Total pages: ") ".0")))
|
|
(setq bookprogress (number-to-string (truncate (* 100 (/ reachedpage totalpages))))))
|
|
(setq bookprogress (read-string "Progress (%): ")))
|
|
(setq returnprogress (concat "*" bookprogress "%.* "))
|
|
returnprogress)
|
|
|
|
(setq org-default-notes-file (concat "~/Documents/drive/org/journal/" (format-time-string "%Y/%m/%Y-%m-%d") ".org"))
|
|
|
|
(setq org-capture-templates
|
|
'(("a" "Acquired book" entry
|
|
(file+function "" findacquired)
|
|
"* %^{Author} /%^{Title}/ (%^{Acquisition method})"
|
|
:jump-to-captured t)
|
|
("b" "Finished book" entry
|
|
(file+function "" findread)
|
|
"* %^{Author} /%^{Title}/%(therating)"
|
|
:jump-to-captured t)
|
|
("d" "DW post" entry
|
|
(file+function "" finddw)
|
|
"* %^{Title}\n%?"
|
|
:jump-to-captured t)
|
|
("f" "Watched film" entry
|
|
(file+function "" findwatched)
|
|
"* %^{Title} (%^{Year})%(therating)"
|
|
:jump-to-captured t)
|
|
("g" "Beat game" entry
|
|
(file+function "" findbeaten)
|
|
"* %^{Title} (%setconsole)"
|
|
:jump-to-captured t)
|
|
("m" "Musical performance" entry
|
|
(file+function "" findperf)
|
|
"* %(setensemble)\n** %^{Performance name} (%(setvenue))\n%?"
|
|
:jump-to-captured t)
|
|
("n" "Gameplay progress" entry
|
|
(file+function "" findgaming)
|
|
"* %^{Title} (%(setconsole))\n%?"
|
|
:jump-to-captured t)
|
|
("o" "Obtained game" entry
|
|
(file+function "" findobtained)
|
|
"* %^{Title} (%(setconsole))"
|
|
:jump-to-captured t)
|
|
("p" "Visited place" entry
|
|
(file+function "" findvisited)
|
|
"* %^{Place}%(thevisitdate)"
|
|
:jump-to-captured t)
|
|
("r" "Reading progress" entry
|
|
(file+function "" findreading)
|
|
"* %^{Author} /%^{Title}/\n%(bookcalc)%?"
|
|
:jump-to-captured t)
|
|
("1" "Completed game" entry
|
|
(file+function "" findhundred)
|
|
"* %^{Title} (%setconsole)"
|
|
:jump-to-captured t)))
|
|
|
|
(global-set-key (kbd "C-c c") #'org-capture)))
|