Coder Social home page Coder Social logo

org-tidy's Introduction

org-tidy

🧹 An Emacs minor mode to automatically tidy org-mode property drawers.

Why?

Org-mode’s property drawer is a very useful feature. We can store properties associated with an entry in property drawer. I use org-roam every day. And org-roam node is an entry with ID property. But if I create many nodes in a single file, there will be a lot of property drawers. This is really annoying. Even after they are folded, there are still lines like :PROPERTIES: ... , which makes the whole buffer hard to read.

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.

Screenshots

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.

Usage

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.
    • fringe will hide the property drawer and show a indicator in the left fringe
    • inline will hide the property drawer and append a symbol (default to ♯) at the end of previous line
    • invisible will just hide the property drawer
  • 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.

org-tidy's People

Contributors

jxq0 avatar lemonbreezes avatar aspiers avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.