summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRavi R Kiran <aine.marina@gmail.com>2022-02-06 14:51:59 (GMT)
committerRavi R Kiran <aine.marina@gmail.com>2022-02-06 14:51:59 (GMT)
commitaba604ef2809977d697d05ff783d9a6fddf7f67d (patch)
tree35c83b4a6076f8befa1b85e0132619d9d4a820ca
parent95048a3e4a205f6c4dd689a9875776737dc8a1fd (diff)
downloaddotemacs-aba604ef2809977d697d05ff783d9a6fddf7f67d.zip
dotemacs-aba604ef2809977d697d05ff783d9a6fddf7f67d.tar.gz
dotemacs-aba604ef2809977d697d05ff783d9a6fddf7f67d.tar.bz2
More source blocks in org
company-org-block works very well.
-rw-r--r--lisp/ravi-init-org.el179
1 files changed, 95 insertions, 84 deletions
diff --git a/lisp/ravi-init-org.el b/lisp/ravi-init-org.el
index 20039cd..f033441 100644
--- a/lisp/ravi-init-org.el
+++ b/lisp/ravi-init-org.el
@@ -61,91 +61,102 @@ When nil, use the default face background.")
("H-o" . org-capture)
("H--" . org-agenda))
:config
- (progn
- (use-package htmlize :ensure t)
- (use-package ox-reveal
- :config
- (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 ravi/mathjax-v3-file))
- (use-package ox-rst)
- (use-package ox-impress-js :disabled t)
-
- ;; 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)
-
- ;; Respect theme for code block output if enabled
- ;; https://emacs.stackexchange.com/questions/3374/set-the-background-of-org-exported-code-blocks-according-to-theme
- ;; Code above was modified to
- ;; - use hexadecimal color values to avoid color names
- ;; - modify org-html-head-extra only if colors were not already present; otherwise
- ;; we end up appending to it on every export
- (defvar ravi/org-html-code-block-parameter-set nil
- "Set foreground and background for code blocks according to theme")
- (defun ravi/org-inline-css-hook (exporter)
- "Insert custom inline css to automatically set the
+ (use-package htmlize :ensure t)
+ (use-package ox-reveal
+ :config
+ (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 ravi/mathjax-v3-file))
+ (use-package ox-rst)
+ (use-package ox-impress-js :disabled t)
+
+ ;; 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)
+
+ ;; Respect theme for code block output if enabled
+ ;; https://emacs.stackexchange.com/questions/3374/set-the-background-of-org-exported-code-blocks-according-to-theme
+ ;; Code above was modified to
+ ;; - use hexadecimal color values to avoid color names
+ ;; - modify org-html-head-extra only if colors were not already present; otherwise
+ ;; we end up appending to it on every export
+ (defvar ravi/org-html-code-block-parameter-set nil
+ "Set foreground and background for code blocks according to theme")
+ (defun ravi/org-inline-css-hook (exporter)
+ "Insert custom inline css to automatically set the
background of code according to theme"
- (when (and (eq exporter 'html)
- ;; To do: only if htmlize is used
- ravi/org-html-code-block-parameter-set)
- (let* ((converter (lambda (x) (apply #'color-rgb-to-hex
- (flatten-list (list (color-name-to-rgb x) 2)))))
- (pre-bg (funcall converter (face-background 'default)))
- (pre-fg (funcall converter (face-foreground 'default)))
- (extra (format "<style type=\"text/css\">\n pre.src {background-color: %s; color: %s;}</style>\n"
- pre-bg pre-fg)))
- (unless (and org-html-head-extra
- (string-match (regexp-quote extra) org-html-head-extra))
- (set (make-local-variable 'org-html-head-extra)
- (concat org-html-head-extra extra))))))
- (add-hook 'org-export-before-processing-hook 'ravi/org-inline-css-hook)
-
- (defun ravi/org-color-customization ()
- "Color customization for org mode"
- (setq ravi/org-html-code-block-parameter-set t)
- (set (make-local-variable 'ravi/inline-image-background) "white"))
- (add-hook 'org-mode-hook #'ravi/org-color-customization)
-
- ;; 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
+ (when (and (eq exporter 'html)
+ ;; To do: only if htmlize is used
+ ravi/org-html-code-block-parameter-set)
+ (let* ((converter (lambda (x) (apply #'color-rgb-to-hex
+ (flatten-list (list (color-name-to-rgb x) 2)))))
+ (pre-bg (funcall converter (face-background 'default)))
+ (pre-fg (funcall converter (face-foreground 'default)))
+ (extra (format "<style type=\"text/css\">\n pre.src {background-color: %s; color: %s;}</style>\n"
+ pre-bg pre-fg)))
+ (unless (and org-html-head-extra
+ (string-match (regexp-quote extra) org-html-head-extra))
+ (set (make-local-variable 'org-html-head-extra)
+ (concat org-html-head-extra extra))))))
+ (add-hook 'org-export-before-processing-hook 'ravi/org-inline-css-hook)
+
+ (defun ravi/org-color-customization ()
+ "Color customization for org mode"
+ (setq ravi/org-html-code-block-parameter-set t)
+ (set (make-local-variable 'ravi/inline-image-background) "white"))
+ (add-hook 'org-mode-hook #'ravi/org-color-customization)
+
+ ;; 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
+ '((awk . t)
+ (C . t)
+ (ditaa . t)
+ (dot . t)
+ (emacs-lisp . t)
+ (latex . t)
+ (plantuml . t)
+ (python . t)
+ (sed . t)
+ (shell . t)
+ (jupyter . t))) ; jupyter must be last
+
+ (use-package company-org-block
+ :custom
+ (company-org-block-edit-style 'auto)
+ :init
+ (defun ravi/add-company-org-block-to-org-mode-hook ()
+ (setq-local company-backends '(company-org-block)))
+ :hook ((org-mode-hook . ravi/add-company-org-block-to-org-mode-hook)))
+ )
(use-package org-capture
:defer t