;;; ravi-init-org.el --- org initialization ;; Copyright (C) 2014 ;; Author: ;; Keywords: ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; Org mode initialization ;;; Code: ;; This brings in emacs-zmq, which requires static libstdc++.a (use-package jupyter :commands (jupyter-run-server-repl jupyter-run-repl jupyter-server-list-kernels)) (use-package org :ensure org-plus-contrib :mode ("\\.org\\'" . org-mode) ;; The following lines are always needed. Choose your own keys. :bind (("C-c l" . org-store-link) ("H-o" . org-capture) ("H--" . org-agenda)) :config (progn (use-package htmlize :ensure t) (use-package ox-reveal :config (progn (setq org-reveal-slide-number nil) (setq org-reveal-theme "night") (setq org-reveal-transition "linear") (setq org-reveal-mathjax t) (setq org-reveal-mathjax-url "./MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"))) (use-package ox-rst) (use-package ox-impress-js) ;; Default file locations (setq org-directory "~/Documents/org") (defvar ravi/one-org-agenda-file (expand-file-name "agenda.files" org-directory)) (setq org-agenda-files ravi/one-org-agenda-file) (unless (file-exists-p ravi/one-org-agenda-file) ;; http://stackoverflow.com/a/14072295/1219634 ;; touch `ravi/one-org-agenda-file' (write-region "" :ignore ravi/one-org-agenda-file)) (setq org-default-notes-file (expand-file-name "notes.org" org-directory)) (setq org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 3))) (setq org-src-fontify-natively t) (setq org-modules '(ol-bbdb ol-bookmark ol-git-link ol-info ol-man org-id)) (setq org-use-speed-commands t) ;; don't prompt me to confirm everytime I want to evaluate a block (setq org-confirm-babel-evaluate nil) ;; display/update images in the buffer after I evaluate (add-hook 'org-babel-after-execute-hook 'org-display-inline-images 'append) ;; Needs java-$VERSION-openjdk or equivalent (defvar ravi/plantuml-jar-path "/usr/share/java/plantuml.jar" "Path to plantuml jar file") (setq org-plantuml-jar-path ravi/plantuml-jar-path) (defvar ravi/ditaa-jar-path "/usr/share/java/ditaa.jar" "Path to ditaa jar file") (setq org-ditaa-jar-path ravi/ditaa-jar-path) (add-to-list 'org-src-lang-modes '("plantuml" . plantuml)) (org-babel-do-load-languages 'org-babel-load-languages '((python . t) (shell . t) (latex . t) (ditaa . t) (dot . t) (plantuml . t) (emacs-lisp . t) (jupyter . t))))) ; jupyter must be last (use-package org-capture :defer t :ensure nil :config (when (fboundp 'ravi/setup-org-capture) (ravi/setup-org-capture))) (provide 'ravi-init-org) ;;; ravi-init-org.el ends here