Skip to content

Commit b2177e1

Browse files
TMHSDigitalclaude
andauthored
fix(site): subset the web fonts and give link previews a proper card (#220)
* fix(site): subset the web fonts and give link previews a proper card - Fonts: the six self-hosted woff2 files (476 KB) are subset to the 235 code points the generated pages use, plus Latin-1 and general punctuation: 156 KB. Every used character the original covered is still covered; only ccmp/cv14/cv99, which apply to dropped glyphs, go. - Link previews: the landing page and gallery index used a 1280x720 webp hero with no size or alt. They now use assets/og-card.jpg (1200x630, 59 KB), and every page carries og:image:width/height/alt, twitter:image:alt and og:site_name. Closes #216 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> * docs(site): record how the font subset was made and how to redo it Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> --------- Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 099bbaa commit b2177e1

90 files changed

Lines changed: 442 additions & 8 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.

‎assets/og-card.jpg‎

57.4 KB
Loading

‎docs/gallery/anvil/index.html‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<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." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/anvil/" />
1616
<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="anvil: the showcase piece&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="anvil — Showcase — Blender Developer Tools" />
1923
<meta name="twitter: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." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/anvil-hero.webp" />
25+
<meta name="twitter:image:alt" content="anvil: the showcase piece&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<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 tapered tube through rest, half, and full curl." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/armature-bend/" />
1616
<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="armature-bend: the example&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="armature-bend — Examples — Blender Developer Tools" />
1923
<meta name="twitter: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 tapered tube through rest, half, and full curl." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/armature-bend-hero.webp" />
25+
<meta name="twitter:image:alt" content="armature-bend: the example&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="POINT vs CORNER color-attribute domains on a shared-vertex pinwheel: CORNER stays exact per face while a naive per-wedge POINT loop shears to the last write at the hub. Crisp petals versus a smeared swirl in one frame; the measured shear equals the palette closed form." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/attribute-domain-shear/" />
1616
<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="attribute-domain-shear: the example&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="attribute-domain-shear — Examples — Blender Developer Tools" />
1923
<meta name="twitter:description" content="POINT vs CORNER color-attribute domains on a shared-vertex pinwheel: CORNER stays exact per face while a naive per-wedge POINT loop shears to the last write at the hub. Crisp petals versus a smeared swirl in one frame; the measured shear equals the palette closed form." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/attribute-domain-shear-hero.webp" />
25+
<meta name="twitter:image:alt" content="attribute-domain-shear: the example&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="A collapse-decimated hatch plate receiving a Cycles cage-baked tangent normal map from a ribbed high-poly source" />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/bake-normal-high-to-low/" />
1616
<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="bake-normal-high-to-low: the example&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="bake-normal-high-to-low — Examples — Blender Developer Tools" />
1923
<meta name="twitter:description" content="A collapse-decimated hatch plate receiving a Cycles cage-baked tangent normal map from a ribbed high-poly source" />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bake-normal-high-to-low-hero.webp" />
25+
<meta name="twitter:image:alt" content="bake-normal-high-to-low: the example&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<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." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/bmesh-gear/" />
1616
<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="bmesh-gear: the example&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="bmesh-gear — Examples — Blender Developer Tools" />
1923
<meta name="twitter: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." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/bmesh-gear-hero.webp" />
25+
<meta name="twitter:image:alt" content="bmesh-gear: the example&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

‎docs/gallery/campfire/index.html‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="A procedural campfire through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/campfire/" />
1616
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/campfire-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="campfire: the showcase piece&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="campfire — Showcase — Blender Developer Tools" />
1923
<meta name="twitter:description" content="A procedural campfire through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/campfire-hero.webp" />
25+
<meta name="twitter:image:alt" content="campfire: the showcase piece&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

‎docs/gallery/car-mirror-symmetry/index.html‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="A generic hatchback lofted as one half (14 stations, 9-point rings) and completed by the Mirror modifier, evaluated through the depsgraph. Wheels and lamps mirror about object origins parked on the symmetry plane." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/car-mirror-symmetry/" />
1616
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/car-mirror-symmetry-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="car-mirror-symmetry: the example&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="car-mirror-symmetry — Examples — Blender Developer Tools" />
1923
<meta name="twitter:description" content="A generic hatchback lofted as one half (14 stations, 9-point rings) and completed by the Mirror modifier, evaluated through the depsgraph. Wheels and lamps mirror about object origins parked on the symmetry plane." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/car-mirror-symmetry-hero.webp" />
25+
<meta name="twitter:image:alt" content="car-mirror-symmetry: the example&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

‎docs/gallery/cart/index.html‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="A procedural two-wheel wooden cart through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/cart/" />
1616
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/cart-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="cart: the showcase piece&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="cart — Showcase — Blender Developer Tools" />
1923
<meta name="twitter:description" content="A procedural two-wheel wooden cart through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/cart-hero.webp" />
25+
<meta name="twitter:image:alt" content="cart: the showcase piece&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

‎docs/gallery/chopping-block/index.html‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,15 @@
1414
<meta property="og:description" content="A procedural log-round chopping block with a riveted iron hoop and a felling axe buried in the sawn face, through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
1515
<meta property="og:url" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/chopping-block/" />
1616
<meta property="og:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/chopping-block-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="chopping-block: the showcase piece&#x27;s own headless render" />
20+
<meta property="og:site_name" content="Blender Developer Tools" />
1721
<meta name="twitter:card" content="summary_large_image" />
1822
<meta name="twitter:title" content="chopping-block — Showcase — Blender Developer Tools" />
1923
<meta name="twitter:description" content="A procedural log-round chopping block with a riveted iron hoop and a felling axe buried in the sawn face, through UVs, bake, LOD, collider, and Unity glTF, asserting recomputed budgets rather than an API contract." />
2024
<meta name="twitter:image" content="https://tmhsdigital.github.io/Blender-Developer-Tools/gallery/assets/chopping-block-hero.webp" />
25+
<meta name="twitter:image:alt" content="chopping-block: the showcase piece&#x27;s own headless render" />
2126
<style>
2227
/* fonts are deployed by the landing build (docs/fonts/) */
2328
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-display: swap;

0 commit comments

Comments
 (0)