70 lines
2.3 KiB
Org Mode
70 lines
2.3 KiB
Org Mode
#+TITLE: Emacs Org-mode Configuration
|
|
#+property: header-args :tangle ~/.emacs.d/modules/org.el
|
|
|
|
* Core Org Setup
|
|
#+begin_src elisp
|
|
(use-package org
|
|
:config
|
|
(defvar org-outline-path-complete-in-steps nil)
|
|
:bind (("C-c l" . org-store-link)
|
|
("C-c a" . org-agenda)
|
|
("C-c c" . org-capture)
|
|
:map org-mode-map)
|
|
)
|
|
(defvar org-directory (concat (getenv "HOME") "/org/"))
|
|
#+end_src
|
|
|
|
* Agenda
|
|
#+begin_src elisp
|
|
(setq org-deadline-warning-days 7)
|
|
(setq org-agenda-skip-additional-timestamps-same-entry t)
|
|
(setq org-agenda-span 'fortnight)
|
|
(setq org-agenda-tags-column 'auto)
|
|
(setq org-agenda-skip-scheduled-if-deadline-is-shown t)
|
|
(setq org-agenda-files (list
|
|
(concat org-directory "/0_inbox/inbox.org")
|
|
(concat org-directory "/0_inbox/org-gtd-tasks.org")
|
|
)
|
|
)
|
|
#+end_src
|
|
|
|
* Capture and Protocol
|
|
#+begin_src elisp
|
|
(require 'org-protocol)
|
|
(setq org-protocol-default-buffer-for-file-links "*scratch*")
|
|
(defvar org-default-notes-file (concat org-directory "/0_inbox/inbox.org"))
|
|
(setq org-protocol-default-template-key "L")
|
|
#+end_src
|
|
|
|
#+begin_src elisp :tangle ~/.emacs.d/custom.el
|
|
(defvar org-capture-templates '(
|
|
("p" "Protocol"
|
|
entry
|
|
(file "0_inbox/inbox.org")
|
|
"* %^{Title}\nSource: %u, %c\n #+BEGIN_QUOTE\n%i\n#+END_QUOTE\n\n\n%?"
|
|
)
|
|
("L" "Protocol Link"
|
|
entry
|
|
(file "0_inbox/inbox.org")
|
|
"* %? [[%:link][%:description]]\n:PROPERTIES:\n:TITLE: %:description\n:URI: %:link\n:CREATED: %U\n:END:"
|
|
:prepend nil
|
|
:empty-lines 1
|
|
:created t
|
|
:kill-buffer t
|
|
)
|
|
)
|
|
)
|
|
#+end_src
|
|
|
|
* TODO Settings
|
|
#+begin_src elisp
|
|
(setq org-todo-keywords
|
|
'(
|
|
(sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
|
(sequence "WAIT(w@/!)" "|" "CNCL(c@)")
|
|
)
|
|
)
|
|
(setq org-enforce-todo-dependencies t)
|
|
(setq org-log-into-drawer "LOGBOOK")
|
|
#+end_src
|