{
  "path": "/3m7t7taogdc2j",
  "site": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/site.standard.publication/3lppk75kw7k26",
  "tags": [
    "atproto",
    "tags",
    "Leaflet"
  ],
  "$type": "site.standard.document",
  "title": "Experimenting with tags in Leaflet",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "01994f35-2ee1-7ff6-90a1-2ac06b76ca39",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We're experimenting with tags in Leaflet!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "To set expectations: this is intentionally simple in scope — not the single ultimate solution for content organization and discovery, but a fun surface area to explore and see how folks use!"
            }
          },
          {
            "$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": "What's old (tags) is new again (tags!)"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We're fans of tags as a tool, a construct, a social coordination mechanism, a site for good clean (sometimes not so clean) fun."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Tags are a staple everywhere from classic blogs to Tumblr to AO3 to Instagram to Twitter and Bluesky, each with their own flavor, each giving people ways to self-organize and communicate and make it easier to find the others."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Leaflet, where longform blogging meets social media, feels like a perfect place to try adding some tag energy!"
            }
          },
          {
            "$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": "How tags work in Leaflet"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Tags are global — add them to a post, and they'll show:"
            }
          },
          {
            "$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": "on the published post — icon at the top (click to open), list at bottom, so you can add many without cluttering the reader view"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 64,
                          "byteStart": 35
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/music",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "on a global page for that tag e.g. https://leaflet.pub/tag/music"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiaq6tzazxwuodyiecalbckjdf6odxnyi7apdidlnff3rlv6pou5na"
                },
                "mimeType": "image/png",
                "size": 58667
              },
              "aspectRatio": {
                "width": 1318,
                "height": 404
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Add tags while drafting a post, or during the publish flow. You can edit an existing post to add tags as well."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreihiw3jnimchoz5npzt66ptknihgowwfi2vxdjmyt2iby35gggle54"
                },
                "mimeType": "image/png",
                "size": 45983
              },
              "aspectRatio": {
                "width": 1318,
                "height": 414
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Click a tag from a post to see its global tag page and view other posts with that tag!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreie4kldmqal6qcmv6wr4m7qi2or6rcvbqmovc7yechhxuvcjctq5sy"
                },
                "mimeType": "image/png",
                "size": 104227
              },
              "aspectRatio": {
                "width": 1454,
                "height": 702
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Tags can contain any characters, including spaces, no hashtag needed. They're completely separate from Bluesky tags."
            }
          },
          {
            "$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": "Initial tag examples!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "This can be used in lots of ways, and we expect this to be a little chaotic and evolve as we go. Some early examples:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.header",
                    "level": 2,
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 5,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/links",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "links"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.header",
                    "level": 2,
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 7,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/atproto",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "atproto"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.header",
                    "level": 2,
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 5,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/music",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "music"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.header",
                    "level": 2,
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 5,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/ttrpg",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "ttrpg"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.header",
                    "level": 2,
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 3,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "uri": "https://leaflet.pub/tag/art",
                            "$type": "pub.leaflet.richtext.facet#link"
                          }
                        ]
                      }
                    ],
                    "plaintext": "art"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$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": "More tags to try!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Some community suggestions we'd love to see you play with:"
            }
          },
          {
            "$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": 16,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 59,
                          "byteStart": 44
                        },
                        "features": [
                          {
                            "did": "did:plc:6ayddqghxhciedbaofoxkcbs",
                            "$type": "pub.leaflet.richtext.facet#didMention"
                          }
                        ]
                      }
                    ],
                    "plaintext": "\"year in review\" for annual reflections, HT @tynanpurdy.com "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 5,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 40,
                          "byteStart": 28
                        },
                        "features": [
                          {
                            "did": "did:plc:mv3lojrmmhpnnvzp2odl2rl7",
                            "$type": "pub.leaflet.richtext.facet#didMention"
                          }
                        ]
                      }
                    ],
                    "plaintext": "\"TIL\" (today I learned), HT @bront.rodeo "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 16,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 118,
                          "byteStart": 101
                        },
                        "features": [
                          {
                            "did": "did:plc:kydzcmnywraao2srchqgwj5c",
                            "$type": "pub.leaflet.richtext.facet#didMention"
                          }
                        ]
                      }
                    ],
                    "plaintext": "\"Hello Leaflet!\" for people sharing their first post on Leaflet, a fun way to discover new blogs, HT @cozylittle.house "
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [
                      {
                        "index": {
                          "byteEnd": 11,
                          "byteStart": 0
                        },
                        "features": [
                          {
                            "$type": "pub.leaflet.richtext.facet#bold"
                          }
                        ]
                      },
                      {
                        "index": {
                          "byteEnd": 31,
                          "byteStart": 16
                        },
                        "features": [
                          {
                            "did": "did:plc:57od6g2ic3e3b3kauctjmo3k",
                            "$type": "pub.leaflet.richtext.facet#didMention"
                          }
                        ]
                      }
                    ],
                    "plaintext": "\"weeknotes\", HT @graham.systems "
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Also: tags for local scenes! Tags for \"reading\" and \"learning\"! And all kinds of other things…"
            }
          },
          {
            "$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": "Tags for signaling and coordinating"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We're excited about how tags can be useful as a minimal interface for experimenting with communities — publishing together, exploring related topics, coordinating around events, and so on."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "One hypothesis we're testing is that global Leaflet discovery is fun but not as helpful as a way to find your people; things like tags, that help you explore and create more targeted clusters, could be!"
            }
          },
          {
            "$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": "Loose communities, like builders in the atmosphere, might use a general tag like \"atproto\" for posts about atproto products or experiments"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "A conference might use a tag like \"Atmosphere Conf 2025\", for posts directly relating to that event"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "We can use topic tags like \"links\", \"music\" or \"making games\" to make it easier to find posts on that topic in one place"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Tags are nice for a range of social publishing participants — readers, commenters, critics, future collaborators — as well as for writers. Fun to stumble on; fun to hang around…like…a campfire?"
            }
          },
          {
            "$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": "A note about moderation…"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We expect we'll need to moderate tags. Your tags are your data (that's how atproto works!) but Leaflet is not neutral infrastructure, and we'll exercise editorial control on our site."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 204,
                    "byteStart": 184
                  },
                  "features": [
                    {
                      "uri": "https://bsky.social/about/support/community-guidelines",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "We don't yet surface tags on our global Discover page. When we do you should expect Discover to be opinionated; we'll suppress tags that feel spammy, offensive (we'll follow Bluesky's community guidelines as a starting point), or just add noise / harsh the vibes."
            }
          },
          {
            "$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": "What tags are NOT"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "This is one of the more experimental features we've shipped, and we want to be clear about what that means."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "We're not committed to this tags implementation being a permanent thing. You shouldn't make it load-bearing for your publication at this point. Tags are:"
            }
          },
          {
            "$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": "not private: there's no way to use just internally for personal organization, or scope tags to a single publication"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "not submission-based: there's no way for anyone besides us to moderate what shows on a tag page"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "not complex: for now, we have no advanced controls like muting, favoriting, or subscribing to tags"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "not guaranteed to live forever: again, we make no promise we'll keep this forever as a core feature"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 185,
                    "byteStart": 182
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "Long term we're not sure if tags are the right way to organize things on Leaflet; other features for communities might be better in many cases. But this is a simple thing we can use now to start sharing things with each other — let's see how it goes!"
            }
          },
          {
            "$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": "Future improvements"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "There are lots of ways we'd like to improve tags, as well as related things we may (or may not) get to eventually, like:"
            }
          },
          {
            "$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": "Support for Looseleafs on tag pages (will fix soon)"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Language or NSFW tags (probably better as separate settings)"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Mechanisms for tag discovery (e.g. on our Discover page)"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Bluesky feeds for Leaflet tags"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "Showing all tags a writer's used on their dashboard, default tags to add to all posts in a given publication, or related tags from within a post…"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "As always please reach out with any feedback. We'll see what we can do to help with some interesting tag experiments over the coming weeks!"
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreiekx2ghsxlg6tmgztuvp776wym7jwp625pawfoyth3vhtauhgakka",
    "uri": "at://did:plc:btxrwcaeyodrap5mnjw2fvmz/app.bsky.feed.post/3m7t7tgzyy22j",
    "commit": {
      "cid": "bafyreibxbuyxp5yf6fs72vwr7dq4tj4krwqjt2fk5qftrg3lkcrbdfbvpm",
      "rev": "3m7t7th3yfi2i"
    },
    "validationStatus": "valid"
  },
  "description": "Lab Notes 018: a simple implementation of global tags for Leaflet posts, to help writers and communities coordinate and find each other — with some early examples and ways to try!",
  "publishedAt": "2025-12-12T23:16:10.568Z"
}