slides: add PR sidebar tour deck (10 slides, animated pointer)#6
Open
ShmuelMax100 wants to merge 1 commit intomainfrom
Open
slides: add PR sidebar tour deck (10 slides, animated pointer)#6ShmuelMax100 wants to merge 1 commit intomainfrom
ShmuelMax100 wants to merge 1 commit intomainfrom
Conversation
Mirrors the SecuriThings-deck tour pattern (slides 5-22): full-bleed PR screenshot, animated finger pointing at one section per slide, bottom caption strip with section name + one-line description. Slides cover: Conversation, Commits, Checks, Files changed, Reviewers, Assignees, Labels, Projects, Milestone, Development. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
45e9e8c to
834d2bf
Compare
There was a problem hiding this comment.
Pull request overview
Adds a new presentation asset and generator for a 10-slide GitHub PR UI tour, intended to mirror the styling of the existing workshop deck and highlight key PR tabs/sidebar sections.
Changes:
- Adds a new Python builder that generates a dedicated
github-pr-tour.pptxdeck from a static PR screenshot. - Adds the source screenshot used as the shared full-bleed visual across all slides.
- Produces a rendered PowerPoint deck covering PR tabs and sidebar metadata sections.
Reviewed changes
Copilot reviewed 1 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
resources/presentation/build_pr_tour.py |
New generator script for the PR-tour deck, including slide layout, pointer placement, and caption rendering. |
resources/presentation/github-pr-ui.png |
Source screenshot used as the visual base for every slide. |
resources/presentation/github-pr-tour.pptx |
Rendered deck output referenced in PR metadata; binary content was not included in the provided diff context, so it could not be directly inspected. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+124
to
+154
| def add_emoji(slide, x: int, y: int, glyph: str = "👆") -> None: | ||
| """Add an emoji textbox with soft drop-shadow at the given EMU position.""" | ||
| tx = slide.shapes.add_textbox(Emu(x), Emu(y), Emu(EMOJI_W), Emu(EMOJI_H)) | ||
| tf = tx.text_frame | ||
| tf.margin_left = Emu(0) | ||
| tf.margin_right = Emu(0) | ||
| tf.margin_top = Emu(0) | ||
| tf.margin_bottom = Emu(0) | ||
| p = tf.paragraphs[0] | ||
| from pptx.enum.text import PP_ALIGN | ||
| p.alignment = PP_ALIGN.CENTER | ||
| run = p.add_run() | ||
| run.text = glyph | ||
| run.font.name = "Segoe UI Emoji" | ||
| run.font.size = Pt(EMOJI_FONT_PT) | ||
| run.font.color.rgb = RGBColor(0x00, 0x00, 0x00) | ||
|
|
||
| bodyPr = tf._txBody.find(qn("a:bodyPr")) | ||
| bodyPr.set("anchor", "ctr") | ||
|
|
||
| spPr = tx._element.find(qn("p:spPr")) | ||
| for el in spPr.findall(qn("a:effectLst")): | ||
| spPr.remove(el) | ||
| effect_xml = ( | ||
| f'<a:effectLst xmlns:a="{A_NS}">' | ||
| f' <a:outerShdw blurRad="76200" dist="25400" dir="5400000" algn="bl" rotWithShape="0">' | ||
| f' <a:srgbClr val="000000"><a:alpha val="70000"/></a:srgbClr>' | ||
| f' </a:outerShdw>' | ||
| f'</a:effectLst>' | ||
| ) | ||
| spPr.append(etree.fromstring(effect_xml)) |
Comment on lines
+44
to
+50
| # Source image dimensions in pixels (the cropped PR screenshot) | ||
| SRC_PX_W = 1920 | ||
| SRC_PX_H = 920 | ||
|
|
||
| # EMU per pixel in the placed image | ||
| PX2EMU_X = IMG_W / SRC_PX_W # 4762.5 | ||
| PX2EMU_Y = IMG_H / SRC_PX_H # 4780.7 |
Comment on lines
+221
to
+222
| for name, desc, glyph, kind, a, b in TOUR: | ||
| build_slide(prs, name, desc, glyph, kind, a, b) |
| GitHub-Workshop-SecuriThings.pptx): | ||
| - dark #0D1117 background | ||
| - full-bleed top image (PR page screenshot, 10" x 4.81") | ||
| - 👆 emoji (Segoe UI Emoji, 44pt, soft shadow) anchored under the target |
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.
What
A standalone 10-slide deck (
resources/presentation/github-pr-tour.pptx) that walks through every section of a GitHub Pull Request page — Conversation, Commits, Checks, Files changed, Reviewers, Assignees, Labels, Projects, Milestone, Development.Mirrors the visual pattern from the SecuriThings workshop deck slides 5-22: full-bleed PR screenshot, dark
#0D1117background, animated finger emoji pointing at one UI element per slide, bottom caption strip with the section name in orange and a one-line description.Files
resources/presentation/github-pr-tour.pptx— the rendered 10-slide deckresources/presentation/build_pr_tour.py— the builder (python-pptx + raw XML for shadow + 16:9 layout)resources/presentation/github-pr-ui.png— the 1920x920 PR screenshot used as the full-bleed image on every slideHow to use
Drop the slides into your workshop deck after the repo-tour section, or present standalone.