Wordmark: room for the whole DHCP circle

The rule's circle reached below the wordmark's box, cutting it off in the
README banner and on the login page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
abrown38andClaude Opus 5.5 committed 2026-10-14 12:29:44 +01:00
1 parent fbad6ef3c4
commit db3f245962
3 files changed
+4 -4

No files matched your search

+2 -2
View File
@@ -1,6 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 556 380.6" role="img" aria-label="Steward"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 556 394.6" role="img" aria-label="Steward">
<!-- Generated by scripts/banner.py from internal/web/static/assets/logo.js and brand.js. --> <!-- Generated by scripts/banner.py from internal/web/static/assets/logo.js and brand.js. -->
<title>Steward</title><style>.t{fill:#1d2330}.a{fill:#2f5fb3}.l{fill:none;stroke:#2f5fb3;stroke-width:2.6}.g{fill:#2f5fb3;font:700 17px system-ui,sans-serif;letter-spacing:.5px}@media (prefers-color-scheme:dark){.t{fill:#e3e7ee}.a,.g{fill:#6d9be8}.l{stroke:#6d9be8}}</style> <title>Steward</title><style>.t{fill:#1d2330}.a{fill:#2f5fb3}.l{fill:none;stroke:#2f5fb3;stroke-width:2.6}.g{fill:#2f5fb3;font:700 17px system-ui,sans-serif;letter-spacing:.5px}@media (prefers-color-scheme:dark){.t{fill:#e3e7ee}.a,.g{fill:#6d9be8}.l{stroke:#6d9be8}}</style>
<svg x="178.3" width="199.4" height="199.4" viewBox="30 22 940 940"><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M452 540 V890 L478 940 H522 L548 890 V540 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M548 690 H688 V742 H640 V782 H712 V832 H664 V890 H548 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M420 450 H580 L606 498 L580 546 H420 L394 498 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M305 490 L245 135 L382 238 L500 45 L618 238 L755 135 L695 490 Q500 445 305 490 Z"/><path d="M287 418 Q500 368 713 418" stroke="#1d5287" stroke-width="22" fill="none"/><path stroke="#1d5287" stroke-width="22" fill="none" d="M500 200 V258 M463 312 L414 334 M537 312 L586 334"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="500" cy="170" r="30"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="390" cy="344" r="27"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="610" cy="344" r="27"/><circle cx="500" cy="296" r="40" fill="#1d5287"/></svg> <svg x="178.3" width="199.4" height="199.4" viewBox="30 22 940 940"><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M452 540 V890 L478 940 H522 L548 890 V540 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M548 690 H688 V742 H640 V782 H712 V832 H664 V890 H548 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M420 450 H580 L606 498 L580 546 H420 L394 498 Z"/><path fill="#fff" stroke="#1d5287" stroke-width="26" stroke-linejoin="miter" d="M305 490 L245 135 L382 238 L500 45 L618 238 L755 135 L695 490 Q500 445 305 490 Z"/><path d="M287 418 Q500 368 713 418" stroke="#1d5287" stroke-width="22" fill="none"/><path stroke="#1d5287" stroke-width="22" fill="none" d="M500 200 V258 M463 312 L414 334 M537 312 L586 334"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="500" cy="170" r="30"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="390" cy="344" r="27"/><circle stroke="#1d5287" stroke-width="22" fill="#fff" cx="610" cy="344" r="27"/><circle cx="500" cy="296" r="40" fill="#1d5287"/></svg>
<svg y="218.6" width="556" height="162" viewBox="-4 -4 556 162"><g class="t" fill-rule="evenodd"><path transform="translate(0 0)" d="M10 0 H54 L58 30 L40 16 H18 V41 H48 L58 51 V90 L48 100 H4 L0 70 L18 84 H40 V59 H10 L0 49 V10 Z"/><path transform="translate(70 0)" d="M0 0 H70 L66 22 L52 18 H44 V100 H26 V18 H18 L4 22 Z"/><path transform="translate(152 0)" d="M0 0 H52 L56 18 H18 V41 H44 V59 H18 V82 H40 L58 70 L54 100 H0 Z"/><path transform="translate(222 0)" d="M0 0 H18 L28 66 L38 30 H52 L62 66 L72 0 H90 L76 100 H54 L45 66 L36 100 H14 Z"/><path transform="translate(324 0)" d="M35 0 L46 10 L64 90 L70 100 H50 L44 76 L35 62 L26 76 L20 100 H0 L6 90 L24 10 Z M35 26 L41 40 L35 54 L29 40 Z"/><path transform="translate(406 0)" d="M0 0 H48 L60 12 V40 L50 50 L66 100 H46 L34 60 H18 V100 H0 Z M18 14 H41 L46 19 V35 L41 46 H18 Z"/><path transform="translate(484 0)" d="M0 0 H44 L64 20 V80 L44 100 H0 Z M18 16 H38 L46 24 V76 L38 84 H18 Z"/></g><g transform="translate(0 118)"><path class="a" d="M2 18 L214 15.6 V20.4 Z M546 18 L334 15.6 V20.4 Z"/><circle class="l" cx="222" cy="18" r="4.6"/><path class="l" d="M226.6 18 H244 M304 18 H321.4"/><circle class="l" cx="274" cy="18" r="30"/><circle class="l" cx="326" cy="18" r="4.6"/><text class="g" x="274" y="24.5" text-anchor="middle">DHCP</text></g></svg> <svg y="218.6" width="556" height="176" viewBox="-4 -4 556 176"><g class="t" fill-rule="evenodd"><path transform="translate(0 0)" d="M10 0 H54 L58 30 L40 16 H18 V41 H48 L58 51 V90 L48 100 H4 L0 70 L18 84 H40 V59 H10 L0 49 V10 Z"/><path transform="translate(70 0)" d="M0 0 H70 L66 22 L52 18 H44 V100 H26 V18 H18 L4 22 Z"/><path transform="translate(152 0)" d="M0 0 H52 L56 18 H18 V41 H44 V59 H18 V82 H40 L58 70 L54 100 H0 Z"/><path transform="translate(222 0)" d="M0 0 H18 L28 66 L38 30 H52 L62 66 L72 0 H90 L76 100 H54 L45 66 L36 100 H14 Z"/><path transform="translate(324 0)" d="M35 0 L46 10 L64 90 L70 100 H50 L44 76 L35 62 L26 76 L20 100 H0 L6 90 L24 10 Z M35 26 L41 40 L35 54 L29 40 Z"/><path transform="translate(406 0)" d="M0 0 H48 L60 12 V40 L50 50 L66 100 H46 L34 60 H18 V100 H0 Z M18 14 H41 L46 19 V35 L41 46 H18 Z"/><path transform="translate(484 0)" d="M0 0 H44 L64 20 V80 L44 100 H0 Z M18 16 H38 L46 24 V76 L38 84 H18 Z"/></g><g transform="translate(0 118)"><path class="a" d="M2 18 L214 15.6 V20.4 Z M546 18 L334 15.6 V20.4 Z"/><circle class="l" cx="222" cy="18" r="4.6"/><path class="l" d="M226.6 18 H244 M304 18 H321.4"/><circle class="l" cx="274" cy="18" r="30"/><circle class="l" cx="326" cy="18" r="4.6"/><text class="g" x="274" y="24.5" text-anchor="middle">DHCP</text></g></svg>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

+1 -1
View File
@@ -55,7 +55,7 @@ export function wordmark({ rule = true, height, cls = "wordmark" } = {}) {
el("circle", { cx: c, cy: 18, r: 30, class: "line" }), el("circle", { cx: c, cy: 18, r: 30, class: "line" }),
el("circle", { cx: c + 52, cy: 18, r: 4.6, class: "line" }), el("circle", { cx: c + 52, cy: 18, r: 4.6, class: "line" }),
el("text", { x: c, y: 24.5, "text-anchor": "middle", class: "tag" }, "DHCP")); el("text", { x: c, y: 24.5, "text-anchor": "middle", class: "tag" }, "DHCP"));
return el("svg", { class: cls, viewBox: `-4 -4 ${W + 8} 162`, role: "img", "aria-label": "Steward" }, return el("svg", { class: cls, viewBox: `-4 -4 ${W + 8} 176`, role: "img", "aria-label": "Steward" },
el("title", null, "Steward"), letterG, ruleG); el("title", null, "Steward"), letterG, ruleG);
} }
+1 -1
View File
@@ -40,7 +40,7 @@ def main():
# The login page's sizes in pixels (style.css): a 104px logo, 10px above # The login page's sizes in pixels (style.css): a 104px logo, 10px above
# a 290px wordmark whose viewBox is W+8 units wide. # a 290px wordmark whose viewBox is W+8 units wide.
mark_w, mark_h = w + 8, 162 mark_w, mark_h = w + 8, 176
unit = mark_w / 290 unit = mark_w / 290
logo_size, gap = round(104 * unit, 1), round(10 * unit, 1) logo_size, gap = round(104 * unit, 1), round(10 * unit, 1)
height = logo_size + gap + mark_h height = logo_size + gap + mark_h