I hear so many people rave about orgmode on HN, all of them emacs users. This seems obvious since it is an emacs feature after all, but if orgmode is so good, has it not been implemented outside of emacs? Is there a standalone orgmode implementation that non-emacs users should look into?
> if orgmode is so good, has it not been implemented outside of emacs
Org Mode is that good, but part of its goodness is due to being in Emacs.
Emacs is not really an editor: it’s an easily user-extensible operating environment with a remarkably shallow learning curve (seriously: one can go years just setting variables before moving up to simple functions and then starting to explore). Having all that power so easily accessible is a part of what makes Org Mode great. It’s what means that each Org Mode user can mold his experience to his needs.
Basics are easy to replicate, but one of the reasons why org is so useful is because it is tied into the emacs ecosystem, so you can write extensions/configuration tweaks in lisp. You can hookup agenda (calendars), etc, etc, and those things don't really translate so well to external tools.
If you had to write a lisp interpreter, and fake "bare minimum" compatability? At that point you'd be better off just running emacs for real.
Wait until you learn many of the default bash keyboard shortcuts (like Ctrl + A / E to move to the beginning/end of the line) actually come from emacs.
The biggest strength is not the file format or basically the org mode markdown flavor. The strength comes from integrating it with all the other Emacs stuff. Org-babel for example, think of it as a suped up Jupyter notebook. And it integrates with the emacs calendar/agenda.
The closest you can get is maybe Obsidian's Dataview plugin, but it absolutely pales in comparison to Emacs Org.
It is one of THE main reasons for me to use Emacs.
Standalone orgmode implementation is called emacs with org mode. I'm that person that uses emacs solely for orgmode and write code in other editors (vscode/zed/cursor), we also exist
Like someone else mentioned in this thread, I'm not a "traditional" Emacs user. I use Emacs only for Org Mode; for the rest I use Vim, or occasionally something else. (For the rest of your question, there are some good responses from others.)
The reason is that elisp org-mode is huge and re-implementing it without elisp is a great undertaking.
I started an implementation in javascript that I integrated in an obsidian plugin [0]. But the plugin has a long way to go before reaching feature parity with emacs orgmode.
Orgmode isn't really just a MD equivalent. It's the integration into Emacs and the entire platform that makes it so incredible and powerful. I would love an alternative because as TS developer I don't use Emacs anymore (non VSCode LSP is a nightmare to run) but it just doesn't exist :(
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.