Phase 1-3 of decoupling plan: - Shared DB, models, infrastructure, browser, config, utils - Event infrastructure (domain_events outbox, bus, processor) - Structured logging - Generic container concept (container_type/container_id) - Alembic migrations for all schema changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
1.5 KiB
HTML
26 lines
1.5 KiB
HTML
{# social/meta_site.html — generic site/page meta #}
|
|
{% include 'social/meta_base.html' %}
|
|
|
|
{# Title/description (site-level) #}
|
|
{% set description = site().description or '' %}
|
|
|
|
<title>{{ base_title }}</title>
|
|
{% if description %}<meta name="description" content="{{ description }}">{% endif %}
|
|
{% if canonical %}<link rel="canonical" href="{{ canonical }}">{% endif %}
|
|
|
|
{# Open Graph (website) #}
|
|
<meta property="og:site_name" content="{{ site().title if site and site().title else '' }}">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:title" content="{{ base_title }}">
|
|
{% if description %}<meta property="og:description" content="{{ description }}">{% endif %}
|
|
{% if canonical %}<meta property="og:url" content="{{ canonical }}">{% endif %}
|
|
{% if site and site().default_image %}<meta property="og:image" content="{{ site().default_image }}">{% endif %}
|
|
{% if site and site().fb_app_id %}<meta property="fb:app_id" content="{{ site().fb_app_id }}">{% endif %}
|
|
|
|
{# Twitter (website) #}
|
|
<meta name="twitter:card" content="{{ 'summary_large_image' if site and site().default_image else 'summary' }}">
|
|
{% if site and site().twitter_site %}<meta name="twitter:site" content="{{ site().twitter_site }}">{% endif %}
|
|
<meta name="twitter:title" content="{{ base_title }}">
|
|
{% if description %}<meta name="twitter:description" content="{{ description }}">{% endif %}
|
|
{% if site and site().default_image %}<meta name="twitter:image" content="{{ site().default_image }}">{% endif %}
|