Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tecosaur/orgdiff

Mirror of https://git.tecosaur.net/tec/orgdiff
https://github.com/tecosaur/orgdiff

diffing emacs emacs-package latex mirror org-mode

Last synced: about 2 months ago
JSON representation

Mirror of https://git.tecosaur.net/tec/orgdiff

Awesome Lists containing this project

README

        

#+title: OrgDiff
#+author: tecosaur

#+html:


#+html:

As we're all aware, one of the lovely things about working in plaintext is that
you can run version control over your documents. =git diff= does a perfectly
passable job at showing you how your Org files has changed, but what about when
you want something richer? Well =latexdiff= is brilliant for LaTeX files, and you
can export Org to LaTeX! However, it's a bit of a hassle, you need to
1. Check out an old revision of your repository
2. Export your Org file to LaTeX
3. Fast-forward to the newer version
4. Do /another/ Org export to LaTeX
5. Run =latexdiff= on the two =.tex= files
6. Compile to a PDF, and view it

Gah! This is sounding like a bit of a pain. That's where *OrgDiff* comes in. It
automates all of the above, and provides a few other quality of life
improvements, namely:
+ Commit selection via the venerable Magit
+ Parallel exporting of the two Org files to TeX
+ Descriptive forms of the main =latexdiff= options, accessible via a Transient interface
+ Automatic TeX compiler-upgrading. I.e., if one document needs LuaLaTeX and the
other needs XeLaTeX, then we need to use LuaLaTeX to compile the =latexdiff= result

Along with that we provide some more basic options, like comparing any two Org
files without git, just creating the =.tex= diff, or running ~ediff~ on the Org
files.

[[file:orgdiff-screenshot.png]]

Do note that while this seems to work, it's quite early on in development, and
it shows in the code (lack of documentation, etc.). It seems perfectly usable
though 🙂.