summaryrefslogtreecommitdiff
path: root/config/init-org.el
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--config/init-org.el89
1 files changed, 89 insertions, 0 deletions
diff --git a/config/init-org.el b/config/init-org.el
new file mode 100644
index 0000000..9f5c4a0
--- /dev/null
+++ b/config/init-org.el
@@ -0,0 +1,89 @@
+;;; init-org.el --- configure things related to org-mode -*- lexical-binding: t -*-
+;; Author: Franck Cuny <franck@fcuny.net>
+
+;;; Commentary:
+
+;; Configure things related to org-mode
+
+;;; Code:
+
+(use-package org
+ :hook
+ (org-mode . turn-on-flyspell)
+ (org-mode . visual-line-mode)
+ (org-mode . org-indent-mode)
+ :custom
+ ;;; general settings
+ (org-startup-folded t)
+ (org-startup-indented t)
+ (org-hide-emphasis-markers t)
+ (org-hide-leading-stars t)
+ (org-pretty-entities t)
+ (org-return-follows-link t)
+ (org-startup-with-inline-images t)
+ (org-export-backends '(html md))
+ (org-imenu-depth 4)
+ (org-insert-heading-respect-content t)
+ (org-outline-path-complete-in-steps nil)
+ (org-src-fontify-natively t)
+ (org-src-preserve-indentation t)
+ (org-src-tab-acts-natively t)
+ (org-src-window-setup 'current-window)
+ (org-yank-adjusted-subtrees t)
+ (org-structure-template-alist
+ '(("s" . "src")
+ ("E" . "src emacs-lisp")
+ ("p" . "src python")
+ ("e" . "example")
+ ("q" . "quote")
+ ("V" . "verbatim")))
+ :config
+ (font-lock-add-keywords 'org-mode
+ '(("^ *\\(-\\) "
+ (0 (ignore (compose-region (match-beginning 1) (match-end 1) "•")))))))
+
+(use-package org-bullets
+ :ensure t
+ :hook (org-mode . org-bullets-mode))
+
+(use-package org-auto-tangle
+ :ensure t
+ :hook (org-mode . org-auto-tangle-mode))
+
+(use-package org-babel
+ :no-require t
+ :after (org)
+ :config
+ (org-babel-do-load-languages
+ 'org-babel-load-languages
+ '((python . t)
+ (emacs-lisp . t)
+ (calc . t)
+ (shell . t)
+ (sql . t)
+ (dot . t)))
+
+ (remove-hook 'kill-emacs-hook 'org-babel-remove-temporary-directory)
+
+ (advice-add 'org-babel-edit-prep:emacs-lisp :after
+ #'(lambda (_info) (run-hooks 'emacs-lisp-mode-hook))))
+
+(use-package ox-gfm
+ :ensure t
+ :after org)
+
+(use-package ox-md
+ :after org)
+
+(use-package ox-pandoc
+ :ensure t
+ :after org
+ :preface
+ (defun markdown-to-org-region (start end)
+ "Convert region from markdown to org, replacing selection"
+ (interactive "r")
+ (shell-command-on-region start end "pandoc -f markdown -t org" t t)))
+
+(provide 'init-org)
+
+;;; init-org.el ends here