{
"path": "/3lveimjgk3k2v",
"site": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/site.standard.publication/3lppk75kw7k26",
"$type": "site.standard.document",
"title": "Quotes: social sharing on Bluesky!",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "We added a new feature for sharing quotes from Leaflet posts!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "This has two parts, highlights and quotes, that work together:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 9,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Highlight an excerpt from a post, and you'll see a popover to share directly to Bluesky (or copy as a link)"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 6,
"byteStart": 0
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#bold"
}
]
}
],
"plaintext": "Quotes open in a panel you can toggle next to the post, showing quoted parts with links to the corresponding Bluesky posts"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Anyone can share the highlight link, even without a Bluesky account. But when you share to Bluesky, it's saved as a quote, and those conversations live alongside the post."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 30,
"byteStart": 19
},
"features": [
{
"uri": "https://bsky.app/profile/o.simardcasanova.net/post/3luujudlr5c2j",
"$type": "pub.leaflet.richtext.facet#link"
}
]
}
],
"plaintext": "Olivier wrote up a nice thread on this as well, with a demo + great points on how this shows what's possible with atproto."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "⁂ ⁂ ⁂"
},
"alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Sharing to spark conversations"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 85,
"byteStart": 82
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
}
],
"plaintext": "We like this because it adds a direct social loop between Leaflet and Bluesky — and because it's useful both for readers and writers!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.unorderedList",
"children": [
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Readers can share the things that resonated most, give feedback, and use to start related discussions"
},
"children": []
},
{
"$type": "pub.leaflet.blocks.unorderedList#listItem",
"content": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Writers can share questions or teasers from their own posts — along with posting on initial publish, a great way to share in more specific ways and direct the conversation"
},
"children": []
}
]
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I'm enjoying this as both a reader and writer…and in particular excited to use more for the casual summer blog club we're running! Browse participants' pubs here, lots of good ones to try quoting :)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://summer-of-pub.leaflet.pub/3luns266ud22b",
"$type": "pub.leaflet.blocks.website",
"title": "Leaflet blog club: initial participants - Summer of Pub",
"description": "Here’s who’s blogging so far…reach out to be added to the list!",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiheqyq5nzpmgjtbjxfprwipdcjowtvkmaick74cojn4b3nclniofe"
},
"mimeType": "image/png",
"size": 29985
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "This functions somewhat adjacent to comments, though more anchored on sharing than conversation, and we still have some things to figure out e.g. around notifying authors/commenters."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "We'd still like to add more standard comments too, and think it'll fit nicely alongside quotes."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "⁂ ⁂ ⁂"
},
"alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Notable Quotables"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "A few fun examples to see this in action!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Jared shared a couple great ones from Jake and JT:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://jakefee.leaflet.pub/3lr47xhlnzc2q/l-quote/28_0-28_467#28_0",
"$type": "pub.leaflet.blocks.website",
"title": "[003] Silver Institutions - Dreaming at the Edge of the Apocalypse",
"description": "Sunday 8 June 2025",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreih7o2gkslakk3aid2zodmdu5z5ltevjmhplvhfulsyaw7ddhrnl24"
},
"mimeType": "image/png",
"size": 50877
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://not-yet-thinking.leaflet.pub/3lv5gbcjew22x/l-quote/21_0-21_445#21_0",
"$type": "pub.leaflet.blocks.website",
"title": "Fungo Zone - not yet thinking",
"description": "The web is rotting, enjoy it!",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreifyaji4edjemhlb2aoitzzqhutjaoz7smys5lm2riqkbgcanh5diq"
},
"mimeType": "image/png",
"size": 68115
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Here's one Bread shared from one of my Scraps! posts:"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://scraps.schlage.town/3lvbvspr6bc2i/l-quote/6.4_0-6.4.0_154#6.4_0",
"$type": "pub.leaflet.blocks.website",
"title": "On a snapshot from the Morgan Library… - Scraps!",
"description": "Exploring and annotating a list of (very old; rich with intrigue) book titles jotted down on a library visit, ten years later.",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreib4zprkjl62yjar3bmtymnats7uwyodqxjud3d46hcjea73po3sje"
},
"mimeType": "image/png",
"size": 50517
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "And I've been playing with quotes a bunch too!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://dungeon-merlin.leaflet.pub/3lv7pjujrn22u/l-quote/10_0-10_363#10_0",
"$type": "pub.leaflet.blocks.website",
"title": "Towards a Framework for Authoring Adventures - Dungeon Merlin",
"description": "Dice Goblin Games wrote a great blog post about how primitive it can feel to be reading RPGs and Adventures as PDFs on your screen. It’s like the old joke of most MacBooks being $2000 Facebook machines. Only sadder, because at least Facebook downloads a lot of JavaScript on first load, which is already an important step towards what I’ll be describing below.",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiezdny7itwx7k7zqwdsnzrmu6nxdpebqcywnnbvdixzccj2u6unve"
},
"mimeType": "image/png",
"size": 33531
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://roxxiblogs.leaflet.pub/3luzlamck6s2j/l-quote/1_0-1_450#1_0",
"$type": "pub.leaflet.blocks.website",
"title": "ALBUMS YOU SHOULD LISTEN TO ! - ✨ Library of Arts ✨",
"description": "My list of perfect Albums",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreif4koysp3ozzumulzi27wmb7lpy5duwlj2d5ddgsewhzuepjrbzoq"
},
"mimeType": "image/png",
"size": 29946
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"src": "https://htmlenergy.leaflet.pub/3luuqcx237k2x/l-quote/2_0-3_159#2_0",
"$type": "pub.leaflet.blocks.website",
"title": "HTML Day ✺ Saturday, August 2, 2025 - HTML Energy",
"description": "On Saturday, August 2nd, 2025, we’ll be gathering in places around the world to write and celebrate HTML.",
"previewImage": {
"$type": "blob",
"ref": {
"$link": "bafkreif2rzv4m75uthfvqebtbmldjywujryrynccjoqaohomijrkk37hqe"
},
"mimeType": "image/png",
"size": 61640
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "^btw, HTML Day 2025 is happening tomorrow, and we're proud to help sponsor! Take a look & see if there's an event near you ✨❇️"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "⁂ ⁂ ⁂"
},
"alignment": "lex:pub.leaflet.pages.linearDocument#textAlignCenter"
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Let us know if you have thoughts / feedback on this or other social features you'd like to see us explore next!"
}
}
]
}
]
},
"bskyPostRef": {
"cid": "bafyreigbtirkahd4dv7imsesltc2ve54imycbz43b2szhxsfc4iwvwrdnm",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3lveind4jsc2v",
"commit": {
"cid": "bafyreicn3wcfc27upu6lwtfjbmfv4yu4meba5qeltnxh7tcrzbscqm2ivu",
"rev": "3lveind74uj2o"
},
"validationStatus": "valid"
},
"description": "Lab Notes 008: a way to highlight and post excerpts from Leaflet publications to Bluesky, to share love & start conversations!",
"publishedAt": "2025-08-01T20:31:36.190Z"
}