the home site for me: also iteration 3 or 4 of my site
1{% set profile_part = post | split(pat="profile/") | last %} {% set parts = 2profile_part | split(pat="/") %} {% set handle = parts[0] %} {% set post_id = 3parts[2] %} {% set api_url = 4"https://public.api.bsky.app/xrpc/app.bsky.feed.getPostThread?uri=at://" ~ 5handle ~ "/app.bsky.feed.post/" ~ post_id %} {% set response = 6load_data(url=api_url, format="json") %} {% if response.thread and 7response.thread.post %} {% set post_data = response.thread.post %} {% set author 8= post_data.author.displayName %} {% set handle = post_data.author.handle %} {% 9set content = post_data.record.text %} {% set has_embed = post_data.embed is 10defined and post_data.embed %} 11<blockquote> 12 {{ content }} {% if has_embed and post_data.embed["$type"] == 13 "app.bsky.embed.video#view" %} 14 <video controls poster="{{ post_data.embed.thumbnail }}"> 15 <source 16 src="{{ post_data.embed.playlist }}" 17 type="application/x-mpegURL" 18 /> 19 </video> 20 {% endif %} 21 <p> 22 <cite> 23 <a href="{{ post }}" target="_blank" rel="noopener" 24 ><img 25 src="{{ post_data.author.avatar }}" 26 alt="{{ author }}'s avatar" 27 class="avatar" 28 />@{{ handle }}</a 29 ></cite 30 > 31 </p> 32</blockquote> 33{% else %} 34<blockquote> 35 <div class="bsky-post"> 36 <div class="bsky-post-content">"Failed to render Bluesky post"</div> 37 <div class="bsky-post-footer"> 38 <cite 39 ><img 40 src="/img/bluesky-logo.png" 41 alt="Bluesky logo" 42 class="avatar" 43 /> 44 <a href="{{ post }}" target="_blank" rel="noopener" 45 >View on Bluesky</a 46 ></cite 47 > 48 </div> 49 </div> 50</blockquote> 51{% endif %}