Bluesky Comments Example

This document shows an example of the Bluesky Comments extension in Quarto embedding comments from multiple Bluesky posts in a single document.

Usage

To embed comments from a Bluesky post, use the {{< bluesky-comments >}} shortcode with a uri parameter. The URI should be in the format at://did/app.bsky.feed.post/rkey. To get the correct URI format, use the Bluesky/AT Protocol URL ↔︎ Identifier Converter to move from a Bluesky URL to an AT-URI for a post.

We’ve opted to require the at-uri for a post to ensure that the comments once embedded are not tied to a specific user URL that may change if the user changes their username.

Configuration

The document header or _quarto.yml can include configuration options for the Bluesky Comments extension. For this example, we’ve set the following configuration options:

bluesky-comments:
  mute-patterns: 
    - "📌"
    - "🔥"
  filter-empty-replies: true
  visible-comments: 3
  visible-subcomments: 5

We could also supply mute-users to mute specific users from the comments; however, we have not done so in this example.

Multiple Comment Sections

You can embed multiple comment sections in your document:

Small Thread

Post URL:

https://bsky.app/profile/coatless.bsky.social/post/3lbtwdydxrk26

Converted AT-URI:

at://did:plc:fgeozid7uyx2lfz3yo7zvm3b/app.bsky.feed.post/3lbtwdydxrk26

Shortcode:

{{< bluesky-comments uri="at://did:plc:fgeozid7uyx2lfz3yo7zvm3b/app.bsky.feed.post/3lbtwdydxrk26" >}}

Live:

Medium Thread

Post URL:

https://bsky.app/profile/nytimes.com/post/3lbvio3i5d22f

Converted AT-URI:

at://did:plc:eclio37ymobqex2ncko63h4r/app.bsky.feed.post/3lbvio3i5d22f

Shortcode:

{{< bluesky-comments uri="at://did:plc:eclio37ymobqex2ncko63h4r/app.bsky.feed.post/3lbvio3i5d22f" >}}

Live:

Massive Thread

Post URL:

https://bsky.app/profile/emilyliu.me/post/3lbqta5lnck2i

Converted AT-URI:

at://did:plc:vjug55kidv6sye7ykr5faxxn/app.bsky.feed.post/3lbqta5lnck2i

Shortcode:

{{< bluesky-comments uri="at://did:plc:vjug55kidv6sye7ykr5faxxn/app.bsky.feed.post/3lbqta5lnck2i" >}}

Live: