Files
.emacs.d/lisp/init-org.el

117 lines
4.1 KiB
EmacsLisp
Raw Normal View History

2025-12-14 04:51:24 +11:00
;; -*- lexical-binding: t -*-
;; (defun org-capture-init()
;; (setq org-capture-templates
;; '(("t" "Personal todo" entry ("Inbox")
;; "* TODO %?\n%i\n%a" :prepend t))))
(use-package org
:defer
:ensure `(org :repo "https://code.tecosaur.net/tec/org-mode.git/"
:branch "dev")
2025-12-14 09:04:11 +11:00
;; :hook (org-mode . org-indent-mode)
2025-12-14 04:51:24 +11:00
:config
;; (org-capture-init)
2025-12-14 09:04:11 +11:00
(setq org-modules '(org-habit))
2025-12-14 04:51:24 +11:00
(setq org-directory "~/org/")
(add-to-list 'org-agenda-files "~/org")
2025-12-14 04:51:24 +11:00
)
2025-12-14 09:04:11 +11:00
(use-package org-contrib)
(with-eval-after-load 'org
(setq org-highlight-latex-and-related '(native script entities)))
2025-12-14 04:51:24 +11:00
(use-package org-modern
2025-12-14 09:04:11 +11:00
:hook (org-mode . org-modern-mode)
:hook (org-agenda-finalize . org-modern-agenda)
:init
(with-eval-after-load 'org
(setq org-hide-emphasis-markers t
org-pretty-entities t))
2025-12-14 04:51:24 +11:00
:config
(setq org-modern-table nil))
2025-12-14 09:04:11 +11:00
(use-package org-appear
:defer)
(use-package hl-todo
:hook (prog-mode . hl-todo-mode)
:hook (yaml-mode . hl-todo-mode)
:config
(setq hl-todo-highlight-punctuation ":"
hl-todo-keyword-faces
'(;; For reminders to change or add something at a later date.
("TODO" warning bold)
;; For code (or code paths) that are broken, unimplemented, or slow,
;; and may become bigger problems later.
("FIXME" error bold)
;; For code that needs to be revisited later, either to upstream it,
;; improve it, or address non-critical issues.
("REVIEW" font-lock-keyword-face bold)
;; For code smells where questionable practices are used
;; intentionally, and/or is likely to break in a future update.
("HACK" font-lock-constant-face bold)
;; For sections of code that just gotta go, and will be gone soon.
;; Specifically, this means the code is deprecated, not necessarily
;; the feature it enables.
("DEPRECATED" font-lock-doc-face bold)
;; Extra keywords commonly found in the wild, whose meaning may vary
;; from project to project.
("NOTE" success bold)
("BUG" error bold)
("XXX" font-lock-constant-face bold))))
2025-12-14 04:51:24 +11:00
(use-package org-latex-preview
:ensure nil
2025-12-14 11:05:24 +11:00
:hook (org-mode . org-latex-preview-mode)
2025-12-14 04:51:24 +11:00
:config
;; Increase preview width
(plist-put org-latex-preview-appearance-options
:page-width 0.8)
;; ;; Use dvisvgm to generate previews
;; ;; You don't need this, it's the default:
;; (setq org-latex-preview-process-default 'dvisvgm)
;; Turn on `org-latex-preview-mode', it's built into Org and much faster/more
;; featured than org-fragtog. (Remember to turn off/uninstall org-fragtog.)
;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode'
;; (setq org-latex-preview-mode-ignored-commands
;; '(next-line previous-line mwheel-scroll
;; scroll-up-command scroll-down-command))
;; ;; Enable consistent equation numbering
2025-12-14 11:01:33 +11:00
(setq org-latex-preview-numbered t)
2025-12-14 04:51:24 +11:00
;; Bonus: Turn on live previews. This shows you a live preview of a LaTeX
;; fragment and updates the preview in real-time as you edit it.
;; To preview only environments, set it to '(block edit-special) instead
(setq org-latex-preview-mode-display-live t)
;; More immediate live-previews -- the default delay is 1 second
(setq org-latex-preview-mode-update-delay 0.25))
(use-package org-roam
:ensure t
2025-12-14 09:04:11 +11:00
:defer
:custom
(org-roam-directory (file-truename "~/org/roam"))
:bind (("C-c n l" . org-roam-buffer-toggle)
("C-c n f" . org-roam-node-find)
("C-c n g" . org-roam-graph)
("C-c n i" . org-roam-node-insert)
("C-c n c" . org-roam-capture)
;; Dailies
("C-c n j" . org-roam-dailies-capture-today))
:config
;; If you're using a vertical completion framework, you might want a more informative completion interface
(setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag)))
(org-roam-db-autosync-mode)
;; If using org-roam-protocol
(require 'org-roam-protocol))
2025-12-14 11:05:24 +11:00
(use-package org-roam-ui)
2025-12-14 04:51:24 +11:00
(provide 'init-org)