this-month-in-org/content/2021-08-38-roaming.org

5.0 KiB

August 2021

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.

/tec/this-month-in-org/media/commit/7958caa410de296ba8ebcbe479752fd22b6ae746/content/figures/org-roam-graph-2d-overview.png

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

/tec/this-month-in-org/media/commit/7958caa410de296ba8ebcbe479752fd22b6ae746/content/figures/org-roam-ui-in-emacs.png
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.

https:/github.com/org-roam/org-roam-ui

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.

Https://github.com/Jason-S-Ross/ox-context

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.