A simple journaling-mode

 

This should probably be replaced by using org-mode, etc., but I started working with it early on, and tweaked it extensively, and have a something like 5-6 years invested in using it. Yeah, as far as economics go -- that’s a sunk cost. so what! move on, if it’s a bad idea! that’s on the agenda....

 

All versions can now be found at https://github.com/MichaelPaulukonis/fisler-journal.el, referencing original author Ken Fisler, according to notes in the code, as found at journal.el at EmacsWiki:Journal

 

I use the date-features or the original far less, and turned it into it’s own mode with some highlighting and keys. Uses allout-mode to a certain extent. But I don’t make much use of it, to be honest. Most tweaks are for starting new sections, simple TODO/DONE/CANCEL tags, saving journal-files into sub-directories, and doing searches for the TODO tags, and w/in journal dirs. I’ve kept coding in it as an exercise.

 

There’s a horrible internal typo where I consistently use “cancell”. ugh. My apologies to anyone who reads this...

 

UPDATE 2013.05.22:
I have finally released the code onto github (see above), and hope to clean it up a bit just for practice and housekeeping purposes.
Like... spelling and bad programing practices. Or some of that.

 

 

org-mode journal

 

UPDATE 2013.05.22: I finally started using org-mode, and am rapidly becoming a convert.

 

Below is some raw-code.
simple. with hard-coded paths.
which is odd.

 


(global-set-key "\C-c\C-jw" 'org-journal-work)
(global-set-key "\C-c\C-jp" 'org-journal-personal)
(global-set-key "\C-c\C-jf" 'org-journal-freelance)
(defun org-journal-work ()
  "Send work-based directory to org-journal for day-job journaling."
  (interactive)
  (org-journal "D:/home/Personal/org-journal-work/" "work"))

(defun org-journal-personal ()
  "Send dropbox-based directory to org-journal for personal journaling."
  (interactive)
  (org-journal "D:/Dropbox/Emacs/org/org-journal-personal/" "personal"))


(defun org-journal-freelance ()
  "Send dropbox-based directory to org-journal for freelance journaling."
  (interactive)
  (org-journal "D:/Dropbox/Emacs/org/org-journal-freelance/" "freelance"))

(defun org-journal (&optional root suffix)
  "Open .org file named after today's date, format YYYY-MM-DD-Day.jnl,
in subdirectory named in variable root, set in ~/.emacs,
else as defined below.
"

  (interactive)
  (progn
    (setq root (or root "D:/Dropbox/Emacs/org-journal/"))
    (setq default-directory (year-month-dir root))
    (setq todays-date (format-time-string "%Y-%m-%d-%a" nil))
    (let ((sfx (if suffix (concat "." suffix) "")))
    (setq filename (concat todays-date sfx ".org")))

    (list (read-file-name
           "Open journal-org file: " default-directory filename nil filename)))

  (find-file filename) ;; switch to buffer if exists, or open file

  ;; following lines based on http://metajack.im/2009/01/01/journaling-with-emacs-orgmode/
  (widen)
  ;; heading is not working correctly if it is the result of (today)
  (let ((isearch-forward t) (heading (get-today)))
        (beginning-of-buffer)
        (unless (org-goto-local-search-headings heading nil t)
          ((lambda ()
             (org-insert-heading)
             (insert heading)
             (insert "\n\n  \n"))))
        (end-of-buffer)
        ;; (org-show-entry)
        (widen)
        ;; (org-narrow-to-subtree)
        ;; (end-of-buffer)
        ;; (backward-char 2)
        ;; (unless (= (current-column) 2)
        ;;   (insert "\n\n  "))
))
 

 

See Also

OrgMode

 

 

Tags

Emacs diary journalling task management github


 

Comments

No comments yet.

 

 

Add Comment

Heading:
 Your Message
 
 Enter value ← Have you entered the code number?
Author: