Share images: the master mark replaces the ringed coin on every og image; og.png (was a 404) added; ?v=2 cache bust
make-icons.py make_social(): og-small.png (256 square, the compact card index/live/litepaper declare), og-square.png (1024), og-coin.png and og.png (1200x630: mark left, IGNEUM wordmark, tagline, subline; same layout as before, no ring, no glow). bench.html, evidence.html and build.mjs referenced /og.png, which did not exist; they now get the 1200x630 card with width/height 1200x630 and twitter:card summary_large_image. Every og:image and twitter:image carries ?v=2 so Slack, X and iMessage refetch. brand/profile: github-social-1280x640.png (repository social preview) and vercel-avatar-512.png. bench.html edited by hand for the meta only (a build.mjs run would publish uncommitted log entries). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
|
@ -41,13 +41,15 @@ polygons). The Windows `.ico` and the favicons render each size from the vector,
|
|||
| `brand/profile/github-org-512.png` | organisation avatar | github.com/igneum-network (uploaded by hand from the Igneum Chrome profile) |
|
||||
| `brand/profile/x-banner-1500x500.png` | X header | the mark centred on obsidian |
|
||||
| `brand/igneum-icon-512.png`, `igneum-icon-1024.png` | the square at 512 and 1024 | the same as the profile files; kept for links that already point here |
|
||||
| `site/og-small.png` (256 square), `og-square.png` (1024), `og-coin.png` and `og.png` (1200 x 630 card: mark left, IGNEUM wordmark, tagline) | share images, `?v=2` in every `og:image` and `twitter:image` | index, live, litepaper (`og-small`); bench, evidence, `build.mjs` (`og`) |
|
||||
| `brand/profile/github-social-1280x640.png` | repository social preview | github.com/igneum-network/igneum settings (by hand) |
|
||||
| `brand/profile/vercel-avatar-512.png` | Vercel team or project avatar | by hand |
|
||||
|
||||
Inline SVG favicons (the `data:` link in every page head) carry the same square and mark, so a page shows the right icon
|
||||
before the `.ico` loads.
|
||||
|
||||
## Not regenerated
|
||||
|
||||
- `site/og-small.png`, `og-square.png`, `og-coin.png`: the social card design, left as it was by instruction (4 October 2026).
|
||||
- `brand/igneum-coin-1024.png`: the old ringed coin. Retired as a source; nothing reads it now.
|
||||
- `brand/igneum-mark-transparent-1024.png`, the wordmark PNGs and `Unbounded.ttf`: unchanged.
|
||||
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ Outputs:
|
|||
brand/profile/ profile-400.png, profile-512.png, profile-1024.png (X, Discord, Telegram, LinkedIn), github-org-512.png,
|
||||
x-banner-1500x500.png (the mark centred on obsidian)
|
||||
brand/igneum-icon-512.png and igneum-icon-1024.png are refreshed from the master as well.
|
||||
site/og-small.png (256), og-square.png (1024), og-coin.png and og.png (1200x630 card), brand/profile/github-social-1280x640.png,
|
||||
vercel-avatar-512.png: the share images (make_social), the mark on obsidian, never the old ringed coin.
|
||||
|
||||
Rendering: rsvg-convert when it is installed (brew install librsvg), else Pillow draws the master's rect and polygons
|
||||
itself at 4x to 16x supersampling (the mark is two polygons, so this is exact). cairosvg is not used: the conda build on
|
||||
|
|
@ -270,6 +272,32 @@ def make_profile():
|
|||
out.append(save_png(render(1024).convert('RGB'), os.path.join(BRAND, 'igneum-icon-1024.png')))
|
||||
return out
|
||||
|
||||
def card(w, h, tile, cx, cy, title_x):
|
||||
"""The share-card layout: the mark on obsidian at (cx, cy), the IGNEUM wordmark, tagline and subline to the right.
|
||||
Same layout as the old og-coin.png; the ringed coin and its glow are replaced by the master mark (the square merges
|
||||
with the ground, so nothing but the mark shows: no ring, no edge)."""
|
||||
im = Image.new('RGBA', (w, h), OBSIDIAN + (255,))
|
||||
paste_centre(im, render(tile), cx, cy)
|
||||
k = h / 630
|
||||
im.alpha_composite(wordmark('IGNEUM', int(84 * k), BONE, 'Bold'), (title_x, int(cy - 92 * k)))
|
||||
im.alpha_composite(wordmark('Mined by GPUs. Proven by fire.', int(31 * k), MOLTEN, 'SemiBold'), (title_x, int(cy + 20 * k)))
|
||||
im.alpha_composite(wordmark('The GPU-mined layer 1 \u00b7 igneum.network', int(19 * k), (150, 148, 145), 'Regular'), (title_x, int(cy + 72 * k)))
|
||||
return im.convert('RGB')
|
||||
|
||||
def make_social():
|
||||
"""Share images. og-small.png stays a 256 square (the compact card chat apps show; its pages declare 256x256 and
|
||||
twitter:card summary), og-square.png 1024 square, og-coin.png and og.png the 1200x630 card (og.png is what bench.html,
|
||||
evidence.html and build.mjs reference), github-social-1280x640.png the repository social preview."""
|
||||
out = []
|
||||
out.append(save_png(render(256).convert('RGB'), os.path.join(SITE, 'og-small.png')))
|
||||
out.append(save_png(render(1024).convert('RGB'), os.path.join(SITE, 'og-square.png')))
|
||||
c = card(1200, 630, 300, 276, 315, 532)
|
||||
out.append(save_png(c, os.path.join(SITE, 'og-coin.png')))
|
||||
out.append(save_png(c, os.path.join(SITE, 'og.png')))
|
||||
out.append(save_png(card(1280, 640, 306, 300, 320, 560), os.path.join(PROFILE, 'github-social-1280x640.png')))
|
||||
out.append(save_png(render(512).convert('RGB'), os.path.join(PROFILE, 'vercel-avatar-512.png')))
|
||||
return out
|
||||
|
||||
def main():
|
||||
made = []
|
||||
made.append(save_png(render(256), os.path.join(HERE, 'igneum-256.png')))
|
||||
|
|
@ -284,6 +312,7 @@ def main():
|
|||
made += make_site(SITE)
|
||||
made += make_site(RELAY, full=False)
|
||||
made += make_profile()
|
||||
made += make_social()
|
||||
for f in sorted(os.listdir(HERE)):
|
||||
p = os.path.join(HERE, f)
|
||||
if os.path.isfile(p) and not f.endswith('.py'):
|
||||
|
|
|
|||
BIN
brand/profile/github-social-1280x640.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
brand/profile/vercel-avatar-512.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
|
@ -12,14 +12,14 @@
|
|||
<meta property="og:title" content="Igneum engineering log">
|
||||
<meta property="og:description" content="Every Igneum benchmark and test, with the hardware and the commands that produced it. Prototype numbers are labelled as such.">
|
||||
<meta property="og:url" content="https://igneum.network/bench">
|
||||
<meta property="og:image" content="https://igneum.network/og.png">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image" content="https://igneum.network/og.png?v=2">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Igneum engineering log">
|
||||
<meta name="twitter:description" content="Every Igneum benchmark and test, with the hardware and the commands that produced it. Prototype numbers are labelled as such.">
|
||||
<meta name="twitter:image" content="https://igneum.network/og.png">
|
||||
<meta name="twitter:image" content="https://igneum.network/og.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
|
|
@ -58,14 +58,14 @@ function meta(title, desc, path) {
|
|||
<meta property="og:title" content="${t}">
|
||||
<meta property="og:description" content="${d}">
|
||||
<meta property="og:url" content="${url}">
|
||||
<meta property="og:image" content="${ORIGIN}/og.png">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image" content="${ORIGIN}/og.png?v=2">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="${t}">
|
||||
<meta name="twitter:description" content="${d}">
|
||||
<meta name="twitter:image" content="${ORIGIN}/og.png">
|
||||
<meta name="twitter:image" content="${ORIGIN}/og.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="${svgIcon}" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
<meta property="og:title" content="Igneum evidence">
|
||||
<meta property="og:description" content="Every public Igneum claim with its status: designed, implemented, tested by the team, reproduced externally, reviewed independently. Nothing has been reproduced or reviewed yet.">
|
||||
<meta property="og:url" content="https://igneum.network/evidence">
|
||||
<meta property="og:image" content="https://igneum.network/og.png">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image" content="https://igneum.network/og.png?v=2">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Igneum evidence">
|
||||
<meta name="twitter:description" content="Every public Igneum claim with its status: designed, implemented, tested by the team, reproduced externally, reviewed independently. Nothing has been reproduced or reviewed yet.">
|
||||
<meta name="twitter:image" content="https://igneum.network/og.png">
|
||||
<meta name="twitter:image" content="https://igneum.network/og.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
<meta property="og:title" content="Igneum, the GPU-mined layer 1">
|
||||
<meta property="og:description" content="A GPU-mined chain whose mining program rewrites itself every hour. Miners also prove the blocks. No premine, no stake, no fee to any team.">
|
||||
<meta property="og:url" content="https://igneum.network/">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="Igneum, the GPU-mined layer 1">
|
||||
<meta name="twitter:description" content="A GPU-mined chain whose mining program rewrites itself every hour. Miners also prove the blocks. No premine, no stake, no fee to any team.">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
<meta property="og:title" content="Igneum Litepaper: how the chain works">
|
||||
<meta property="og:description" content="The Igneum litepaper. The hourly GPU lottery, blocks proven by miners, GHOSTDAG ordering, miner-only finality, the 4 billion cap. No premine, no stake.">
|
||||
<meta property="og:url" content="https://igneum.network/litepaper">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="Igneum Litepaper: how the chain works">
|
||||
<meta name="twitter:description" content="The Igneum litepaper. The hourly GPU lottery, blocks proven by miners, GHOSTDAG ordering, miner-only finality, the 4 billion cap. No premine, no stake.">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@
|
|||
<meta property="og:title" content="Igneum live devnet">
|
||||
<meta property="og:description" content="The Igneum devnet as it runs: blocks, miners, difficulty and peers, read from a node every two seconds.">
|
||||
<meta property="og:url" content="https://igneum.network/live">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png">
|
||||
<meta property="og:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta property="og:image:width" content="256">
|
||||
<meta property="og:image:height" content="256">
|
||||
<meta property="og:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="Igneum live devnet">
|
||||
<meta name="twitter:description" content="The Igneum devnet as it runs: blocks, miners, difficulty and peers, read from a node every two seconds.">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png">
|
||||
<meta name="twitter:image" content="https://igneum.network/og-small.png?v=2">
|
||||
<meta name="twitter:image:alt" content="Igneum. Mined by GPUs. Proven by fire.">
|
||||
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Crect width='1024' height='1024' fill='%230C0C0E'/%3E%3Cg transform='translate(166.95 166.95) scale(6.901)'%3E%3Cpolygon points='50,4 74,34 67,58 80,54 61,96 39,96 20,54 33,58 26,34' fill='%23F2541B'/%3E%3Cpolygon points='50,42 59,58 50,82 41,58' fill='%230C0C0E'/%3E%3C/g%3E%3C/svg%3E" type="image/svg+xml">
|
||||
<link rel="icon" href="/favicon.ico" sizes="48x48">
|
||||
|
|
|
|||
BIN
site/og-coin.png
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 6 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 26 KiB |
BIN
site/og.png
Normal file
|
After Width: | Height: | Size: 31 KiB |