about summary refs log tree commit diff
path: root/bskyweb/templates/post.html
blob: 983f84535530d07bca1174ed56a79a8f1cbc6afe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{% extends "base.html" %}

{% block head_title %}
{%- if postView -%}
  @{{ postView.Author.Handle }} on Bluesky
{%- elif requiresAuth and profileHandle -%}
  @{{ profileHandle }} on Bluesky
{%- else -%}
  Bluesky
{%- endif -%}
{% endblock %}

{% block html_head_extra -%}
{%- if postView -%}
  <meta property="og:type" content="article">
  <meta property="profile:username" content="{{ postView.Author.Handle }}">
  {%- if requestURI %}
  <meta property="og:url" content="{{ requestURI }}">
  <link rel="canonical" href="{{ requestURI|canonicalize_url }}" />
  {% endif -%}
  {%- if postView.Author.DisplayName %}
  <meta property="og:title" content="{{ postView.Author.DisplayName }} (@{{ postView.Author.Handle }})">
  {% else %}
  <meta property="og:title" content="@{{ postView.Author.Handle }}">
  {% endif -%}
  {%- if postText %}
  <meta name="description" content="{{ postText }}">
  <meta property="og:description" content="{{ postText }}">
  <meta property="twitter:description" content="{{ postText }}">
  {% endif -%}
  {%- if imgThumbUrls %}
  {% for imgThumbUrl in imgThumbUrls %}
  <meta property="og:image" content="{{ imgThumbUrl }}">
  <meta property="twitter:image" content="{{ imgThumbUrl }}">
  {% endfor %}
  <meta name="twitter:card" content="summary_large_image">
  {% else %}
  <meta property="og:image" content="{{ postView.Author.Avatar }}">
  <meta property="twitter:image" content="{{ postView.Author.Avatar }}">
  <meta name="twitter:card" content="summary">
  {% endif %}
  <meta name="twitter:label1" content="Posted At">
  <meta name="twitter:value1" content="{{ postView.IndexedAt }}">
  {%- if postView.LikeCount %}
  <meta name="twitter:label2" content="Likes">
  <meta name="twitter:value2" content="{{ postView.LikeCount }}">
  {% endif -%}
  {%- if postView.ReplyCount %}
  <meta name="twitter:label3" content="Replies">
  <meta name="twitter:value3" content="{{ postView.ReplyCount }}">
  {% endif -%}
  {%- if postView.RepostCount %}
  <meta name="twitter:label4" content="Reposts">
  <meta name="twitter:value4" content="{{ postView.RepostCount }}">
  {% endif -%}
  <meta property="article:published_time" content="{{ postView.IndexedAt }}">
  <link rel="alternate" type="application/json+oembed" href="https://embed.bsky.app/oembed?format=json&url={{ postView.Uri | urlencode }}" />
  <link rel="alternate" href="{{ postView.Uri }}" />
{%- elif requiresAuth and profileHandle -%}
  <meta property="og:type" content="article">
  <meta property="profile:username" content="{{ profileHandle }}">
  {%- if requestURI %}
  <meta property="og:url" content="{{ requestURI }}">
  <link rel="canonical" href="{{ requestURI|canonicalize_url }}" />
  {% endif -%}
  {%- if profileDisplayName %}
  <meta property="og:title" content="{{ profileDisplayName }} (@{{ profileHandle }})">
  {% else %}
  <meta property="og:title" content="@{{ profileHandle }}">
  {% endif -%}
  <meta name="description" content="This post requires authentication to view.">
  <meta property="og:description" content="This post requires authentication to view.">
  <meta property="twitter:description" content="This post requires authentication to view.">
  <meta name="twitter:card" content="summary">
{% endif -%}
{%- endblock %}

{% block noscript_extra -%}
{%- if postView -%}
<div id="bsky_post_summary">
  <h3>Post</h3>
  <p id="bsky_display_name">{{ postView.Author.DisplayName }}</p>
  <p id="bsky_handle">{{ postView.Author.Handle }}</p>
  <p id="bsky_did">{{ postView.Author.Did }}</p>
  <p id="bsky_post_text">{{ postText }}</p>
  <p id="bsky_post_indexedat">{{ postView.IndexedAt }}</p>
</div>
{%- elif requiresAuth and profileHandle -%}
<div id="bsky_post_summary">
  <h3>Post</h3>
  <p id="bsky_handle">{{ profileHandle }}</p>
  <p id="bsky_post_text">This post requires authentication to view.</p>
</div>
{% endif -%}
{%- endblock %}