{
"path": "/3mhdmim4c2s2j",
"site": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/site.standard.publication/3lppk75kw7k26",
"tags": [],
"$type": "site.standard.document",
"title": "New year Leaflet improvements roundup",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019cf83c-bdcc-7880-affb-bdadc9321073",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "We kicked off the year with a parade of Leaflet improvements — lots of smaller things we'd had on the list for a while. Here we collect them in one place — see embedded posts below for detail!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Page width"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Theme setting for max width on posts (per-publication, or per-doc for standalone Leaflets)."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Narrower: great when you want subpages side by side."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Wide: great for letting your posts breathe."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreicpxfg5dd4cee75gjdn2nu7alli7ozt5acpmfdnnplrqzh7rnq3hy",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mcb3swmsw22n"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Small and large text"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 19,
"byteStart": 14
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
},
{
"index": {
"byteEnd": 48,
"byteStart": 43
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
}
],
"plaintext": "Make any text small (e.g. for captions) or large (e.g. for intros)."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Plus — keyboard shortcuts!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreiax6ojr2s7q6ld7tgzkvcfgtd63fpmqdai6mewpxd54luhevnde5i",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mcdm4q7p7c2d"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Prev / next, and other post options"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "In publication settings we now have a \"post options\" menu where you can toggle showing prev / next links in footer, and toggle post interactions (comments, mentions, recommends) if you like!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "We also added a per-post setting so you can disable certain interactions just for certain posts if needed."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreib4itwvvdnajlfjerzndlg7bfenkqheuendgfpnnrqubpph2ttuva",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mcl2r4wg3s24"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Improved profile preview and mention styles"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "We gave @-mentions a little more emphasis, and made it so that tapping / clicking opens a preview card first."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreicmli2y344afnrkabe2esf75uemol566dnswhsyirjhw6lij2au24",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mcx6hpu7hc2u"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Backdate published posts"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "If you've imported posts, or just need to backdate a belated post (like this one!) you can now edit published date."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreicex2bivqrm5vofcv5y6pz37gxpssof33wqy3qyiy66fnidy26oza",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mcx5drvnqk2l"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Improved block handling"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Several changes to make working with blocks nicer, like inline deleting and reordering, easier selection, and streamlined toolbars."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreidtqvyvyx27tfbmdb6qzxito3o3hpqs4ewvarwxjq3k62vn3fnjua",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3md4ilnzkos2t"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Cover images"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [
{
"index": {
"byteEnd": 41,
"byteStart": 30
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
},
{
"index": {
"byteEnd": 160,
"byteStart": 151
},
"features": [
{
"$type": "pub.leaflet.richtext.facet#italic"
}
]
}
],
"plaintext": "Set any image in your post as cover image to use for social previews. Still to do: using for post previews on publication homepage and elsewhere…and looseleaf support!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreiahm7wwwbicmznwunxu7rucald5q6nxkm5rn6276677n773u56v3q",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mdgge7k5lc2i"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"plaintext": "Improved Bluesky thread viewer"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "Our Bluesky thread viewer is a bit smoother to use; it's now easier to view post quotes, open Bluesky links, see replies and more."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.bskyPost",
"postRef": {
"cid": "bafyreiehvfmxllq3lpnhwp74pqmjbv7jbmek5oc7o2il4xtg7heb6wgfx4",
"uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3mdy7jmo4222z"
},
"clientHost": "bsky.app"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"plaintext": "That's it for this month, but we're always improving Leaflet and appreciate ideas & feedback on what we should prioritize next!"
}
}
]
}
]
},
"description": "Lab Notes 022: kicking off the year with new features like page width, small/large text, cover images, and editable post dates; and improving everything from mentions to block handling to our Bluesky thread viewer",
"publishedAt": "2026-02-03T14:41:00.000Z"
}