Interested in Org but not enough to monitor the mailing list? In this blog I digest developments, and each month regurgitate what I consider the highlights, along with anything else Org-related I consider nifty.
Posts are published in .html, .org, .org.html, .txt, and .pdf forms — because why not 😛
Dear readers, unfortunately I’ve been unusually busy as of late, and will continue to be for a bit over a month. As such, it’s entirely likely that the next post or two may
be latemake use of creative dates too.
In terms of Org development, we’ve had a fairly slow month — mostly tweaks and fixes, concentrated on the new org-cite functionality. However, there have been big developments with Roam as of late.
Pushed to the sidelines by last month’s hugely significant citations announcement was the release of Org-roam v2 🎉. The project’s author Jethro wrote a nice blog post outlining the major changes and motivations, and so I’ll leave him to speak on that. Suffice to say, the idea of org-roam has been refined into a form that should better server tinkerers looking to build off Org roam, and make maintenance easier — thus improving the user experience in the long term 🙂. Should you be worried that the v1 → v2 upgrade will be painful, read Org-roam v2 doesn’t hurt, relax, and try the upgrade wizard.
Within a month of Roam v2’s announcement, we were pleasantly surprised by the release of org-roam-server usurper — org-roam-ui.
While org-roam-server remains incompatible with Roam v2, org-roam-ui is built around v2 from the ground up. With this shift comes a much more ambitious set of features. The graph view itself is now based on react-force-graph, which allows for both 2D and 3D views of the graph, with WebGL acceleration.
Using emacs-websocket, org-roam-ui establishes a two-way connection between Emacs and the Web visualisation. This allows for nifty features like syncing the graph view and the currently open roam file in Emacs. Furthermore, with xwidget-webkit you can even embed org-roam-ui inside Emacs!
Beyond this, org-roam-ui also provides a number of other nice features, such as filtering and theme syncing, with more in the works. To see more, check out the README published on GitHub.
New ConTeXt exporter
We’ve long been able to export to LaTeX files with ox-latex, but now you can export to ConTeXt too with ox-context! While only just released, a lot of work has already gone into this — with development starting almost a year ago by the commit history.
It’s always nice to see more export options for Org, and I wish Jason all the best in developing ox-context.
- Refactor oc-natbib.el, oc-biblatex, oc-basic.el, org-compat.el to improve byte compilation Maxim Nikulin Nicolas Goaziou Marco Wahl
- Allow for selecting cite style with a citation argument Nicolas Goaziou
- Add support for Italian “smart quotes” DPDmancul
- Fix Spanish mistranslation in footnote Documentation Juan Manuel Macias
- Define \citeprocitem in oc-csl.el for use by citeproc-el TEC
- Fix error in org-export-define-backend docstring Zachary Kanfer Nicolas Goaziou
- Document the :results none option Yasushi Shoji
- Other documentation improvements: Jorge Neto Marco Wahl
- When tangling a certain language, be more careful about which blocks are matched DMG, Nicolas Goaziou
- Make q in org-agenda work even when
debug-on-erroris set Lars Ingebrigtsen
- Make org-attach work again for Emacs \(< 28\) Kyle Meyer, Marco Wahl
rxusage in org-cite files compatible with Emacs \(< 27.1\) Max Nikulin
- Prevent ' from becoming a LaTeX active char in exports using oc-csl TEC
- Have org-colview dynblock match and mixlevel interact sensibly Nick Dokos
- Behave appropriately when
nil, instead of throwing an error Peder Stray TEC
Last month I not-at-all-subtly hinted that a certain long-awaited feature was arriving imminently. At this point, I think it’s a good idea to set the tone for the rest of this post.
The previous two months have been pretty good for Org development — with many bug fixes and feature improvements. This month has been substantially slower than the last, but that’s not to say not much is happening: in fact, there are some rather nifty contributions lined up for the not-too-distant future and a certain long-awaited feature branch is getting very close to merging 😀. You’ll just have to stick around to hear about those in a future edition of TMIO 😉.
Async Babel sessions have landed
Jack Kamm has made a fantastic contribution to Org: ob-comint.el now supports asynchronous output from source blocks with full support for sessions 🎉.
Org is an absolutely marvellous project. However, a quick glance at https://orgmode.org can lead one to think “so… it’s an Emacs version of Markdown? What’s the big deal?”. While it’s easy to understand how someone might think that at first, that impression misses two crucial points:
- While for simple constructs (bold, italic, headlines, etc.) the syntax is very much analogous, Org scales to much more powerful forms that are a headache to replicate in Markdown