stoic settings and site meta and legal

This commit is contained in:
elvira
2026-09-28 17:32:22 +03:00
parent ca362f81c8
commit 88d8ae0954
6 changed files with 26 additions and 4 deletions
+12
View File
@@ -38,6 +38,18 @@ public function get(string $key, mixed $default = null): mixed
return filled($this->data[$key] ?? null) ? $this->data[$key] : $default;
}
/**
* Absolute og:image URL for a Stoic image field value (the page's own, else
* this file's default), or null. Image fields store a comma-separated list;
* only the first is used.
*/
public function ogImageUrl(?string $pageImage = null): ?string
{
$filename = trim(explode(',', $pageImage ?: (string) $this->get('og_image', ''))[0]);
return $filename === '' ? null : url(Stoic::image($filename, 'large'));
}
/**
* Only the networks that have a URL set, in display order.
*
+5 -4
View File
@@ -1,6 +1,7 @@
---
meta_description: ""
facebook_url: ""
instagram_url: ""
tiktok_url: ""
meta_description: "Your local 3Dealer of 3D printed, high-quality products. Geek culture, decoration, fun and skulls, and custom orders."
og_image: ""
facebook_url: "https://www.facebook.com/3Dealer.gr/"
instagram_url: "https://www.instagram.com/3dealer.gr/"
tiktok_url: "https://www.tiktok.com/@3dealer.gr"
---
+3
View File
@@ -139,6 +139,9 @@ schemas:
- name: meta_description
label: "Default Meta Description (used when a page has none)"
ui: text
- name: og_image
label: "Default Og Image (used when a page has none, ideally 1200×630)"
ui: image
- name: facebook_url
label: Facebook URL
ui: string
+1
View File
@@ -2,6 +2,7 @@
@section('title', $page->meta_title)
@section('description', $page->meta_description)
@section('og_image', $page->og_image)
{{-- Organization structured data, home page only. Name from core's StoreDetails,
social profiles (sameAs) from Stoic settings.md. --}}
+4
View File
@@ -17,6 +17,10 @@
{{-- Falls back to Stoic's default when a page sets none, or sets it to an
empty meta_description (@yield's own default only covers "not set"). --}}
<meta name="description" content="{{ trim($__env->yieldContent('description')) ?: $stoicSettings->get('meta_description', '') }}">
{{-- A page's own Stoic og_image (via @section('og_image')), else the default from settings.md. --}}
@if ($ogImage = $stoicSettings->ogImageUrl(trim($__env->yieldContent('og_image'))))
<meta property="og:image" content="{{ $ogImage }}">
@endif
{{-- Reciprocal hreflang: self-reference + every alternate locale + x-default --}}
@isset($currentLocale)
+1
View File
@@ -2,6 +2,7 @@
@section('title', $page->meta_title ?: $page->name)
@section('description', $page->meta_description)
@section('og_image', $page->og_image)
@if($page->noindex ?? false)
@push('seo')