Repository navigation
Add speaker notes viewer and how-it-works docs - #2
Merged
Merged
Conversation
akceo viewer writes md-viewer.html, a self-contained Markdown viewer for reading speaker notes in a second browser tab while only the deck tab is shared in a call. In Chrome and Edge it watches the notes file and re-renders on save, keeping the scroll position; this works when the page is opened straight from disk. The viewer comes from the Omnis Actual repo, reviewed for reuse: opening and dropping a file both watch it, a lost file is reported, unsafe link targets are rejected, links may contain parentheses, lists nest, and images render. The demo gains example speaker notes. New docs cover the notes setup and how Akceo works in plain terms, from the user's side and under the hood, with Mermaid diagrams. A test guards the packaged assets against raw control characters, which break the viewer's script.
There was a problem hiding this comment.
🟡 Changes recommended
Asynchronous file reads can race and leave the viewer displaying an older file after a newer one is selected.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a standalone speaker-notes viewer and supporting documentation.
Changes:
- Adds the
akceo viewercommand and self-contained Markdown viewer. - Adds speaker notes guidance, architecture documentation, and demo notes.
- Adds CLI and asset-safety tests.
File summaries
| File | Description |
|---|---|
src/akceo/cli.py |
Adds viewer generation. |
src/akceo/assets/md-viewer.html |
Implements Markdown rendering and live refresh. |
tests/test_cli.py |
Tests viewer output and asset safety. |
README.md |
Introduces notes and architecture docs. |
docs/speaker-notes.md |
Documents speaker-notes setup. |
docs/how-it-works.md |
Documents architecture and workflows. |
examples/demo/speaker-notes.md |
Adds demo notes. |
CLAUDE.md |
Updates repository guidance. |
CHANGELOG.md |
Records the new features. |
Review details
- Files reviewed: 9/9 changed files
- Comments generated: 4
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Reads in the notes viewer could finish out of order and render an older file over a newer selection. Each open now bumps a generation that every read rechecks before rendering, and only one poll runs at a time. The status line is a live region for screen readers. The docs no longer promise a line number on every error or full Markdown support in the viewer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds private speaker notes to Akceo and a detailed explanation of how it works.
akceo viewerwritesmd-viewer.html, a self-contained Markdown viewer. Open your deck in one tab and your notes in the viewer in another, put them side by side with Chrome's split view, and share only the deck tab in Meet or Zoom.docs/speaker-notes.mdcovers the setup.docs/how-it-works.mdexplains Akceo in plain terms, from the user's side, and under the hood, with Mermaid diagrams.examples/demo/speaker-notes.mdhas notes for the demo's seven slides.Viewer changes from the Omnis Actual copy
http(s),mailtoand relative URLs, with quotes escaped, sojavascript:links and attribute injection don't workhttp(s),data:image/and relative sources)Testing
uv run pytest: 73 tests, including theviewercommand and a guard against raw control characters in the packaged assets (a raw NUL in a JavaScript regex breaks the whole viewer script)