π‘ Idea 5: PortalPresenter β Turn Learning Docs into Presentations¶
| Field | Detail |
|---|---|
| Priority | π Important |
| Status | β Complete |
| Category | π Learning / πΌ Official / π¬ Content |
| Date added | 2026-03-29 |
| Source | Copilot CLI brainstorm session |
What Is PortalPresenter? (The Simple Version)¶
β Cloud CafΓ© analogy: Imagine your cafΓ© has a beautiful printed menu (the learning portal). Every time you do a cooking class or VIP tasting event, you've been making separate handwritten cards to explain each dish. PortalPresenter turns your printed menu INTO the cooking class β just press a button and each menu section becomes a beautiful display card, while your private notes appear on a screen only you can see.
PortalPresenter transforms the learning portal (learn.aguidetocloud.com) into a full presentation tool β replacing PowerPoint for both YouTube video recordings and customer enablement sessions.
No more:
- β Creating PowerPoint slides from scratch
- β Alt+Tabbing between apps during recordings
- β Inconsistent branding between docs and slides
- β Duplicating content that already exists in the portal
The Problem It Solves¶
Current Workflow (Painful)¶
Record demo β Alt+Tab to PowerPoint β Show 2-3 slides β Alt+Tab back β Resume demo
β β
Manually created Edit out messy
slides (time-consuming) transitions in post
New Workflow (PortalPresenter)¶
Record demo β Press 'P' key β Portal enters Presentation Mode β Navigate slides
β β
Content already Arrow keys +
exists in docs smooth transitions
Core Features (v1)¶
1. Presentation Mode¶
| Feature | Detail |
|---|---|
| Enter mode | Button on page + keyboard shortcut (P) |
| Slide splitting | Auto-split by H2 and H3 headings |
| Large sections | Auto-split across multiple slides (no cramming) |
| Transitions | Clean fade between slides |
| Navigation | Arrow keys + keyboard shortcuts |
| Exit | Esc key |
2. Slide Picker / Overview¶
- Grid of slide thumbnails before presenting
- Check/uncheck slides to include or skip
- Creative freedom to curate the flow per session
- Different selections for different audiences
3. Lightbox Pop-out¶
- Click ANY element to pop it full-screen with dimmed background
- Works for: images, tables, code blocks, diagrams, bullet points, admonitions
- Works both in presentation mode AND normal browsing
- Close with Esc or click outside
4. Presenter View (Dual Screen)¶
| Screen | What's Shown |
|---|---|
| Screen 1 (audience) | Clean slide β visuals only, no progress indicator |
| Screen 2 (presenter) | Current slide + speaker notes + next slide preview + timer |
5. Auto-Generated Speaker Notes¶
- Visuals (diagrams, tables, code, bullet points) stay on the SLIDE
- Explanatory paragraphs automatically move to SPEAKER NOTES
- No manual note-writing needed β content already exists in the docs
- Presenter reads notes on Screen 2, audience sees clean visuals on Screen 1
6. Auto-Generated Title Slide¶
- Generated from page title + portal branding
- Helps start each topic on video with a branded intro
- Uses the retro terminal theme / clean theme (TBD)
7. Interactive Mermaid Diagrams¶
- Live rendering in slides (not static images)
- Zoom and pan during presentation
- Perfect for explaining complex architecture to customers
8. Annotation Tools¶
- Laser pointer: Red dot follows mouse cursor
- Drawing tools: Draw circles, arrows, highlight areas over slides
- Toggle on/off with keyboard shortcut
- Clear annotations between slides
9. Offline Support¶
- Cache/download presentation for offline use
- Critical for customer sites with spotty WiFi
- All assets (images, diagrams, fonts) bundled
10. PDF Export¶
- Export static slides as PDF
- Share with customers after enablement sessions
- "Here are the slides we discussed" follow-up
Theme Options¶
Will prototype BOTH and let Sutheesh decide:
| Option | Description |
|---|---|
| Retro Terminal | Green-on-dark, terminal fonts, scanlines β full brand identity |
| Clean Minimal | Same content, cleaner typography, white/dark background β max readability |
Keyboard Shortcuts (Presentation Mode)¶
| Key | Action |
|---|---|
P |
Enter presentation mode |
β / β |
Previous / next slide |
Space |
Next (same as β) |
Esc |
Exit (priority: lightbox β picker β annotations β exit) |
O |
Slide picker / overview grid |
S |
Toggle speaker notes / presenter view |
F |
Toggle fullscreen |
L |
Toggle laser pointer |
D |
Toggle draw mode (shows toolbar: freehand, arrow, rect, circle, eraser, colors) |
E |
Toggle eraser (while in draw mode) |
C |
Clear annotations on current slide |
W |
Toggle whiteboard / blackboard canvas |
X |
Export presentation as PDF |
Home/End |
Jump to first/last slide |
Page Eligibility¶
- All pages presentable by default
- Exclude specific pages using frontmatter:
Pages to exclude: Task Board, Progress Tracker, Idea Vault index
Architecture (How It Works)¶
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LEARNING PORTAL (MkDocs) β
β β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β β Normal Mode β β Presentation β β Presenter View β β
β β (browsing) βββββΊβ Mode βββββΊβ (2nd screen) β β
β βββββββββββββββ ββββββββ¬ββββββββ ββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββ β
β β Custom JavaScript Layer β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Slide β β Lightbox β β Annotate β β Export β β β
β β β Splitter β β Engine β β Tools β β (PDF) β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Note β β Slide β β Offline β β Diagram β β β
β β βGenerator β β Picker β β Cache β β Zoom β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β MkDocs Material Theme + Plugins β β
β β (glightbox, mermaid, custom CSS/JS extensions) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Technology Considerations¶
| Component | Options |
|---|---|
| Slide engine | Custom JS (no external framework) |
| Lightbox | Custom overlay with fit-content sizing |
| Presenter view | Window.open() to 2nd screen + BroadcastChannel API |
| Annotations | Canvas overlay + toolbar (freehand, arrow, rect, circle, eraser, 6 colors) |
| PDF export | window.print() β no external library, respects picker selections |
| Offline | Service Worker (network-first caching strategy) |
| Diagram zoom | Custom pan/zoom (wheel + drag + pinch, no external library) |
v2 Features (Later)¶
| Feature | Description |
|---|---|
| Customer branding | Add customer logo to title slide ("Prepared for Contoso Ltd") |
| Phone remote | QR code link to control slides from phone |
| Slide templates | Pre-defined layouts (comparison, timeline, diagram-focus) |
| Recording integration | Built-in screen recording from the portal |
Use Cases¶
- YouTube Videos: Record demos, press P to present a concept, resume demo β all in one app
- Customer Enablement: Present from the portal with branded slides, share PDF after
- Internal Training: Use the same content for team enablement at Microsoft
- Conference Talks: Full presentation tool with offline support
Success Criteria¶
- [x] Can enter/exit presentation mode on any doc page
- [x] Slides auto-split cleanly by headings
- [x] Speaker notes auto-generated from content (with contextual coaching)
- [x] Presenter view works on second screen (BroadcastChannel)
- [x] Lightbox pop-out works for all content elements
- [x] Clean fade transitions between slides
- [x] Slide picker/overview with element-level toggle
- [x] Laser pointer and drawing tools (freehand, arrow, rect, circle, eraser, colors)
- [x] Whiteboard/blackboard canvas for free explaining
- [x] Offline mode works reliably (Service Worker)
- [x] PDF export produces clean static slides
- [x] Mermaid diagrams enabled and zoomable/pannable
- [x] Retro neon theme applied throughout
π¬ PortalPresenter User Guide¶
Every page on this site can become a full-screen presentation β no PowerPoint needed. Here's how to use it.
Quick Start¶
- Open any learning page
- Click the βΆ Present button (bottom-right corner) or press P
- Use β arrow to advance (reveals content step-by-step)
- Press Esc to exit
Keyboard Shortcuts¶
| Key | Action |
|---|---|
| P | Enter presentation mode |
| β / Space | Next fragment or slide |
| β | Previous slide |
| Home | Jump to first slide |
| End | Jump to last slide |
| F | Toggle fullscreen |
| O | Slide overview / picker |
| S | Open speaker notes (2nd screen) |
| L | Laser pointer |
| D | Drawing mode |
| W | Whiteboard / blackboard |
| E | Eraser |
| C | Clear annotations |
| X | Export to PDF |
| Esc | Exit (closes active tool first) |
Features¶
π§© Build-Up Animations¶
Content reveals one element at a time β tables build row-by-row, lists appear step-by-step. This keeps your audience focused on what you're explaining right now.
π Click to Zoom¶
Click any table, code block, diagram, or tip box to pop it out full-screen. Perfect for zooming into details during a live session. Press Esc or click outside to close.
π Slide Picker¶
Press O to see all slides as a grid. You can:
- Skip slides β uncheck the box to hide them
- Toggle elements β click βοΈ to show/hide individual elements per slide
- Jump β click any slide card to jump directly to it
ποΈ Annotations¶
While presenting, press D to draw freehand, or use the toolbar for arrows, rectangles, and circles. Pick from 6 colours. Drawings persist per slide.
π Whiteboard¶
Press W to open a blank canvas for freehand explanations. Toggle between a dark blackboard and light whiteboard with the π button.
π€ Presenter View¶
Press S to open a second window with:
- Current slide preview
- Speaker notes (auto-generated from page content)
- Next slide preview
- Elapsed timer
Drag this window to your second monitor for a classic presenter setup.
π PDF Export¶
Press X to export your presentation as a PDF. It respects any slides you've skipped or elements you've hidden via the picker.
π’ Customer Branding¶
Page authors can add a client name to the title slide by adding this to the page frontmatter:
The title slide will then show "Prepared for Contoso Ltd".
Touch / Mobile¶
Swipe left or right to navigate slides on touch devices.
Tips¶
Best pages for presenting
Pages with headings (H2/H3), tables, code blocks, and admonitions create the best slides. The engine splits content automatically at each heading.
Practice with the picker
Before a session, press O to review all slides. Skip anything you don't need and customise the flow for your audience.