Now Showing: Revision History

I’ve been meaning to add a revision history view of some sorts to the website, seeing as I’ll inevitably add, remove, or change parts of my posts – and I’d like the changes to be transparent.

Originally, my idea was to show a revision history like MediaWiki does, or how cppreference shows (since C++17) (also running MediaWiki!). It’s still the idea to do it like this, but parsing git log patches and applying them like that is a bite a bit too big right now. Software is an interative process, anyways.

Instead, on the home page, as you’ll have noticed, I have the last five commits displayed. That way, you can see what’s new with a quick glance. What’s more, as you might have seen, the post(s) added in the last (current) commit will be red and have (new) next to their commit hash.

Also, a revision history will show up at the beginning of posts, much like on the home page; but only if there have been revisions to the page, and only the commits that touched that page. I’ve edited the sort system page as an example.

As all this happens automatically (on my side of things), I can’t forget to highlight an edited post, or write about a change, or sneak a change in a post (unless I horribly disfigure causality in my git history).

Floatier Footnotes #

As you also might have read on the commit history, I’ve rotated and added a shadow to footnotes, ever so slightly. I think it makes it a bit more interesting to look at, as well as giving it (a lot) more character.

They’re 1 and 0.6 degree turns, so subpixel rendering and aliasing might give you and your browser issues. Please, tell me if that’s the case! I’ve tried it on a few browsers, and it seems like it works.

Actually Seeing the Revision #

I’m still split on how to even display the revisions that happened in the text. On one hand, seeing a list of them like MediaWiki’s history page shows you isn’t much different from what I have now, and seeing the page at that point isn’t very useful – especially for long posts.

On the other, inline spans/blocks like cppreference has, look a lot more appealing and help the fun to read cause. Then again, should you have to navigate to another page to see the diff with the spans, or should you see all the added content, diffed against the initial version?

What about deleted text? My systematising brain is trying to work out a general solution where, I’m afraid, one doesn’t exist: I don’t want to waste highlights on typo fixes. So, it seems, the burden of specificly showing revisions is still on me.

I’m open to suggestions on how to solve this issue. I’m also open to sharing the Ruby code powering the just-added commit history. In fact, I might just update this page to add it in the forthcoming day(s).