)]}'
{
  "log": [
    {
      "commit": "eaaa2b42372ee28360b600276a4100b72b09da45",
      "tree": "9409760733f00f7e799c88b04ae88c24fc84bde4",
      "parents": [
        "4eb03205f9ff7baf6e3fca4f07aef38275b44faa"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Aug 26 09:41:27 2026 +0300"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Aug 26 09:41:27 2026 +0300"
      },
      "message": "add transcript view (\u0027r\u0027) for text-to-speech read-aloud extensions\n\nRead-aloud browser extensions cannot walk a reveal.js deck: slides\noutside the current one are display:none and the visible page text is\nindexed only once at page load, so such extensions stop after the title\nslide. Pressing \u0027r\u0027 now toggles a transcript view -- a single scrollable\npage containing every slide\u0027s content and speaker notes (overview TOC\nlists excluded, fragments shown, rebuilt on every open) -- which\nextensions can read from start to finish. Styled in the ids theme;\ncloses on click or Escape.\n\nChange-Id: Ia3df9dfa68b9699d318d747831ac8a0e270c8271\n"
    },
    {
      "commit": "4fc867c049bb739700828da92c16861ee4eb1703",
      "tree": "8a3dd46d124661e74fcab1910c9a88bd12f51c58",
      "parents": [
        "6b65c03e7e6177f73fe435b528b4e8533db58e0a"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 25 10:30:18 2026 +0300"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 25 10:30:18 2026 +0300"
      },
      "message": "auto-populate Overview/Überblick slides with a clickable TOC\n\nPort the convention from the old Google Docs slide workflow: at\npresentation time, any slide whose (only) heading is Overview or\nÜberblick gets its body content replaced with a hierarchical list of\nthe deck\u0027s h1/h2 slide headings, each entry linking to its slide.\nStyled in the ids theme; slides without headings and the title slide\nare left out.\n\nChange-Id: I3bfd62d530f297a389030e431a6066b5adc99bb8\n"
    },
    {
      "commit": "6b65c03e7e6177f73fe435b528b4e8533db58e0a",
      "tree": "fe662f8f831fcbab803ee43a175f58f6d310b982",
      "parents": [
        "4a4d612ce7b632be1eff9c0dd8b590ce1bf6839e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 25 09:43:28 2026 +0300"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Aug 25 09:43:28 2026 +0300"
      },
      "message": "support speaker notes and timing comments on the title slide\n\nPandoc puts content written before the first heading into an otherwise\nempty phantom slide right after the title slide. When such a slide\nconsists of nothing but ::: notes blocks, timing comments, and\nwhitespace, it is now merged into the title slide: the title gets the\ndata-timing attribute and the notes, the phantom slide disappears, and\nslide_timing() reports the title time as \"(title)\".\n\nChange-Id: I984e924c467c4e15905b97c128c380887132f09d\n"
    },
    {
      "commit": "b066e74393fc5cbfbdb5dac57471b294499f28d9",
      "tree": "8054db96b92aa7728eeb8b65016e699a6a4710b6",
      "parents": [
        "03dbc5d9489d674c37dd10fedd284d5948e9d9ae"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 23 09:57:06 2026 +0300"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Aug 23 09:57:06 2026 +0300"
      },
      "message": "slide timing: per-speaker timing comments activate speaker view pacing\n\nPort the Google-Docs slide workflow convention: timing comments like\n\u003c!-- JD 00:30 --\u003e (speaker code plus MM:SS/HH:MM:SS/seconds duration, or\njust \u003c!-- 00:30 --\u003e for single-speaker talks) are converted into\ndata-timing attributes on the rendered slides\u0027 \u003csection\u003e elements, and\nthe calculated grand total is passed to reveal.js as the totalTime\nconfig value, activating the pacing timer in the speaker view. A\ndocument-supplied totalTime or defaultTiming takes precedence.\n\nA per-speaker time summary is printed during rendering; the new\nslide_timing() function computes slide, speaker, and grand totals\ndirectly from an .Rmd source file without rendering it.\n\nChange-Id: I89d37baab06c6ee8be7ab777a70b9b21295c8780\n"
    }
  ]
}
