com.dryan.timeline.entry

dryan.com

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "achievement": {
      "properties": {
        "achievementId": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "game": {
          "type": "string"
        },
        "iconUrl": {
          "format": "uri",
          "type": "string"
        },
        "platform": {
          "knownValues": [
            "xbox"
          ],
          "type": "string"
        },
        "xboxTitleId": {
          "type": "integer"
        }
      },
      "required": [
        "game",
        "platform"
      ],
      "type": "object"
    },
    "activity": {
      "properties": {
        "averageHeartrate": {
          "description": "Beats per minute, decimal string.",
          "type": "string"
        },
        "averageSpeed": {
          "description": "Metres per second, decimal string.",
          "type": "string"
        },
        "bounds": {
          "ref": "#bounds",
          "type": "ref"
        },
        "distanceMeters": {
          "type": "integer"
        },
        "elapsedTimeSeconds": {
          "type": "integer"
        },
        "elevationGainMeters": {
          "type": "integer"
        },
        "elevationLossMeters": {
          "type": "integer"
        },
        "end": {
          "ref": "#point",
          "type": "ref"
        },
        "maxElevationMeters": {
          "type": "integer"
        },
        "maxHeartrate": {
          "description": "Beats per minute, decimal string.",
          "type": "string"
        },
        "maxSpeed": {
          "description": "Metres per second, decimal string.",
          "type": "string"
        },
        "minElevationMeters": {
          "type": "integer"
        },
        "movingTimeSeconds": {
          "type": "integer"
        },
        "polyline": {
          "description": "Google encoded polyline of the track.",
          "type": "string"
        },
        "source": {
          "description": "Where the track came from (Strava, AllTrails, onX...).",
          "type": "string"
        },
        "sourceId": {
          "description": "The activity's id at the source, e.g. the Strava activity id.",
          "type": "string"
        },
        "sourceUrl": {
          "format": "uri",
          "type": "string"
        },
        "sportType": {
          "type": "string"
        },
        "start": {
          "ref": "#point",
          "type": "ref"
        }
      },
      "type": "object"
    },
    "article": {
      "properties": {
        "crosspostedFrom": {
          "ref": "#crosspost",
          "type": "ref"
        },
        "description": {
          "type": "string"
        },
        "shareImage": {
          "description": "Filename of the article's share graphic on the site.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "book": {
      "properties": {
        "amazonUrl": {
          "format": "uri",
          "type": "string"
        },
        "asin": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "bookshopOrgUrl": {
          "format": "uri",
          "type": "string"
        },
        "coverUrl": {
          "format": "uri",
          "type": "string"
        },
        "dateFinished": {
          "type": "string"
        },
        "dateStarted": {
          "type": "string"
        },
        "goodreadsId": {
          "type": "string"
        },
        "goodreadsUrl": {
          "format": "uri",
          "type": "string"
        },
        "isbn": {
          "type": "string"
        },
        "openLibraryUrl": {
          "format": "uri",
          "type": "string"
        },
        "reviewUrl": {
          "format": "uri",
          "type": "string"
        },
        "subtitle": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "bounds": {
      "properties": {
        "maxLatitude": {
          "type": "string"
        },
        "maxLongitude": {
          "type": "string"
        },
        "minLatitude": {
          "type": "string"
        },
        "minLongitude": {
          "type": "string"
        }
      },
      "required": [
        "minLatitude",
        "maxLatitude",
        "minLongitude",
        "maxLongitude"
      ],
      "type": "object"
    },
    "code": {
      "properties": {
        "action": {
          "type": "string"
        },
        "commitCount": {
          "type": "integer"
        },
        "commits": {
          "items": {
            "ref": "#commit",
            "type": "ref"
          },
          "type": "array"
        },
        "event": {
          "description": "GitHub event type (push, pull_request, issue_comment...).",
          "type": "string"
        },
        "githubEventId": {
          "type": "string"
        },
        "repo": {
          "description": "owner/name on GitHub.",
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "repo",
        "event"
      ],
      "type": "object"
    },
    "commit": {
      "properties": {
        "message": {
          "type": "string"
        },
        "sha": {
          "type": "string"
        }
      },
      "required": [
        "sha"
      ],
      "type": "object"
    },
    "crosspost": {
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "game": {
      "properties": {
        "date": {
          "description": "YYYY-MM-DD of the session.",
          "type": "string"
        },
        "leagueId": {
          "description": "Hearthstone ranked league.",
          "type": "integer"
        },
        "legendRank": {
          "type": "integer"
        },
        "platform": {
          "knownValues": [
            "xbox",
            "hearthstone"
          ],
          "type": "string"
        },
        "starLevel": {
          "type": "integer"
        },
        "stars": {
          "type": "integer"
        },
        "titles": {
          "items": {
            "ref": "#gameTitle",
            "type": "ref"
          },
          "type": "array"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "gameTitle": {
      "properties": {
        "logoUrl": {
          "format": "uri",
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "link": {
      "properties": {
        "note": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "main": {
      "properties": {
        "detail": {
          "refs": [
            "#article",
            "#photo",
            "#book",
            "#video",
            "#link",
            "#movie",
            "#activity",
            "#code",
            "#game",
            "#achievement"
          ],
          "type": "union"
        },
        "entryType": {
          "knownValues": [
            "article",
            "photo",
            "book",
            "video",
            "link",
            "movie",
            "activity.walk",
            "activity.hike",
            "activity.cycle",
            "activity.kayak",
            "activity.other",
            "code",
            "game",
            "game.achievement"
          ],
          "type": "string"
        },
        "localDate": {
          "description": "YYYY-MM-DD: the day the entry is filed under on the site.",
          "type": "string"
        },
        "timezone": {
          "description": "IANA zone the entry happened in; localDate is derived from publishedAt in this zone.",
          "type": "string"
        }
      },
      "required": [
        "entryType"
      ],
      "type": "object"
    },
    "movie": {
      "properties": {
        "letterboxdUrl": {
          "format": "uri",
          "type": "string"
        },
        "liked": {
          "type": "boolean"
        },
        "posterUrl": {
          "format": "uri",
          "type": "string"
        },
        "rating": {
          "description": "Star rating as a decimal string, absent when unrated.",
          "type": "string"
        },
        "rewatch": {
          "type": "boolean"
        },
        "tmdbId": {
          "description": "The Movie Database id.",
          "type": "string"
        },
        "year": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "photo": {
      "properties": {
        "altText": {
          "type": "string"
        },
        "contentHash": {
          "description": "sha256 fingerprint used for duplicate detection.",
          "type": "string"
        },
        "exif": {
          "description": "Camera and capture metadata as extracted at upload; non-integer numbers are decimal strings.",
          "type": "unknown"
        },
        "imageUrl": {
          "description": "Full-size delivery URL; coverImage on the document is the copy under atproto's blob cap.",
          "format": "uri",
          "type": "string"
        }
      },
      "type": "object"
    },
    "point": {
      "properties": {
        "latitude": {
          "description": "Decimal degrees as a string.",
          "type": "string"
        },
        "longitude": {
          "description": "Decimal degrees as a string.",
          "type": "string"
        }
      },
      "required": [
        "latitude",
        "longitude"
      ],
      "type": "object"
    },
    "video": {
      "properties": {
        "authorName": {
          "type": "string"
        },
        "authorUrl": {
          "format": "uri",
          "type": "string"
        },
        "durationSeconds": {
          "type": "integer"
        },
        "note": {
          "type": "string"
        },
        "provider": {
          "knownValues": [
            "youtube",
            "vimeo"
          ],
          "type": "string"
        },
        "thumbnailUrl": {
          "format": "uri",
          "type": "string"
        },
        "url": {
          "format": "uri",
          "type": "string"
        },
        "videoId": {
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    }
  },
  "description": "The dryan.com timeline's per-entry data, carried in the `content` open union of a site.standard.document record. The document holds what every entry shares (title, path, publishedAt, description, textContent, tags, coverImage); this holds the entry type, the day it belongs to, and the type-specific detail. atproto records cannot carry floats, so measurements that are not whole numbers (speeds, heart rates, coordinates) are decimal strings.",
  "id": "com.dryan.timeline.entry",
  "lexicon": 1
}

Validate Record

Validate a record against com.dryan.timeline.entry

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:zieub5temeseyvmogjy2qv7w
CID
bafyreifggkkkhrtikhs6lw53jwnmjatt3gykod2xcrrox22q53incmkhvq
Indexed At
2026-10-13 01:18 UTC
AT-URI
at://did:plc:zieub5temeseyvmogjy2qv7w/com.atproto.lexicon.schema/com.dryan.timeline.entry

Version History (2 versions)

Lexicon Garden

@