First, you have the calendar, but it’s not just a date picker, it’s also shows holidays and other markers.
Then you have the capture (quick entry) where you have the full power of emacs environment plus lisp language to code anything you want. Emacs have other applications like a file manager, mail readers, document readers…, and you can capture the context as well as the note itself.
Then, there’s the agenda, which is fully customizable with a mix of options and code.
And there’s the exporters. Notice that emacs have support for most of the format, so it’s more like an handover to some other parts of emacs. But you don’t merely transform the document from org to html as an example. You extract the html from the org structure as you can filter sections out. Also a lot of options there (and code)
And code blocks (named babel). That you can execute.
So org can be a static document format or a dynamic environment. And all of that because of emacs as the buffer concept is very fluid. In emacs there are only buffers. Each buffer is assigned a major mode which is just a set of functions that does stuff on the buffer text. And you have the minor modes (more functions) that are more like plugins. And you’re free to hack on them. It’s just that the default set looks like a text editor.
As a very practical example: You take notes in org-mode, and as you do in many modern note-taking apps, you use copious links between notes.
But org-mode is inside Emacs, and Emacs is (can be) also your email client. So your notes can link to emails. Emacs is also your calendar. So your notes can link to events.
You can extend this to almost anything if you like Emacs enough. Your notes link to source code files (or your notes contain code, which can be executed from your notes). Emacs is also your git front end, so you could link to commits.
This is a great comment. My "Aha" moment with org-mode was when I started using it to track my TODOs on ongoing branch. I was able to link bookmarks to actual code from my org mode agenda, jump back and forth between my todo list and the actual code in my repo, add more, add context, etc.
Elisp, but not really elisp, more the environment of elisp. It's a LISP machine. Hard to explain, it's a different way of computing. Another living instance of this model of computing is a Smalltalk image. Others have written about how LISPing makes you a better coder much better than I could. Try it out!
I disagree, Elisp doesn't tie org to Emacs at all. What does tie org to Emacs is the fact that Emacs' org-mode (i.e. the mode you use to edit org files) provides a great DevEx when editing org files, including lots of convenience shortcuts. (Again, the fact that those are written in Elisp is irrelevant.)
It does. A lot of advanced options in Org have escape hatches for more code, and the fact that you configure org in Elisp and are free to hack on org provided functions due to the Elips environment add to its versality.