🧹 An Emacs minor mode to automatically tidy org-mode property drawers.
At first I googled for some tricks to hide property drawers completely. And I found there are many people like me who are bothered by this problem. Of course there are solutions. But these solutions involve a lot of code. So I made this package.
@@html:
After org-tidy mode is turned on, these property drawers are hidden. And the symbol ♯ is appended after the headline. You can also customize how property drawers will be hidden.
** Manual
(require 'org-tidy) (add-hook 'org-mode-hook #'org-tidy-mode)
** use-package
(use-package org-tidy :ensure t :hook (org-mode . org-tidy-mode))
** How to edit property drawers in org-tidy-mode? If you need to edit only one drawer temporarily, you can simply ~M-x org-tidy-untidy-buffer~. When you save the buffer, it will be tidied again.
If you need to edit a lot of drawers, you can ~M-x org-tidy-toggle~. Then the buffer will not be tidied on save, until ~M-x org-tidy-toggle~ again.
Customize
~org-tidy-top-property-style~ How to display the property at the beginning of buffer. ~keep~ will do nothing. ~invisible~ will hide it.
~org-tidy-properties-style~ How to display other property drawers.
~org-tidy-properties-inline-symbol~ The inline symbol.
~org-tidy-property-drawer-flag~ Whether to tidy property drawers.
~org-tidy-property-drawer-property-whitelist~ The whitelist of properties. If set, only property drawers which contain property in this list will be tidied.
~org-tidy-property-drawer-property-blacklist~ Blacklist of properties. If set, property drawers which contain property in this list will not be tidied.
~org-tidy-general-drawer-flag~ Non-nil means should tidy general drawers.
~org-tidy-general-drawer-name-whitelist~ Whitelist of drawer names. If set, only general drawers whose name is in this list will be tidied.
~org-tidy-general-drawer-name-blacklist~ Blacklist of drawer names. If set, general drawers whose name is in this list will not be tidied.