An AT-URI 'Deeplink' lexicon?

A while ago I created a proof of concept called hopper.at which uses the RFC 6415 - Web Host Metadata (/.well-known/host-meta.json) format for something like this.

The spec is at hopper/documentation/SPEC.md at main · astrenoxcoop/hopper · GitHub

The idea was that by using {authority}, {collection}, and {rkey} template variables, you do really simple order-based mapping.

A minimal example would be:

{
  "rel": "https://hopper.at/rel/link",
  "template": "https://example.com/profile/{authority}",
  "properties": {}
}

A more complex example with matchers and filtering would look like:

{
  "links": [
    {
      "rel": "https://hopper.at/rel/link",
      "template": "https://example.com/profile/{authority}",
      "properties": {}
    },
    {
      "rel": "https://hopper.at/rel/link",
      "template": "https://example.com/{authority}/posts/{rkey}",
      "properties": {
        "https://atproto.com/ns/collection": "app.bsky.feed.post"
      }
    },
    {
      "rel": "https://hopper.at/rel/link",
      "template": "https://example.com/{authority}/events/{rkey}",
      "properties": {
        "https://atproto.com/ns/collection": "community.lexicon.calendar.event"
      }
    }
  ]
}

Could this be a lexicon schema with records? Sure, I don’t think what you’ve described and what I was looking at doing are terribly different.

3 Likes