Architecture
The plugin has two halves. At build time, it reads the git history and writes it as static files, and marks the rendered pages with their source lines. In the browser, it reads those files to show the on-page diff, the recent changes page and the history of each page.
Each diagram links to an interactive version, where you can search the components and follow the source references.
System overview

Showing a change on the page
What happens after a reader opens a page with ?diff=.

Build-time data flow
How the git history becomes the files under git-diff-data/.
