;;; init-org.el --- configure things related to org-mode -*- lexical-binding: t -*- ;; Author: Franck Cuny ;;; 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