Skip to content

Commit 60f388a

Browse files
TMHSDigitalclaude
andcommitted
feat(site): JPEG og:image on every page, a sitemap, and a sharper description
- Gallery detail pages used their webp hero as og:image; #216 moved only the index and landing to og-card.jpg, and some scrapers do not render webp. Every page's og:image is now assets/og-card.jpg (1200x630); detail pages keep their own hero as twitter:image, which X renders. - build_site.py writes docs/sitemap.xml (landing, gallery index and all 132 detail pages; 134 URLs) from the same two gallery.json files the gallery is built from. No robots.txt: this is a project page under /Blender-Developer-Tools/, and crawlers only read robots.txt at the host root; submit the sitemap URL in a search console instead. - site.json gains a page description that leads with the differentiator (smoke-tested on 5.2 LTS and 4.5 LTS); build_site lets it override the plugin-listing description for the meta/og description. Verified: grep finds 0 published pages with a .webp og:image; staged-site link gate 135 pages, 0 failures; sitemap present in the staged tree. Not automatable: GitHub has no API for the repository social preview, so assets/og-card.jpg must be uploaded by hand (Settings > General > Social preview). Closes #339 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 0bb1d1a commit 60f388a

136 files changed

Lines changed: 576 additions & 535 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@ build/
5151

5252
# Staged Pages tree (scripts/site/stage_public.py)
5353
_site/
54+
docs/sitemap.xml

‎docs/gallery/anvil/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Anvil (anvil) — Showcase — Blender Developer Tools" />
1515
<meta property="og:description" content="A procedural blacksmith anvil on a timber stump through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/anvil-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A London-pattern forged anvil with a thick face block, tapered horn and broad flared foot on a hooped oak stand, a cross-peen hammer on the floor beside it." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/anvil-hero.webp" />
2222
<meta name="twitter:image:alt" content="A London-pattern forged anvil with a thick face block, tapered horn and broad flared foot on a hooped oak stand, a cross-peen hammer on the floor beside it." />

‎docs/gallery/apothecary-shelf/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Apothecary Shelf (apothecary-shelf) — Showcase — Blender Developer Tools" />
1515
<meta property="og:description" content="A procedural apothecary shelf — housed shelves, gallery rails, a drawer bank and an arched crest, stocked with fifteen lathed bottles, flasks and glazed jars, each corked or lidded and labelled — carried through UVs, bake, LOD, convex collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/apothecary-shelf-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A stained wooden shelf with an arched crest, gallery rails and three brass-knobbed drawers, stocked with labelled glass bottles and flasks and cream and blue glazed jars." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/apothecary-shelf-hero.webp" />
2222
<meta name="twitter:image:alt" content="A stained wooden shelf with an arched crest, gallery rails and three brass-knobbed drawers, stocked with labelled glass bottles and flasks and cream and blue glazed jars." />

‎docs/gallery/archery-target/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Archery Target (archery-target) — Showcase — Blender Developer Tools" />
1515
<meta property="og:description" content="A procedural archery range target on a turf patch — a 1.10 m compressed-straw boss coiled from rope courses that show on its back and round its edge, bound with doubled jute twine drawn tight over the crests; an 80 cm ten-zone World Archery face in aged inks with ring lines, an X ring and a printed X, held by four target pins; a timber easel leaning it back 12° on toe skids with knee braces, a ledge with a stop lip on a bolted rail and gussets, a numbered butt board, a strap hinge pinned to a rear leg in a steel ferrule and foot, and a splay chain between eye bolts; five carbon arrows in the face with cresting, nocks and three vanes, one glancing into the straw edge, one snapped with its fletched half on the grass, and a leather quiver of arrows lying among grass tufts — through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/archery-target-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A straw archery boss with a gold, red, blue, black and white face and five arrows, leaning on a timber easel numbered 12, a quiver on the grass patch below." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/archery-target-hero.webp" />
2222
<meta name="twitter:image:alt" content="A straw archery boss with a gold, red, blue, black and white face and five arrows, leaning on a timber easel numbered 12, a quiver on the grass patch below." />

‎docs/gallery/armature-bend/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Armature Bend (armature-bend) — Examples — Blender Developer Tools" />
1515
<meta property="og:description" content="Rigging end to end in the data API — edit_bones chain construction, name-bound vertex groups with smoothstep blend zones, posing, and depsgraph evaluation — bending a ribbed bellows hose through rest, half, and full curl." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/armature-bend-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="Three ribbed bellows hoses with brass collars on steel foot flanges, banded teal to amber to coral, standing straight, half curled and fully curled by an armature." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/armature-bend-hero.webp" />
2222
<meta name="twitter:image:alt" content="Three ribbed bellows hoses with brass collars on steel foot flanges, banded teal to amber to coral, standing straight, half curled and fully curled by an armature." />

‎docs/gallery/attribute-domain-shear/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Attribute Domain Shear (attribute-domain-shear) — Examples — Blender Developer Tools" />
1515
<meta property="og:description" content="POINT vs CORNER color-attribute domains on a shared-vertex fan: CORNER stays exact per face while a naive per-wedge POINT loop shears to the last write at the hub. A striped parasol keeps crisp stripes under CORNER and smears, with one panel turned the wrong color, under POINT; the measured shear equals the palette closed form." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/attribute-domain-shear-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="Two patio parasols on a terracotta paver deck behind CORNER and POINT slate placards: the left has crisp crimson and cream stripes, the right has its stripes smeared pink." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/attribute-domain-shear-hero.webp" />
2222
<meta name="twitter:image:alt" content="Two patio parasols on a terracotta paver deck behind CORNER and POINT slate placards: the left has crisp crimson and cream stripes, the right has its stripes smeared pink." />

‎docs/gallery/bake-normal-high-to-low/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Bake Normal High To Low (bake-normal-high-to-low) — Examples — Blender Developer Tools" />
1515
<meta property="og:description" content="A collapse-decimated hatch plate receiving a Cycles cage-baked tangent normal map from a ribbed high-poly source" />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bake-normal-high-to-low-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="Left to right: a lilac baked normal-map card, the 3200-tri ribbed bronze source plate, and the 900-tri decimated plate wearing the map, each captioned on the floor." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bake-normal-high-to-low-hero.webp" />
2222
<meta name="twitter:image:alt" content="Left to right: a lilac baked normal-map card, the 3200-tri ribbed bronze source plate, and the 900-tri decimated plate wearing the map, each captioned on the floor." />

‎docs/gallery/bamboo-clump/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Bamboo Clump (bamboo-clump) — Showcase — Blender Developer Tools" />
1515
<meta property="og:description" content="A procedural clump of seven clumping-bamboo culms rising from a 0.6 m rhizome mass on a lobed hummock of leaf-litter soil, five jointed rhizome knuckles breaking the soil at the outer culms&#x27; feet; each culm splayed out from the soil, then leaning and arching to a fine whip, ringed with 99 raised nodes at a pitch short at the foot, long through the middle and short again at the tip, its lowest three nodes still in papery sheaths and a fresh culm white-waxed below every node; 107 arching branches, one or two to a node, carrying 815 slim leaves with a droop of their own; three young shoots and litter off the hummock, through UVs, bake, LOD, collider and Unity glTF, asserting recomputed budgets rather than an API contract." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bamboo-clump-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A clump of seven bamboo culms, one gone yellow, ringed with dark nodes and sheathed in straw at the foot, arching apart under drooping leafy branches from a dark soil hummock." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bamboo-clump-hero.webp" />
2222
<meta name="twitter:image:alt" content="A clump of seven bamboo culms, one gone yellow, ringed with dark nodes and sheathed in straw at the foot, arching apart under drooping leafy branches from a dark soil hummock." />

‎docs/gallery/basketball-hoop/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="Basketball Hoop (basketball-hoop) — Showcase — Blender Developer Tools" />
1515
<meta property="og:description" content="A procedural in-ground basketball goal on a patch of driveway court — a square gooseneck pole swept in one piece with welded bend webs, its plate sunk and bolted into a two-pour concrete pad with a sealed expansion joint, a braced board in an aluminium frame, a breakaway regulation rim, a knotted twelve-loop net hung on the rim hooks, faded court paint set into the slabs and two pebbled basketballs resting on the concrete — through UVs, bake, LOD, convex collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/basketball-hoop-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A basketball goal on a concrete court pad: padded square gooseneck pole, framed backboard, orange rim and white net over a faded green key and arc, two basketballs on the concrete." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/basketball-hoop-hero.webp" />
2222
<meta name="twitter:image:alt" content="A basketball goal on a concrete court pad: padded square gooseneck pole, framed backboard, orange rim and white net over a faded green key and arc, two basketballs on the concrete." />

‎docs/gallery/bmesh-gear/index.html‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<meta property="og:type" content="article" />
1414
<meta property="og:title" content="BMesh Gear (bmesh-gear) — Examples — Blender Developer Tools" />
1515
<meta property="og:description" content="A 14-tooth gear built entirely with bmesh — profile ring, face, extrude — with bm.free() in a try/finally, exactly as the ownership contract demands." />
16-
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bmesh-gear-hero.webp" />
17-
<meta property="og:image:width" content="1280" />
18-
<meta property="og:image:height" content="720" />
19-
<meta property="og:image:alt" content="A brass fourteen-tooth gear meshing with a blued pinion and a spoked gunmetal wheel, each bolted through a hub to a dark steel backplate on a walnut plinth." />
16+
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/assets/og-card.jpg" />
17+
<meta property="og:image:width" content="1200" />
18+
<meta property="og:image:height" content="630" />
19+
<meta property="og:image:alt" content="Four renders from the examples gallery: a red low-poly hatchback, a soccer ball, gold spikes aimed at a glowing sphere, and two spheres on pedestals labelled linked and unlinked" />
2020
<meta name="twitter:card" content="summary_large_image" />
2121
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bmesh-gear-hero.webp" />
2222
<meta name="twitter:image:alt" content="A brass fourteen-tooth gear meshing with a blued pinion and a spoked gunmetal wheel, each bolted through a hub to a dark steel backplate on a walnut plinth." />

0 commit comments

Comments
 (0)