An ATproto social media client -- with an independent Appview.

feat: profile.html structured content

+35
+35
bskyweb/templates/profile.html
··· 51 51 <meta property="og:description" content="This profile requires authentication to view."> 52 52 <meta property="twitter:description" content="This profile requires authentication to view."> 53 53 {% endif %} 54 + 55 + <script type="application/ld+json"> 56 + { 57 + "@context": "https://schema.org", 58 + "@type": "ProfilePage", 59 + "dateCreated": "{{ profileView.CreatedAt }}", 60 + "mainEntity": { 61 + "@type": "Person", 62 + "name": "{{ profileView.DisplayName }}", 63 + "alternateName": "@{{ profileView.Handle }}", 64 + "identifier": "{{ profileView.Did }}", 65 + "description": "{{ profileView.Description }}", 66 + "image": "{{ profileView.Avatar }}", 67 + "interactionStatistic": [ 68 + { 69 + "@type": "InteractionCounter", 70 + "interactionType": "https://schema.org/FollowAction", 71 + "userInteractionCount": {{ profileView.FollowersCount }} 72 + }, 73 + ], 74 + "agentInteractionStatistic": [ 75 + { 76 + "@type": "InteractionCounter", 77 + "interactionType": "https://schema.org/FollowAction", 78 + "userInteractionCount": {{ profileView.FollowsCount }} 79 + }, 80 + { 81 + "@type": "InteractionCounter", 82 + "interactionType": "https://schema.org/WriteAction", 83 + "userInteractionCount": {{ profileView.PostsCount }} 84 + }, 85 + ] 86 + } 87 + } 88 + </script> 54 89 {% endif -%} 55 90 {%- endblock %} 56 91