From 38593df6bb457fc3940fcef1d93976cd56b0a2d0 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Sun, 26 May 2024 14:00:34 -0700 Subject: massive cleanup --- config/init-writing.el | 98 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 93 insertions(+), 5 deletions(-) (limited to 'config/init-writing.el') diff --git a/config/init-writing.el b/config/init-writing.el index 9cd3370..e54d605 100644 --- a/config/init-writing.el +++ b/config/init-writing.el @@ -7,14 +7,12 @@ ;;; Code: -(require 'init-markdown) - (use-package flyspell :defer - :hook ((text-mode . flyspell-mode) - (org-mode . flyspell-mode) + :hook ((text-mode . flyspell-mode) + (org-mode . flyspell-mode) (git-commit-mode . flyspell-mode) - (prog-mode . flyspell-prog-mode)) + (prog-mode . flyspell-prog-mode)) :diminish flyspell-mode :custom (ispell-program-name "aspell") @@ -22,6 +20,96 @@ (ispell-local-dictionary "en_US") (ispell-extra-args '("--camel-case"))) +(use-package markdown-mode + :ensure t + :mode (("\\`README\\.md\\'" . gfm-mode) + ("\\.md\\'" . markdown-mode) + ("\\.markdown\\'" . markdown-mode)) + :custom + (markdown-command "pandoc -f markdown_github+smart") + (markdown-command-needs-filename t) + (markdown-enable-math t) + (markdown-open-command "marked") + :init + (setq markdown-command "multimarkdown")) + +(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-writing) ;;; init-writing.el ends here -- cgit 1.4.1