You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

3.7 KiB

Doc - Org

Package

Define Org document package.

  (use-package emacs
    :after uno-doc
    :config
    (provide 'uno-doc-org))

Org

  (use-package org
    :after uno-doc-org
    :ensure org-plus-contrib
    :custom
    (org-adapt-indentation nil)
    (org-ellipsis " ▼")
    (org-hide-emphasis-markers t)
    (org-src-window-setup 'current-window)
    :hook
    (org-mode . toggle-truncate-lines)
    (org-mode . uno/doc/org/theme)
    :general
    (uno-mode-leader-define
      :keymaps 'org-mode-map
      "p" '(org-present :which-key "Org present")
      "'" '(org-edit-special :which-key "Edit special"))
    (uno-mode-leader-define
      :definer 'minor-mode
      :keymaps 'org-src-mode
      uno-mode-leader-key '(org-edit-src-exit :which-key "Save")
      "k" '(org-edit-src-abort :which-key "Cancel"))
    :init
    (defun uno/doc/org/theme ()
      "Customize face heights for org-mode."
      (when (display-graphic-p)
        (custom-theme-set-faces
          'user
          '(org-document-title ((t (:height 1.8))))
          '(org-level-1 ((t (:inherit outline-1 :height 1.6))))
          '(org-level-2 ((t (:inherit outline-2 :height 1.5))))
          '(org-level-3 ((t (:inherit outline-3 :height 1.4))))
          '(org-level-4 ((t (:inherit outline-4 :height 1.3))))
          '(org-level-4 ((t (:inherit outline-5 :height 1.2))))
          '(org-level-5 ((t (:inherit outline-6 :height 1.1)))))))
    :config
    (require 'ox-beamer))

  (use-package org-superstar
    :if (display-graphic-p)
    :after (uno-doc-org org)
    :custom
    (org-hide-leading-stars nil)
    (org-superstar-leading-bullet "")
    (org-superstar-special-todo-items t)
    :hook
    (org-mode . org-superstar-mode))

Presentation

  (use-package org-present
    :after uno-doc-org
    :hook
    (org-present-mode . org-display-inline-images)
    (org-present-mode . org-present-big)
    (org-present-mode . org-present-hide-cursor)
    (org-present-mode . org-present-read-only)
    (org-present-mode . uno/doc/org/present)
    (org-present-mode-quit . blink-cursor-mode)
    (org-present-mode-quit . fringe-mode)
    (org-present-mode-quit . org-present-read-write)
    (org-present-mode-quit . org-present-show-cursor)
    (org-present-mode-quit . org-present-small)
    (org-present-mode-quit . uno/doc/org/present-quit)
    :general
    (uno-define
      :keymaps 'org-present-mode-keymap
      "h" 'org-present-prev
      "l" 'org-present-next
      "q" 'org-present-quit
      "<left>" 'org-present-prev
      "<right>" 'org-present-next)
    :init
    (defun uno/doc/org/present ()
      "Start up org-present."
      (set-window-margins (get-buffer-window) 1 1)
      (setq-local header-line-format " ")
      (blink-cursor-mode -1)
      (fringe-mode -1))
    (defun uno/doc/org/present-quit ()
      "Clean up after exiting org-present."
      (set-window-margins (get-buffer-window) 0 0)
      (setq-local header-line-format nil)
      (unless org-startup-with-inline-images
        (org-remove-inline-images))))

  (use-package org-present
    :after (uno-doc-org evil)
    :hook
    (org-present-mode . evil-motion-state)
    (org-present-mode-quit . evil-normal-state))

  (use-package hide-mode-line
    :after (uno-doc-org org-present)
    :hook
    (org-present-mode . turn-on-hide-mode-line-mode)
    (org-present-mode-quit . turn-off-hide-mode-line-mode))

Evil Integration

  (use-package evil-org
    :after (uno-doc-org evil org)
    :custom
    (evil-org-use-additional-insert t)
    (evil-org-key-theme '(textobjects navigation additional))
    :hook
    (org-mode . evil-org-mode)
    (org-src-mode . evil-normalize-keymaps))