Team: give every member a shareable permalink and a GitHub link - #905
Merged
Conversation
Members had no way to link to themselves on /team. Each PMC and committer
row now carries id="<apacheId>", and the name is the permalink: /team/#wusheng
scrolls to that person and holds a highlight while the hash does. Clicking a
name copies the absolute URL; clicking the row selects it without copying —
the same hook the docs and downloads cards already use.
The name doubles as the hook rather than a separate icon button because a
reserved icon slot cost enough row width to wrap the longest name onto two
lines. The chain glyph and the copied toast are both absolutely positioned,
so the idle page renders pixel-for-pixel as it did before.
Also adds a GitHub icon beside the existing Twitter one, for the 43 of 61
members whose handle could be established from evidence:
- commits authored under <apacheId>@apache.org, taking the login GitHub
itself resolved the address to
- login equal to the apacheId or to the twitter handle already on file,
confirmed by that account having commits in a SkyWalking repo
- a profile name matching the roster name, cross-checked the same way
The remaining 18 have no github: key and render no icon; nothing was guessed.
There is no public ASF-to-GitHub mapping to lean on, so anything unverifiable
was left out rather than risk pointing at a stranger's profile.
The second icon initially wrapped the longest name, so the row internals are
tightened (meta gap 8->5px, apacheId 11->10px, padding 12->10px) and the hook
is 11px. All 61 rows stay a uniform 42px and the tightest row clears the hook
by 5px; that budget is noted in the SCSS.
Fixes a pre-existing bug in the shared hook while here: it called
history.replaceState before setting location.hash. replaceState rewrites the
URL without moving the document's target element, leaving the assignment with
nothing to change, so :target never applied and clicking a card on /downloads
or /docs copied the right link but highlighted nothing. Landing on a URL that
already carried the hash was always fine; only the in-page click path broke.
❌ Deploy Preview for skywalking-website-preview failed.
|
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.
Permalinks
Members had no way to link to themselves on
/team. Every PMC and committer row now carriesid="<apacheId>", and the name is the permalink:/team/#wushengscrolls to that person and highlights the row (ring, tint, blue name) for as long as the hash holds.That is the same
partials/card-permalink.htmlhook the docs and downloads cards already use — the team page just loads it now.The name doubles as the hook rather than getting a separate icon button: a reserved icon slot cost enough row width to wrap the longest name onto two lines. The chain glyph and the toast are both absolutely positioned, so the idle page renders pixel-for-pixel as it did before (verified by diffing full-page screenshots).
GitHub links
Adds a GitHub icon beside the existing Twitter one, for 43 of 61 members. There is no public ASF-to-GitHub mapping (Whimsy's public datasets don't carry it; gitbox needs auth), so every handle was derived from evidence and only accepted on a hard signal:
commits?author=<apacheId>@apache.orgon the ASF repos, taking the login GitHub itself resolved the address to. Also personal commit emails where the git author name matched the roster name exactly.login == apacheId, orlogin ==the twitter handle already on file — confirmed by that account actually having commits in a SkyWalking repo.The remaining 18 have no
github:key and render no icon. Nothing was guessed. Anything unverifiable was left out rather than risk pointing at a stranger's profile:Adding
github: <handle>to their line indata/committee.ymlis all that's needed — the template picks it up. Two plausible-but-rejected:ilucky → IluckySiandaderm → adermxzslook derived from the Apache IDs, but neither account has SkyWalking commits or a matching profile name. Note also that GitHub'slinjiaqiis 林佳奇, different characters from committer 林嘉琦.Row layout
The second icon initially wrapped the longest name ("Sheng Wu (Project V.P.)", carrying both icons) onto two lines, which made its whole grid band taller. Reclaimed by tightening the row internals — meta gap 8→5px, apacheId 11→10px, row padding 12→10px — and sizing the hook at 11px. All 61 rows stay a uniform 42px, and the tightest row clears the hook by 5px. That budget is noted in the SCSS so a longer name added later doesn't silently collide.
Drive-by fix to the shared hook
card-permalink.htmlcalledhistory.replaceStatebefore settinglocation.hash.replaceStaterewrites the URL without moving the document's target element, so the follow-up assignment had nothing left to change and:targetnever applied — clicking a card on /downloads or /docs copied the right link but highlighted nothing. Landing on a URL that already carried the hash was always fine; only the in-page click path was broken. Driving a real browser confirmed it was broken on both pages before and works after.Verification
Built with Hugo and driven headless: click copies the correct absolute URL,
:targetapplies, a repeat click re-asserts it, row-body clicks select without copying, and /downloads + /docs now highlight on click. Row geometry measured across all 61 rows for wrapping and hook/ID collisions. Checked at 1440px and 414px.