From 76d68c97f572120dc75d0501cc82acf4022d6b33 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 23 Dec 2025 20:14:14 +0000
Subject: [PATCH] =legacy rebrand finished

---
 content/_setup.php |   86 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 85 insertions(+), 1 deletions(-)

diff --git a/content/_setup.php b/content/_setup.php
index 604f962..a9d9e4a 100644
--- a/content/_setup.php
+++ b/content/_setup.php
@@ -41,4 +41,88 @@
         'progress'  => altr_progress(),
         'terms'     => altr_terms(),
     ];
-}
\ No newline at end of file
+}
+
+/**
+// Example in child plugin's jvb_content filter
+'tattoo' => [
+    'singular' => 'Tattoo',
+    'plural'   => 'Tattoos',
+    // ... other config
+    'schema' => [
+        'type' => 'CreativeWork',
+        'additional_types' => ['VisualArtwork'],
+        'properties' => [
+            'artform'  => ['taxonomy' => 'style', 'primary' => true],
+            'artMedium' => 'ink_colors', // meta key
+            'creator'  => ['callback' => 'jvb_get_artist_schema'],
+        ],
+    ],
+    'seo' => [
+        'title_template' => '{{name}} by {{artist}} | {{style}} Tattoo',
+        'description_template' => '{{name}} - a {{style}} tattoo by {{artist}} at {{shop}}.',
+        'variables' => [
+            'artist' => ['taxonomy' => 'artist', 'primary' => true],
+            'shop'   => ['taxonomy' => 'shop', 'primary' => true],
+            'style'  => ['taxonomy' => 'style', 'primary' => true],
+        ],
+    ],
+],
+ *
+ **/
+
+/**
+'jvb-location' => [
+    'label' => 'Location',
+    'slug' => 'location',
+    'schema' => [
+        'type' => 'LocalBusiness',
+        'subtype' => 'TattooParlor', // Or BeautySalon, Restaurant, etc
+        'mappings' => [
+            // Meta field => Schema property (or array of properties)
+            'location' => ['address', 'geo'], // Maps to both address AND geo
+            'email' => 'email',
+            'phone' => 'telephone',
+            'image' => 'image', // Featured image
+            'logo' => 'logo', // Separate logo field
+            'links' => 'sameAs', // Social media links
+            'hours' => 'openingHoursSpecification', // Opening hours
+            'services' => 'hasOfferCatalog' // Service list
+        ],
+        'overrides' => [
+            'priceRange' => '$$-$$$',
+            'paymentAccepted' => 'Cash, Credit Card, Square',
+            'currenciesAccepted' => 'CAD, USD'
+        ]
+    ]
+],
+
+'jvb-artist' => [
+    'label' => 'Artist',
+    'slug' => 'artist',
+    'schema' => [
+        'type' => 'Person',
+        'mappings' => [
+            'email' => 'email',
+            'phone' => 'telephone',
+            'featured_image' => 'image',
+            'bio' => 'description',
+            'links' => 'sameAs',
+            'specialty' => 'jobTitle'
+        ]
+    ]
+],
+
+'jvb-artwork' => [
+    'label' => 'Artwork',
+    'slug' => 'artwork',
+    'schema' => [
+        'type' => 'CreativeWork',
+        'mappings' => [
+            'featured_image' => 'image',
+            'artist_id' => 'creator', // Would need special handling for Person ref
+            'created_date' => 'dateCreated'
+        ]
+    ]
+]
+ **/
\ No newline at end of file

--
Gitblit v1.10.0