From ade028aa930406a0f5abcf6e7bb17d1953792af8 Mon Sep 17 00:00:00 2001 From: Artur Shiriev Date: Sun, 28 Jun 2026 20:20:41 +0300 Subject: [PATCH 1/2] brand: org favicon + social card kit A deterministic brand toolchain (brand/build/) generating the org favicon, GitHub/Telegram avatars, and og:image social cards from the approved two-snakes + chevron mark and a Jost wordmark lockup, plus site wiring. - brand/build/: green/cream/gold tokens; a fonttools Jost outliner (wordmark rendered as SVG paths, no font dependency at view time); geometry builders; a renderer emitting SVG + rsvg-rasterized PNG (PNGs skipped if rsvg absent). - Icon: border-reaching snakes (square block head + diagonal-cut tail) around a gold chevron, square full-bleed; one mark for favicon / apple-touch / avatar, plus a padded avatar-circle for circular crops (Telegram). - Social card: MODERN / PYTHON Jost lockup framed by the snakes; cream (primary) and green, 1280x640 og:image and a 640x640 square. - Site: new favicon + og:image (1280x640) wired into mkdocs/overrides. Design spec and plan under docs/superpowers/. Supersedes the snake mark in PR #16; the homepage hero and header logo redesign are deferred. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 3 + brand/README.md | 44 ++ brand/__init__.py | 0 brand/build/__init__.py | 0 brand/build/fonts/Jost-OFL.txt | 93 +++ brand/build/fonts/Jost-Regular.ttf | Bin 0 -> 61020 bytes brand/build/geometry.py | 78 ++ brand/build/render.py | 76 ++ brand/build/text.py | 69 ++ brand/build/tokens.py | 6 + brand/org/apple-touch-icon-180.png | Bin 0 -> 2456 bytes brand/org/apple-touch-icon.svg | 1 + brand/org/avatar-1024.png | Bin 0 -> 14559 bytes brand/org/avatar-circle-1024.png | Bin 0 -> 12223 bytes brand/org/avatar-circle.svg | 1 + brand/org/avatar.svg | 1 + brand/org/favicon-16.png | Bin 0 -> 391 bytes brand/org/favicon-32.png | Bin 0 -> 647 bytes brand/org/favicon-48.png | Bin 0 -> 877 bytes brand/org/favicon.svg | 1 + brand/org/social-card-green.png | Bin 0 -> 24519 bytes brand/org/social-card-green.svg | 1 + brand/org/social-card.png | Bin 0 -> 24632 bytes brand/org/social-card.svg | 1 + brand/org/social-square-green.png | Bin 0 -> 19754 bytes brand/org/social-square-green.svg | 1 + brand/org/social-square.png | Bin 0 -> 19847 bytes brand/org/social-square.svg | 1 + docs/assets/modern-python-favicon.svg | 1 + docs/assets/social-card.png | Bin 22073 -> 24632 bytes .../2026-06-28-org-favicon-social-card.md | 714 ++++++++++++++++++ ...26-06-28-org-favicon-social-card-design.md | 149 ++++ mkdocs.yml | 2 +- overrides/main.html | 4 +- pyproject.toml | 10 + tests/conftest.py | 9 + tests/test_assets.py | 61 ++ tests/test_geometry.py | 53 ++ tests/test_text.py | 26 + tests/test_tokens.py | 17 + uv.lock | 97 ++- 41 files changed, 1516 insertions(+), 4 deletions(-) create mode 100644 brand/README.md create mode 100644 brand/__init__.py create mode 100644 brand/build/__init__.py create mode 100644 brand/build/fonts/Jost-OFL.txt create mode 100644 brand/build/fonts/Jost-Regular.ttf create mode 100644 brand/build/geometry.py create mode 100644 brand/build/render.py create mode 100644 brand/build/text.py create mode 100644 brand/build/tokens.py create mode 100644 brand/org/apple-touch-icon-180.png create mode 100644 brand/org/apple-touch-icon.svg create mode 100644 brand/org/avatar-1024.png create mode 100644 brand/org/avatar-circle-1024.png create mode 100644 brand/org/avatar-circle.svg create mode 100644 brand/org/avatar.svg create mode 100644 brand/org/favicon-16.png create mode 100644 brand/org/favicon-32.png create mode 100644 brand/org/favicon-48.png create mode 100644 brand/org/favicon.svg create mode 100644 brand/org/social-card-green.png create mode 100644 brand/org/social-card-green.svg create mode 100644 brand/org/social-card.png create mode 100644 brand/org/social-card.svg create mode 100644 brand/org/social-square-green.png create mode 100644 brand/org/social-square-green.svg create mode 100644 brand/org/social-square.png create mode 100644 brand/org/social-square.svg create mode 100644 docs/assets/modern-python-favicon.svg create mode 100644 docs/superpowers/plans/2026-06-28-org-favicon-social-card.md create mode 100644 docs/superpowers/specs/2026-06-28-org-favicon-social-card-design.md create mode 100644 tests/conftest.py create mode 100644 tests/test_assets.py create mode 100644 tests/test_geometry.py create mode 100644 tests/test_text.py create mode 100644 tests/test_tokens.py diff --git a/.gitignore b/.gitignore index f83d5a6..13c659f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ .idea site/ .superpowers/ +__pycache__/ +*.pyc +.DS_Store diff --git a/brand/README.md b/brand/README.md new file mode 100644 index 0000000..f383b97 --- /dev/null +++ b/brand/README.md @@ -0,0 +1,44 @@ +# modern-python brand kit + +Source of truth for the org's **favicon** and **social card**. Generated assets +live in `brand/org/`. Regenerate with: + +```bash +uv run python -m brand.build.render +``` + +PNGs require `rsvg-convert` (`brew install librsvg` / `apt install librsvg2-bin`). +Without it the SVGs are still written and PNGs are skipped. + +## Palette + +| Token | Hex | Role | +|-------|-----|------| +| Green ink | `#356852` | snakes/text on cream | +| Green surface | `#2f5e4a` | green backgrounds | +| Gold (light) | `#c98a00` | accent on cream | +| Gold (dark) | `#f0b528` | accent on green | +| Cream | `#f4f1e8` | light surface; light ink on green | + +## Mark + +Two interlocked "snakes" (corner brackets with square heads) as a pinwheel. The +**icon** wraps them around a gold core dot (favicon + avatar). The **wordmark +lockup** pulls them into crop marks framing `MODERN` / `PYTHON` set in **Jost** +(SIL OFL, outlined to paths at build time — see `brand/build/fonts/Jost-OFL.txt`). + +## Outputs (`brand/org/`) + +| File | What | +|------|------| +| `favicon.svg`, `favicon-16/32/48.png` | browser favicon (bold reduction, green) | +| `apple-touch-icon.svg`, `apple-touch-icon-180.png` | iOS home-screen (full-bleed) | +| `avatar.svg`, `avatar-1024.png` | GitHub org picture | +| `social-card.svg` / `.png` | 1280×640 og:image, **cream** (primary) | +| `social-card-green.svg` / `.png` | 1280×640, green alternate | +| `social-square.svg` / `.png`, `social-square-green.*` | 640×640 (Telegram) | + +## Deferred (not in this kit) + +Per-project / per-repo marks, the subfamily system, and any inner glyphs are a +later task. The header nav logo redesign is also a follow-up. diff --git a/brand/__init__.py b/brand/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/brand/build/__init__.py b/brand/build/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/brand/build/fonts/Jost-OFL.txt b/brand/build/fonts/Jost-OFL.txt new file mode 100644 index 0000000..85b6b99 --- /dev/null +++ b/brand/build/fonts/Jost-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Jost Project Authors (https://github.com/indestructible-type) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/brand/build/fonts/Jost-Regular.ttf b/brand/build/fonts/Jost-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7d34250972baa3c38dc9b70f19a76e6c33360798 GIT binary patch literal 61020 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ùVGT7-f~EZ8(}Nq3cTk-{<|8Ar7e)>Dj)~k45(WnD+eK8Y=>6$4!l*6E$)Ic z>264SHS{3fS@bX@nA!9w7TBE)IXlC$AR~L}Uiu~^$NTVFpxFJ$ zD>P%!>|y*D+0%kV`V9Qf;&p+3&%?hPRAfcPBGB(Ge4R*#xsXFYK=>iNOn=8)ME?Lq zaX%$!=~A?`LCcYp%f+Cmttgrcik^j#aiFV5(UlclU5c)`imtd@4w@R9YoMKBXk|W! z^fN(Ym!felXpCJ~(96ul|9Y-Rng(uwe;&_+e?HHLAG#VqSj3Bv7rGjR2sgOE4XsGi zCi-I0*pORsh6kLnmhzx&SqH2V;F1ExC2qwfZp9@9;F4F7=I7v*9K|b^;uW{z6}RFQ zx8fDI;uRO_vQhDh8#N;*e}zB9R(=3fkrwHK+Es2flNOn;c*3iA!Uj*o5F+g|U-5(u zg<~&zXK9@-x)!fX@q}CPfm`u`t*Gu&^mc*T_aLv(+g9{;DSF#zmyd#S&q9yD&^Kth z?uB3IT7Y)>9uO*Q8W*_wi$-5mZGZ#y3R#PhobY~7h1At-2lIdo8T9U=0X3q7_rd6;r~)l)KV19 zRTRxpw6qodauoe?M0GM-jDwgg+-=IfX`HvV-0{pDPFxp~8#4Fk% zYY6OL4io(h?3|8-mZcDJ7O3 str: + """The two border-reaching snakes (block head + diagonal-cut tail) + chevron. + Tail polygon bases overlap the stroke by 2px to avoid a seam.""" + return ( + f'' + f'' + f'' + f'' + f'' + f'' + f'' + ) + + +def icon(*, bg: str, struct: str, gold: str) -> str: + """Full-bleed square icon — favicon, apple-touch, GitHub avatar.""" + return (_SVG_OPEN.format(w=100, h=100) + + f'' + + _icon_mark(struct, gold) + "") + + +def icon_circle(*, bg: str, struct: str, gold: str, scale: float = 0.74) -> str: + """Padded variant centered for circular crops (e.g. Telegram). The mark is + scaled about the center so it fits inside the inscribed circle with margin.""" + return (_SVG_OPEN.format(w=100, h=100) + + f'' + + f'{_icon_mark(struct, gold)}' + + "") + + +def lockup_body(*, struct: str, gold: str) -> str: + """The MODERN/PYTHON crop-mark lockup, drawn in a 540x250 coordinate space. + Returned as bare markup (no wrapper, no background) for embedding.""" + modern, _ = outline_text("MODERN", 50, x=270, baseline_y=126, anchor="middle", + color=struct, fit_width=210) + python, _ = outline_text("PYTHON", 50, x=270, baseline_y=166, anchor="middle", + color=gold, fit_width=210) + crops = ( + '' + f'' + f'' + f'' + f'' + f'' + f'' + ) + return crops + modern + python + + +def social_card(*, bg: str, struct: str, gold: str, url_color: str) -> str: + body = lockup_body(struct=struct, gold=gold) + url, _ = outline_text("modern-python.org", 34, x=640, baseline_y=575, + anchor="middle", color=url_color, letter_spacing=4) + return ( + _SVG_OPEN.format(w=1280, h=640) + + f'' + + f'{body}' + + url + + "" + ) + + +def social_square(*, bg: str, struct: str, gold: str) -> str: + body = lockup_body(struct=struct, gold=gold) + s = 1.9 + tx = round(320 - 270 * s, 1) # box-center horizontally (lockup box is 540 wide) + ty = round(320 - 125 * s, 1) # box-center vertically (lockup box is 250 tall) + return ( + _SVG_OPEN.format(w=640, h=640) + + f'' + + f'{body}' + + "" + ) diff --git a/brand/build/render.py b/brand/build/render.py new file mode 100644 index 0000000..da60416 --- /dev/null +++ b/brand/build/render.py @@ -0,0 +1,76 @@ +import shutil +import subprocess +from pathlib import Path + +from brand.build import geometry as g +from brand.build import tokens as t + +ROOT = Path(__file__).resolve().parents[2] +ORG = ROOT / "brand" / "org" + + +def _write(path: Path, content: str) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text(content + "\n", encoding="utf-8") + + +def export_png( + svg_path: Path, + png_path: Path, + *, + width: int | None = None, + height: int | None = None, +) -> bool: + exe = shutil.which("rsvg-convert") + if exe is None: + return False + args = [exe] + if width is not None: + args += ["-w", str(width)] + if height is not None: + args += ["-h", str(height)] + args += [str(svg_path), "-o", str(png_path)] + subprocess.run(args, check=True) + return True + + +def render() -> None: + ORG.mkdir(parents=True, exist_ok=True) + ic = dict(bg=t.GREEN_SURFACE, struct=t.CREAM, gold=t.GOLD_DARK) + # favicon + _write(ORG / "favicon.svg", g.icon(**ic)) + for sz in (16, 32, 48): + export_png(ORG / "favicon.svg", ORG / f"favicon-{sz}.png", width=sz, height=sz) + # apple-touch (same mark, already full-bleed/square) + _write(ORG / "apple-touch-icon.svg", g.icon(**ic)) + export_png(ORG / "apple-touch-icon.svg", ORG / "apple-touch-icon-180.png", width=180, height=180) + # avatar (same mark, large raster) + _write(ORG / "avatar.svg", g.icon(**ic)) + export_png(ORG / "avatar.svg", ORG / "avatar-1024.png", width=1024, height=1024) + _write(ORG / "avatar-circle.svg", + g.icon_circle(bg=t.GREEN_SURFACE, struct=t.CREAM, gold=t.GOLD_DARK)) + export_png(ORG / "avatar-circle.svg", ORG / "avatar-circle-1024.png", width=1024, height=1024) + + # Social cards — cream (primary) + green (alternate). + _write(ORG / "social-card.svg", + g.social_card(bg=t.CREAM, struct=t.GREEN_INK, gold=t.GOLD_LIGHT, url_color=t.GOLD_LIGHT)) + export_png(ORG / "social-card.svg", ORG / "social-card.png", width=1280, height=640) + _write(ORG / "social-card-green.svg", + g.social_card(bg=t.GREEN_SURFACE, struct=t.CREAM, gold=t.GOLD_DARK, url_color=t.GOLD_DARK)) + export_png(ORG / "social-card-green.svg", ORG / "social-card-green.png", width=1280, height=640) + + # Square (Telegram / square social) — cream + green. + _write(ORG / "social-square.svg", + g.social_square(bg=t.CREAM, struct=t.GREEN_INK, gold=t.GOLD_LIGHT)) + export_png(ORG / "social-square.svg", ORG / "social-square.png", width=640, height=640) + _write(ORG / "social-square-green.svg", + g.social_square(bg=t.GREEN_SURFACE, struct=t.CREAM, gold=t.GOLD_DARK)) + export_png(ORG / "social-square-green.svg", ORG / "social-square-green.png", width=640, height=640) + + +def main() -> None: + render() + + +if __name__ == "__main__": + main() diff --git a/brand/build/text.py b/brand/build/text.py new file mode 100644 index 0000000..c030964 --- /dev/null +++ b/brand/build/text.py @@ -0,0 +1,69 @@ +from functools import lru_cache +from pathlib import Path + +from fontTools.pens.svgPathPen import SVGPathPen +from fontTools.ttLib import TTFont + +_FONTS = Path(__file__).parent / "fonts" +JOST = _FONTS / "Jost-Regular.ttf" + + +@lru_cache(maxsize=4) +def _font(path: Path) -> TTFont: + return TTFont(path) + + +def _upm(path: Path) -> int: + return _font(path)["head"].unitsPerEm # ty: ignore[unresolved-attribute] + + +def outline_text( + text: str, + size: float, + *, + x: float, + baseline_y: float, + anchor: str = "start", + color: str = "#000000", + fit_width: float | None = None, + letter_spacing: float = 0.0, + font_path: Path = JOST, +) -> tuple[str, float]: + """Outline `text` to SVG s. Returns (group_svg, rendered_width). + + fit_width pins the rendered width (like SVG textLength): glyphs+spacing are + scaled horizontally to exactly fit_width. letter_spacing is extra px between + glyphs. anchor="middle" centers on x. + """ + f = _font(font_path) + glyphset = f.getGlyphSet() + cmap = f.getBestCmap() + hmtx = f["hmtx"] + upm = _upm(font_path) + s = size / upm + assert cmap is not None, "font has no Unicode cmap" + + ls_units = letter_spacing / s if s else 0.0 + parts: list[str] = [] + cursor = 0.0 + for ch in text: + gname = cmap.get(ord(ch)) + if gname is None: + raise ValueError(f"character {ch!r} (U+{ord(ch):04X}) not in {font_path.name} cmap") + pen = SVGPathPen(glyphset) + glyphset[gname].draw(pen) + d = pen.getCommands() + if d: + parts.append(f'') + cursor += hmtx[gname][0] + ls_units + cursor -= ls_units # drop trailing letter-spacing + + natural = cursor * s + sx = s * (fit_width / natural) if (fit_width and natural) else s + eff = fit_width if fit_width else natural + ox = x - eff / 2 if anchor == "middle" else x + g = ( + f'{"".join(parts)}' + ) + return g, eff diff --git a/brand/build/tokens.py b/brand/build/tokens.py new file mode 100644 index 0000000..2b6ecb1 --- /dev/null +++ b/brand/build/tokens.py @@ -0,0 +1,6 @@ +# Palette — concrete colors (no CSS variables anywhere downstream). +GREEN_INK = "#356852" # snakes/text on cream (the "structure" color on light) +GREEN_SURFACE = "#2f5e4a" # green backgrounds (favicon/avatar/green card) +GOLD_LIGHT = "#c98a00" # gold accent on cream +GOLD_DARK = "#f0b528" # gold accent on green/dark +CREAM = "#f4f1e8" # light surface; also the light "ink" on green (not pure white) diff --git a/brand/org/apple-touch-icon-180.png b/brand/org/apple-touch-icon-180.png new file mode 100644 index 0000000000000000000000000000000000000000..8362f2f8e995dad7210d7e9178af4bb0394d4d2a GIT binary patch literal 2456 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 literal 0 HcmV?d00001 diff --git a/brand/org/apple-touch-icon.svg b/brand/org/apple-touch-icon.svg new file mode 100644 index 0000000..e676491 --- /dev/null +++ b/brand/org/apple-touch-icon.svg @@ -0,0 +1 @@ + diff --git a/brand/org/avatar-1024.png b/brand/org/avatar-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..c33143b469e15c125cb7a0b79611f6fa776e7113 GIT binary patch literal 14559 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 DJ!LS0 literal 0 HcmV?d00001 diff --git a/brand/org/avatar-circle-1024.png b/brand/org/avatar-circle-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..21f2d971007aa37baccc3688c9172ec8ea893e0e GIT binary patch literal 12223 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 diff --git a/brand/org/avatar.svg b/brand/org/avatar.svg new file mode 100644 index 0000000..e676491 --- /dev/null +++ b/brand/org/avatar.svg @@ -0,0 +1 @@ + diff --git a/brand/org/favicon-16.png b/brand/org/favicon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..0346d38f06fa303b08b74072e371e5d9eaa393e6 GIT binary patch literal 391 zcmV;20eJq2P)S;bf*o^znz`!UkE{Sdf1kBpJ?#AN>$a1_~+}1k!PhP!bU|?WmWKiJyb^jw9Lc@*6 z4^Cdcf@Z~@vnL^pSk3qU85r(=WMjhWGghYm$Xs*DZ{ZrB_}Kn4Ffd@zAkX(}vDXt7 zfnNx({Ab`{{rl+`BX$iBKe0_XE8J!O!dUz}rYv?R;Q=g|Lh^jS3XI>D9hA89fepI` zJ}&Mr-@h?3GQyn{yG`czKSr!JFflMNeERlv+1?!|u3d(U;!+K@;qc}2_n$vwU|>kl zc`w8B`@}P@Prp$7rY`ggMZ>*kPa&K{?e`1}46gEDa2d~l=ILWkxny{MpLoIb=_i)Z lyYPw=T|?y&2|Q*)001r-XO=gXa_Im7002ovPDHLkV1oF*viAT0 literal 0 HcmV?d00001 diff --git a/brand/org/favicon-32.png b/brand/org/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac1a399df689b09de67fea3ef5bc6536bd29b00 GIT binary patch literal 647 zcmV;20(kw2P)FO^ufpw2IhzNb#UKsRso;6+8$Y zi~0|US0gCcOA+d!y%m*0i{L>7tvUD`g+Ns#21<=Yt0u8)S+hT~Gad@bHfFoC+XTO- z**EWfKQrvi+eO3YPC_?@yXp=AeBjDhPxN@|5C#MQUn}J&xi=nw2iI@Pg6Lyu7;`+g zJ|>iU17tyzM1dXP6h_E(Dwrd?+Ps58shBI|JuCbBc8(10UmsW0Rp*q*5!1%5fLtLz zF@Kk3b&9+VV*mi%G#Wt+^wLN<^D6ENV3(%<`8RlexSHOjId~n_iT<@SdsSy-OFL-M z*idzJw`$sm(q_=d4tB`)<_Qu*(yh z)vHH-gajW9R=~TT^2LSZipC#KYLiDx38mg)001nh;)Tb__hoq?Von|_Z5K(00m0Mjsb~D)(aOFj;PpJa{0eG|=uIK?juC8U- hFX3R0E$aF^_zM=nx8=LM5>o&G002ovPDHLkV1h{vC2arz literal 0 HcmV?d00001 diff --git a/brand/org/favicon-48.png b/brand/org/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..f2c24858868b3fbec9c460342078dcab5d365c4e GIT binary patch literal 877 zcmV-z1CsoSP)~Q^y?srdxuX06TpS$8B7gt>rPM*s-oB1%sUpuo>auc9M&`&Ocb-1RRL0BpPg~^Y ziD#TdIfxQ)^YNpbk00Sz!@|VSX!YXwGwu@%2nP*h8p<<#V=VpyO>n>*6rujXU*!{~ z_`o>GLh5_E{(G!av`RyGK&9DhSNYFOj8LvT-*05u0SF-j@$bw?)_(kn;s%Nw#KiDl zS>Pud^FNYw{rrn!>4%@p$Xtq|tibrKzsjd4Us$USi9h_zMu|~yKv4)O@c&|9V36VY zJt)h zz`(#@EdHa&n9Mc;bsR)pK!uW;jrm`N*&AoMFA(n8mmGa(MF-45!km9wZC+{$K`ZSo zcX|8IiT)u!2~p-CCH`Msb}vM^{xC2w{Qbu;<$}n%+kBK5NU4JgjNd?9^W`^F!!hyG zFE|NmAqXf+)DJ$gF)%PZ`NEpDTZ$^KVW2RCCY%-Cc$fF_XVzbTsg_$&93;Slk^=0#MS>qgO8~W>5P42fY*S zAp1pK=og&(??1!-M?7~vP^Zm`&q2qpUc#!V&f*m_YETBLetP|#%rZ=h`!^n0q6}rm zNNHRw|KxdpVN**f7 diff --git a/brand/org/social-card-green.png b/brand/org/social-card-green.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1df9f664a698e594c42be60fd38546e3019708 GIT binary patch literal 24519 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 M9jG?p-itT?1q1}hB>(^b literal 0 HcmV?d00001 diff --git a/brand/org/social-card-green.svg b/brand/org/social-card-green.svg new file mode 100644 index 0000000..aeb4eca --- /dev/null +++ b/brand/org/social-card-green.svg @@ -0,0 +1 @@ + diff --git a/brand/org/social-card.png b/brand/org/social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..deac7687fb31fc94bcc5281ad362c227844d3f4a GIT binary patch literal 24632 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 diff --git a/brand/org/social-square-green.png b/brand/org/social-square-green.png new file mode 100644 index 0000000000000000000000000000000000000000..5b586138fad286085206ac455c88497d49efe2ab GIT binary patch literal 19754 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 Hr-UW|FBb20 literal 0 HcmV?d00001 diff --git a/brand/org/social-square-green.svg b/brand/org/social-square-green.svg new file mode 100644 index 0000000..caca9b4 --- /dev/null +++ b/brand/org/social-square-green.svg @@ -0,0 +1 @@ + diff --git a/brand/org/social-square.png b/brand/org/social-square.png new file mode 100644 index 0000000000000000000000000000000000000000..d961eb4a0a08d87c5d4d3225fe6c2d5896eb7e09 GIT binary patch literal 19847 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 b7#J>#^y~Z-_QR`$KrZui^>bP0l+XkKY^WWG literal 0 HcmV?d00001 diff --git a/brand/org/social-square.svg b/brand/org/social-square.svg new file mode 100644 index 0000000..5950ab5 --- /dev/null +++ b/brand/org/social-square.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/modern-python-favicon.svg b/docs/assets/modern-python-favicon.svg new file mode 100644 index 0000000..e676491 --- /dev/null +++ b/docs/assets/modern-python-favicon.svg @@ -0,0 +1 @@ + diff --git a/docs/assets/social-card.png b/docs/assets/social-card.png index 41fafa9983f7b945e0edbfa18507f17d0760d7c6..deac7687fb31fc94bcc5281ad362c227844d3f4a 100644 GIT binary patch literal 24632 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 diff --git a/docs/superpowers/plans/2026-06-28-org-favicon-social-card.md b/docs/superpowers/plans/2026-06-28-org-favicon-social-card.md new file mode 100644 index 0000000..01a922d --- /dev/null +++ b/docs/superpowers/plans/2026-06-28-org-favicon-social-card.md @@ -0,0 +1,714 @@ +# Org Favicon + Social Card Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Replace the org's snake-based brand mark with the approved pinwheel icon (favicon/avatar) and Jost wordmark social card, generated by the `brand/build/` Python toolchain. + +**Architecture:** A small deterministic generator. `tokens.py` holds the palette; `text.py` outlines Jost glyphs to SVG paths (so assets render without the font); `geometry.py` emits the icon, favicon, wordmark lockup and card compositions as concrete-color SVG strings; `render.py` writes every SVG to `brand/org/` and rasterizes PNGs via `rsvg-convert`. The old snake system (geometry/render/tokens, `brand/projects/**`, stale `brand/org/*`) is removed. + +**Tech Stack:** Python 3.11+, `fonttools` (glyph outlining + variable-font instancing), `rsvg-convert` (librsvg) for PNGs, `pytest`, `ty`, `uv`. Font: **Jost** (SIL OFL). + +## Global Constraints + +- **Palette (exact hex):** Green-ink `#356852`, Green-surface `#2f5e4a`, Gold-light `#c98a00`, Gold-dark `#f0b528`, Cream `#f4f1e8`. +- **Two-color pairing:** top-left snake + `MODERN` use the structure color (green `#356852` on cream / cream `#f4f1e8` on green); bottom-right snake + `PYTHON` use gold (`#c98a00` on cream / `#f0b528` on green). +- **Fixed copy:** wordmark is always `MODERN` / `PYTHON` (two lines); card URL is always `modern-python.org`; **no tagline**. +- **Typeface:** Jost weight 400, **outlined to SVG paths** at build time (assets must render with no font installed). Jost + its OFL license vendored under `brand/build/fonts/`. +- **Lockup geometry is authoritative** (540×250 space): snakes `M138 122 L138 50 L210 50` (struct) and `M402 128 L402 200 L330 200` (gold), stroke 8, `butt`/`miter`; heads `rect 202.5,42.5,15,15 rx3` and `322.5,192.5,15,15 rx3`; `MODERN` baseline 126, `PYTHON` baseline 166 (gap 40), both size 50, centered x=270, **`fit_width=210`**. +- **Card composition (1280×640):** `` bg, then the lockup embedded `translate(235,108) scale(1.5)`, then URL outlined at x=640 baseline 575 size 34. **Square (640×640):** lockup `translate(50,195)`, no URL. +- **Icon (100×100):** standard — snakes `M30 60 L30 30 L60 30` / `M70 40 L70 70 L40 70` stroke 8, heads `54.5,24.5,11,11 rx2` / `34.5,64.5,11,11 rx2`, core `circle 50,50 r6`, `rx20`. Favicon (bold) — snakes `M26 66 L26 26 L66 26` / `M74 34 L74 74 L34 74` stroke 11, heads `58,20,14,14 rx2` / `28,66,14,14 rx2`, core `r7`, `rx18`. All on green surface: bg `#2f5e4a`, struct `#f4f1e8`, gold/core `#f0b528`. +- **No CSS variables** — every emitted SVG uses concrete colors (no `var()`, no `