Probably still not perfect, but better.
- don't user avatar image. use banner for profile and post img, or
  nothing
- most twitter metadata fields were redundant; twitter will parse out
  opengraph ("og:"), so don't duplicate those
- add regular HTML description (for google, etc)
- include URI
- actually include text
		
	
			
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends "base.html" %}
 | 
						|
 | 
						|
{% block head_title %}
 | 
						|
{%- if profileView -%}
 | 
						|
  @{{ profileView.Handle }} on Bluesky
 | 
						|
{%- else -%}
 | 
						|
  Bluesky
 | 
						|
{%- endif -%}
 | 
						|
{% endblock %}
 | 
						|
 | 
						|
{% block html_head_extra -%}
 | 
						|
{%- if profileView -%}
 | 
						|
  <meta property="og:type" content="website">
 | 
						|
  <meta property="og:site_name" content="Bluesky Social">
 | 
						|
  {%- if requestURI %}
 | 
						|
  <meta property="og:url" content="{{ requestURI }}">
 | 
						|
  {% endif -%}
 | 
						|
  {%- if profileView.DisplayName %}
 | 
						|
  <meta property="og:title" content="{{ profileView.DisplayName }} (@{{ profileView.Handle }})">
 | 
						|
  {% else %}
 | 
						|
  <meta property="og:title" content="{{ profileView.Handle }}">
 | 
						|
  {% endif -%}
 | 
						|
  {%- if profileView.Description %}
 | 
						|
  <meta name="description" content="{{ profileView.Description }}">
 | 
						|
  <meta property="og:description" content="{{ profileView.Description }}">
 | 
						|
  {% endif -%}
 | 
						|
  {%- if profileView.Banner %}
 | 
						|
  <meta property="og:image" content="{{ profileView.Banner }}">
 | 
						|
  <meta name="twitter:card" content="summary_large_image">
 | 
						|
  {%- elif profileView.Avatar -%}
 | 
						|
  {# Don't use avatar image in cards; usually looks bad #}
 | 
						|
  <meta name="twitter:card" content="summary">
 | 
						|
  {% endif %}
 | 
						|
  <meta name="twitter:label1" content="Account DID">
 | 
						|
  <meta name="twitter:value1" content="{{ profileView.Did }}">
 | 
						|
  <meta name="twitter:site" content="@bluesky">
 | 
						|
{% endif -%}
 | 
						|
{%- endblock %}
 | 
						|
 | 
						|
{% block noscript_extra -%}
 | 
						|
<div id="bsky_profile_summary">
 | 
						|
  <h3>Profile</h3>
 | 
						|
  <p id="bsky_display_name">{{ profileView.DisplayName }}</p>
 | 
						|
  <p id="bsky_handle">{{ profileView.Handle }}</p>
 | 
						|
  <p id="bsky_did">{{ profileView.Did }}</p>
 | 
						|
  <p id="bsky_profile_description">{{ profileView.Description }}</p>
 | 
						|
</div>
 | 
						|
{%- endblock %}
 |