{% extends 'base.html.twig' %} {% block title %}{{ article.title|trim }} — {{ website_name }}{% endblock %} {% block meta_description %} {% set _desc = article.summary|default('')|striptags|u.truncate(159, '…') %} {% endblock %} {% block ogtags %} {# Upstream main only outputs og:image when article.image is set — unfurlers often show a blank card. Always set an absolute image + JSON-LD. #} {% set _img = article.image|default('')|trim %} {% if _img == '' %} {% set _og_image = absolute_url(asset('og-image.jpg')) %} {% set _og_default_dims = true %} {% elseif _img starts with '//' %} {% set _og_image = 'https:' ~ _img %} {% set _og_default_dims = false %} {% else %} {% set _og_image = absolute_url(_img) %} {% set _og_default_dims = false %} {% endif %} {% set _desc = article.summary|default('')|striptags|u.truncate(159, '…') %} {% set _canonical = url('article', { npub: npub|default(npub_from_hex(article.pubkey)), slug: article.slug }) %} {% set _author_name = '' %} {% if author is defined and author %} {% set _author_name = attribute(author, 'name')|default(attribute(author, 'display_name')|default('')) %} {% endif %} {% if _og_image starts with 'https://' %} {% endif %} {% if _og_default_dims %} {% endif %} {% endblock %} {% block body %} {% if is_granted('ROLE_ADMIN') %} {% endif %}

{{ article.title }}

{% set _art_share = nostr_event_share(article) %} {% if _art_share %}{% include 'components/Molecules/NostrShareMenu.html.twig' with { share: _art_share, event_menu: true } only %}{% endif %}
{% if author %}
{% if article.displayDateTime %} {{ article.displayDateTime|date('F j, Y') }} {% endif %}
{% endif %}
{{ article.summary }}
{% if article.image %}
{{ article.title }}
{% endif %}
{{ content|raw }}
{% if article.topics|length > 0 %}
{% for tag in article.topics %} {{ tag }} {% endfor %}
{% endif %}

{#
#}
{#        {{ article.content }}#}
{#    
#} {% set article_coordinate = (article.kind ? article.kind.value : 30023) ~ ':' ~ article.pubkey ~ ':' ~ article.slug %} {% set comments_query = { coordinate: article_coordinate, title: article.title|default('') }|merge(article.eventId ? { e: article.eventId } : {}) %} {% set _reply_ctx = comments_data.comment_reply_context|default(comment_reply_context|default(null)) %} {% include 'components/Molecules/ArticleReplyComposer.html.twig' with { comment_reply_context: _reply_ctx } only %}
{% if comments_preloaded|default(false) and comments_data is defined and comments_data is not null %} {% include 'components/Organisms/Comments.html.twig' with comments_data %} {% else %}

Loading comments…

{% endif %}
{% endblock %} {% block aside %} {#

Suggestions

#} {# #} {% endblock %}