• by skydhash on 11/3/2024, 1:35:40 AM

    Org mode as it's core is basically an outliner, a tree in terms of data structure. And comes with tools to manipulate and navigate that tree. As all documents are trees, that makes it quite good with notes.

    But it add a few stuff to those trees like marking them as tasks, assigning tags and properties to them. And that makes it nice for time tracking, tasks management, and project management. And because it's all trees, constructing a database out of it to build an agenda is easy and obvious. It's called agenda, but it can show both a time-based view and a tag( and property?)-based view. But no one says that it needs to be tasks (I track book releases with org).

    And I've said that documents are tree, it turns out that org-mode has features to export your org tree to lot of documents format (latex, html, markdown,...), and it has markup that translate nicely to those. Another thing it haves is document level properties in addition to node properties, which lets you customize a lot of these features.

    And it has code blocks (there are other blocks too eg. for quotations) and have a nice integration to both highlight and runs the snippet in it. And because the document is linear, you can choose to export all the codes to specific files (configurable at block level) and it will do so . That's very nice when you want both documents and code side by side (aka literate programming).

    The other nice thing is the table markup. It can do some computation, but the nice thing is that you can do operations it without aligning everything over and over as it automatically does.

    What makes org really useful is not org itself, but Emacs. Org leverages a lot of Emacs features and you'd probably have to replicate them in other ecosystems. And it's not one way, you can easily tie org-mode to other packages and make something that truly useful to you.

  • by sexyman48 on 11/2/2024, 9:57:18 PM

    Grep and nano do 90% of what org-mode does without the albatross of emacs. Source: I am an emacs core developer.