This Month in Org RSS icon

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 late make 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.

Org-roam v2

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.

Org-roam-ui

Within a month of Roam v2’s announcement, we were pleasantly surprised by the release of org-roam-server usurper — org-roam-ui.

org-roam-graph-2d-overview.png
Figure 1: org-roam-ui’s 2D overview.

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.

Figure 1.1: org-roam-ui's 3D graph view.

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!1

org-roam-ui-in-emacs.png
Figure 2: Embed org-roam-ui in Emacs using xwidget-webkit.

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.

Other improvements

  • 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

Bugfixes

  • 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-error is set Lars Ingebrigtsen
  • Make org-attach work again for Emacs \(< 28\) Kyle Meyer, Marco Wahl
  • Make rx usage 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 ffap-url-regexp is nil, instead of throwing an error Peder Stray TEC

Footnotes:

1

I have found the xwidget-webkit experience quite unstable until I started using Emacs 28 with the pure-GTK branch. So, if you’re not getting a good experience now, there’s a good chance you’ll have a better experience in the future.

CC0 To the extent possible under law, TEC has waived all copyright and related or neighboring rights to This Month in Org.