Use the JARL wordmark in the header and as the README banner

The header now shows the login page's wordmark letters (without the rule)
instead of "Jarl" set in Cinzel, so the bundled Cinzel font, its preload
and its licence stanza in the .deb's copyright file are removed: the web
UI needs no web font.

The README opens with the login page's banner, the logo above the
wordmark (artwork/banner.svg). scripts/banner.py builds it from the web
UI's logo.js and brand.js, with light and dark colors, and logo.py runs
it after tracing the logo.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
abrown38andClaude Opus 5.5 committed 2026-10-08 18:09:41 +00:00
1 parent 0f04dbb4b1
commit 1afed741bf
13 files changed
+135 -144

No files matched your search

+5 -2
View File
@@ -3,11 +3,13 @@
# and white figure on a transparent background), by tracing it into vector
# paths with potrace:
#
# internal/web/static/assets/logo.svg the favicon, and the README's logo
# internal/web/static/assets/logo.svg the favicon
# internal/web/static/assets/logo.js the same paths for the web UI, which
# draws them inline (brand.js), so the
# logo appears together with the page
#
# and then runs scripts/banner.py to rebuild the README's banner.
#
# Both are a few KB, where the PNG is 650 KB. Needs potrace and ImageMagick
# (convert). Run from the repository root after changing the master:
#
@@ -65,7 +67,8 @@ def main():
+ "".join(f' ["{fill}", "{d}"],\n' for fill, d in layers)
+ "];\n")
for name in ("logo.svg", "logo.js"):
print(f"{OUT}/{name}: {os.path.getsize(os.path.join(OUT, name))} bytes")
print(f"{OUT}/{name}: {os.path.getsize(os.path.join(OUT, name))} bytes", flush=True)
subprocess.run([sys.executable, "scripts/banner.py"], check=True)
if __name__ == "__main__":