patx/rcraft_const
Render R Craft portfolio text from gallery editor
Commit 135b84d · patx · 2026-09-10T17:16:12-04:00
Comments
No comments yet.
Diff
diff --git a/docs/gallery/gallery.json b/docs/gallery/gallery.json
index c489285..fd6de60 100644
--- a/docs/gallery/gallery.json
+++ b/docs/gallery/gallery.json
@@ -55,6 +55,10 @@
"src": "floor.png",
"thumb": "floor.png",
"alt": "Finished floor with rooflights and black-framed doors"
+ },
+ "text": {
+ "tag": "Flooring",
+ "title": "Flooring & Rooflights"
}
},
{
@@ -64,6 +68,10 @@
"src": "addition.png",
"thumb": "addition.png",
"alt": "Timber-frame extension under construction against a brick property"
+ },
+ "text": {
+ "tag": "Extension",
+ "title": "Timber-frame Extension"
}
},
{
@@ -73,6 +81,10 @@
"src": "extension.png",
"thumb": "extension.png",
"alt": "Completed brick rear extension with flat roof and rooflights"
+ },
+ "text": {
+ "tag": "Rear Extension",
+ "title": "Brickwork & Rooflights"
}
},
{
@@ -82,6 +94,10 @@
"src": "stairs.png",
"thumb": "stairs.png",
"alt": "Curved timber stair installation during refurbishment"
+ },
+ "text": {
+ "tag": "Bespoke Joinery",
+ "title": "Curved Stair Installation"
}
},
{
@@ -91,6 +107,10 @@
"src": "saw.png",
"thumb": "saw.png",
"alt": "Carpenter cutting timber beams with a circular saw on site"
+ },
+ "text": {
+ "tag": "Structural Works",
+ "title": "Site Carpentry"
}
}
]
diff --git a/docs/index.html b/docs/index.html
index fd9e79e..28cdb68 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -312,39 +312,39 @@
<h2>Our Craftsmanship</h2>
</div>
<div class="projects-mosaic">
- <div class="project-tile tall" role="button" tabindex="0" aria-label="View full size image of Flooring & Rooflights">
+ <div class="project-tile tall" data-photo-slot-label="floor" role="button" tabindex="0" aria-label="View full size image of Flooring & Rooflights">
<img data-photo-slot="floor" class="tile-image" src="floor.png" alt="Finished floor with rooflights and black-framed doors" loading="lazy" decoding="async">
<div class="tile-content">
- <div class="tile-tag">Flooring</div>
- <div class="tile-title">Flooring & Rooflights</div>
+ <div class="tile-tag" data-photo-slot-text="floor:tag">Flooring</div>
+ <div class="tile-title" data-photo-slot-text="floor:title">Flooring & Rooflights</div>
</div>
</div>
- <div class="project-tile" role="button" tabindex="0" aria-label="View full size image of Timber-frame Extension">
+ <div class="project-tile" data-photo-slot-label="addition" role="button" tabindex="0" aria-label="View full size image of Timber-frame Extension">
<img data-photo-slot="addition" class="tile-image" src="addition.png" alt="Timber-frame extension under construction against a brick property" loading="lazy" decoding="async">
<div class="tile-content">
- <div class="tile-tag">Extension</div>
- <div class="tile-title">Timber-frame Extension</div>
+ <div class="tile-tag" data-photo-slot-text="addition:tag">Extension</div>
+ <div class="tile-title" data-photo-slot-text="addition:title">Timber-frame Extension</div>
</div>
</div>
- <div class="project-tile" role="button" tabindex="0" aria-label="View full size image of Brickwork and Rooflights">
+ <div class="project-tile" data-photo-slot-label="extension" role="button" tabindex="0" aria-label="View full size image of Brickwork and Rooflights">
<img data-photo-slot="extension" class="tile-image" src="extension.png" alt="Completed brick rear extension with flat roof and rooflights" loading="lazy" decoding="async">
<div class="tile-content">
- <div class="tile-tag">Rear Extension</div>
- <div class="tile-title">Brickwork & Rooflights</div>
+ <div class="tile-tag" data-photo-slot-text="extension:tag">Rear Extension</div>
+ <div class="tile-title" data-photo-slot-text="extension:title">Brickwork & Rooflights</div>
</div>
</div>
- <div class="project-tile" role="button" tabindex="0" aria-label="View full size image of Curved Stair Installation">
+ <div class="project-tile" data-photo-slot-label="stairs" role="button" tabindex="0" aria-label="View full size image of Curved Stair Installation">
<img data-photo-slot="stairs" class="tile-image" src="stairs.png" alt="Curved timber stair installation during refurbishment" loading="lazy" decoding="async">
<div class="tile-content">
- <div class="tile-tag">Bespoke Joinery</div>
- <div class="tile-title">Curved Stair Installation</div>
+ <div class="tile-tag" data-photo-slot-text="stairs:tag">Bespoke Joinery</div>
+ <div class="tile-title" data-photo-slot-text="stairs:title">Curved Stair Installation</div>
</div>
</div>
- <div class="project-tile" role="button" tabindex="0" aria-label="View full size image of Site Carpentry">
+ <div class="project-tile" data-photo-slot-label="saw" role="button" tabindex="0" aria-label="View full size image of Site Carpentry">
<img data-photo-slot="saw" class="tile-image" src="saw.png" alt="Carpenter cutting timber beams with a circular saw on site" loading="lazy" decoding="async">
<div class="tile-content">
- <div class="tile-tag">Structural Works</div>
- <div class="tile-title">Site Carpentry</div>
+ <div class="tile-tag" data-photo-slot-text="saw:tag">Structural Works</div>
+ <div class="tile-title" data-photo-slot-text="saw:title">Site Carpentry</div>
</div>
</div>
</div>