Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions profile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,20 @@ Please let us know how can we improve it! Please raise GitHub Issues in the [Doc
Contributors who have supported and advanced the BHoM.

<table cellpadding="4" cellspacing="0">
<colgroup>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
<col width="55"/>
</colgroup>
<tr>
<td align="center" valign="top" width="55">
<a href="https://github.com/polnischfrosch" title="@polnischfrosch"><img src="https://github.com/polnischfrosch.png?size=45" width="45" height="45" style="border-radius: 50%" /><br/><sub><b>AaronWagner</b></sub></a>
Expand Down
4 changes: 4 additions & 0 deletions scripts/generate_wall_of_honour.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,16 @@ def render_wall(
else:
stats = f"{contributors_part}. Last updated {last_updated}."

colgroup_lines = "\n".join(f" <col width=\"{CELL_WIDTH}\"/>" for _ in range(GRID_COLS))
colgroup = " <colgroup>\n" + colgroup_lines + "\n </colgroup>"

return (
"<!-- WALL:START -->\n\n"
"---\n\n"
"<div align=\"center\">\n\n"
f"{INTRO_TEXT}\n\n"
"<table cellpadding=\"4\" cellspacing=\"0\">\n"
+ colgroup + "\n"
+ "\n".join(rows)
+ "\n</table>\n\n"
f"{stats}\n\n"
Expand Down
9 changes: 9 additions & 0 deletions scripts/tests/test_generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,15 @@ def test_render_wall_uses_valign_top():
assert "valign=\"top\"" in md


def test_render_wall_uses_colgroup_for_uniform_column_widths():
# colgroup gives GitHub's table renderer authoritative column widths,
# preventing content-based auto-sizing that produces uneven cell widths.
contributors = {"alice": {"avatar_url": "x", "contributions": 1, "name": "Alice"}}
md = render_wall(contributors, "2026-06-08")
assert "<colgroup>" in md
assert md.count("<col width=\"55\"/>") == 12 # one <col> per GRID_COLS


def test_render_wall_sort_is_case_insensitive_and_unicode():
contributors = {
"zoe": {"avatar_url": "z", "contributions": 1, "name": "Zoe"},
Expand Down