Files
logo/README.md
T
zeekay dc35b7f8bf brand: real hero (mark + name, not 'logo' placeholder) + neutral svg names; publish 1.0.9
Re-mints the README hero: the template shipped a generic card whose wordmark
literally read "logo" with a truncated subtitle. generateHero() now composes
the brand's own white mark + real name + full tagline + github/domain footer,
driven by a package.json "brand" block — one template, every org. Also renames
dist SVG sources brand-neutral (logo.svg, favicon.svg, …) so the shared build is
correct for every brand (they were hanzo-prefixed after the earlier port).
2026-07-04 12:58:44 -07:00

1.5 KiB

@hanzo/logo

Hanzo — Brand & Logo Assets

Official Hanzo brand marks in every format and size — SVG, PNG, multi-resolution ICO, favicons, app/dock/tray icons, and social cards. Installable via @hanzo/logo, browsable in dist/.

Formats

  • svg/ - Vector formats (preferred)
  • png/ - Raster formats (various sizes)
  • ico/ - Favicon formats

Variants

  • Primary logo
  • Wordmark
  • Icon/Symbol
  • Monochrome (light/dark)

Usage

See brand guidelines for proper usage.

Download

All assets available in this repository.

License

All rights reserved. Usage requires permission.

Animated & interactive

The mark ships a self-contained, pure-CSS animated SVG — a load animation, a hover flourish, and a press squash, with zero JavaScript. Inline it into the DOM (not via <img>) for the hover/press interactions to fire. Honors prefers-reduced-motion.

// React — one-line interactive embed
import { HanzoLogo } from '@hanzo/logo';
<HanzoLogo variant="animated" size={64} />
// Vanilla / any framework
import { getAnimatedSVG, getAnimatedDataUrl } from '@hanzo/logo';
el.innerHTML = getAnimatedSVG();   // interactive (inline in the DOM)
img.src = getAnimatedDataUrl();    // load animation only (fine in <img>)
<!-- Raw SVG over CDN — load animation in <img>; inline the file for hover/press -->
<img src="https://unpkg.com/@hanzo/logo/svg/hanzo-mark-animated.svg" width="64" alt="" />