This is an automated email from the ASF dual-hosted git repository. rzo1 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/storm-site.git
commit c999f2318ad2cb83d1aa228dfdeb4405e3c04a84 Author: Richard Zowalla <[email protected]> AuthorDate: Thu May 7 12:06:50 2026 +0200 Refine team page: alphabetical order, P/C abbreviations, drop avatar Active and emeritus lists are now sorted alphabetically. Roles use single-letter badges (P = PMC member, C = Committer) plus a Chair badge for the current PMC chair, with a legend on the page. Emeritus entries get both P and C, since LDAP membership implies committer. The initial-letter avatar bubble is removed. Long names wrap freely. GitHub links render only when an upstream mapping is available; ASF email and availid are no longer shown on cards. --- _plugins/team.rb | 11 +++-------- css/style.css | 53 +++++++++++++++++++++-------------------------------- team.md | 37 +++++++++++++++++++++---------------- 3 files changed, 45 insertions(+), 56 deletions(-) diff --git a/_plugins/team.rb b/_plugins/team.rb index 2e8ffbf29d..41e5d8775a 100644 --- a/_plugins/team.rb +++ b/_plugins/team.rb @@ -64,14 +64,14 @@ module StormTeam end { 'apache_id' => aid, - 'name' => person['name'] || aid, - 'github' => person['github'] || aid, + 'name' => person['name'] || aid, + 'github' => person['github'], 'role' => role, 'active' => (aid == chair_id) || active_set.include?(aid), } end - site.data['team_active'] = records.select { |r| r['active'] }.sort_by { |r| active_sort_key(r) } + site.data['team_active'] = records.select { |r| r['active'] }.sort_by { |r| r['name'].to_s.downcase } site.data['team_emeritus'] = records.reject { |r| r['active'] }.sort_by { |r| r['name'].to_s.downcase } Jekyll.logger.info 'StormTeam:', @@ -80,11 +80,6 @@ module StormTeam private - def active_sort_key(record) - rank = { 'chair' => 0, 'pmc' => 1, 'committer' => 2 }[record['role']] || 3 - [rank, record['name'].to_s.downcase] - end - def fetch_committee data = fetch_json(WHIMSY_PROJECTS_URL) data && data.dig('projects', PROJECT_NAME) diff --git a/css/style.css b/css/style.css index b0ddd60087..ccc451278d 100644 --- a/css/style.css +++ b/css/style.css @@ -855,10 +855,14 @@ footer hr { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; } +.team-legend { + margin: 0 0 22px; + color: #555; + font-size: 13px; + line-height: 1.9; +} +.team-legend .role-badge { margin-right: 4px; } .team-card { - display: flex; - align-items: center; - gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid #e2e6ea; @@ -869,40 +873,28 @@ footer hr { box-shadow: 0 4px 14px rgba(35, 86, 147, 0.10); border-color: #c8d3df; } -.team-avatar { - flex: 0 0 48px; - width: 48px; - height: 48px; - border-radius: 50%; - background: linear-gradient(135deg, #328fbf, #235693); - color: #fff; - font-weight: 700; - font-size: 20px; - display: flex; - align-items: center; - justify-content: center; - text-transform: uppercase; -} -.team-card--active .team-avatar { background: linear-gradient(135deg, #32bf61, #235693); } -.team-meta { min-width: 0; flex: 1; } .team-name { - margin: 0 0 4px; + margin: 0 0 6px; font-weight: 700; font-size: 15px; + line-height: 1.3; color: #222; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; + overflow-wrap: break-word; + word-break: break-word; + hyphens: auto; } -.team-roles { margin: 0 0 4px; line-height: 1; } +.team-roles { margin: 0 0 6px; line-height: 1.6; } .role-badge { display: inline-block; + min-width: 18px; padding: 2px 7px; margin-right: 4px; font-size: 11px; font-weight: 700; + line-height: 1.3; letter-spacing: 0.4px; text-transform: uppercase; + text-align: center; border-radius: 3px; color: #fff; vertical-align: middle; @@ -910,18 +902,16 @@ footer hr { .role-chair { background: #c75a26; } .role-pmc { background: #235693; } .role-committer { background: #4a90a4; } -.role-badge--sm { padding: 1px 5px; font-size: 10px; } +.role-badge--sm { padding: 1px 5px; font-size: 10px; min-width: 14px; } .team-links { margin: 0; font-size: 13px; color: #666; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; + overflow-wrap: break-word; + word-break: break-word; } .team-links a { color: #235693; font-weight: 600; } .team-links a:hover { color: #328fbf; } -.team-availid { color: #999; font-size: 12px; } .team-emeritus-intro { color: #555; @@ -940,9 +930,8 @@ footer hr { .team-emeritus-list li { padding: 4px 0; color: #444; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; + overflow-wrap: break-word; + word-break: break-word; } .team-emeritus-list a { color: #235693; } .team-emeritus-list a:hover { color: #328fbf; } diff --git a/team.md b/team.md index 9c4c082e06..5d9838377e 100644 --- a/team.md +++ b/team.md @@ -17,23 +17,28 @@ description: The PMC, committers, and contributors behind Apache Storm. <section class="team-section"> <h2 id="active">Active team</h2> + <p class="team-legend"> + <span class="role-badge role-chair">Chair</span> Current PMC chair + · + <span class="role-badge role-pmc">P</span> PMC member + · + <span class="role-badge role-committer">C</span> Committer + </p> {% if site.data.team_active and site.data.team_active.size > 0 %} <ul class="team-grid"> {% for m in site.data.team_active %} <li class="team-card team-card--active"> - <div class="team-avatar" aria-hidden="true">{{ m.name | slice: 0, 1 | upcase }}</div> - <div class="team-meta"> - <p class="team-name">{{ m.name }}</p> - <p class="team-roles"> - {% if m.role == 'chair' %}<span class="role-badge role-chair" title="PMC Chair">Chair</span>{% endif %} - {% if m.role == 'pmc' or m.role == 'chair' %}<span class="role-badge role-pmc" title="PMC member">PMC</span>{% endif %} - <span class="role-badge role-committer" title="Committer">Committer</span> - </p> - <p class="team-links"> - <a href="https://github.com/{{ m.github }}" rel="noopener" target="_blank">@{{ m.github }}</a> - <span class="team-availid">ยท {{ m.apache_id }}@apache.org</span> - </p> - </div> + <p class="team-name">{{ m.name }}</p> + <p class="team-roles"> + {% if m.role == 'chair' %}<span class="role-badge role-chair" title="PMC Chair">Chair</span>{% endif %} + {% if m.role == 'pmc' or m.role == 'chair' %}<span class="role-badge role-pmc" title="PMC member">P</span>{% endif %} + <span class="role-badge role-committer" title="Committer">C</span> + </p> + {% if m.github %} + <p class="team-links"> + <a href="https://github.com/{{ m.github }}" rel="noopener" target="_blank">@{{ m.github }}</a> + </p> + {% endif %} </li> {% endfor %} </ul> @@ -53,9 +58,9 @@ description: The PMC, committers, and contributors behind Apache Storm. <ul class="team-emeritus-list"> {% for m in site.data.team_emeritus %} <li> - <a href="https://github.com/{{ m.github }}" rel="noopener" target="_blank">{{ m.name }}</a> - {% if m.role == 'pmc' %}<span class="role-badge role-pmc role-badge--sm">PMC</span>{% endif %} - <span class="team-availid">({{ m.apache_id }})</span> + {% if m.github %}<a href="https://github.com/{{ m.github }}" rel="noopener" target="_blank">{{ m.name }}</a>{% else %}{{ m.name }}{% endif %} + {% if m.role == 'pmc' %}<span class="role-badge role-pmc role-badge--sm" title="PMC member">P</span>{% endif %} + <span class="role-badge role-committer role-badge--sm" title="Committer">C</span> </li> {% endfor %} </ul>
