me.linkna.linkinbio
Schema Diff
+1012 -4
Compatibility Analysis
Breaking Changes Detected
76 breaking changes, 324 non-breaking changes.
Breaking Changes (76)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.subreddit", kind: "prop", name: Some("subreddit") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.title", kind: "prop", name: Some("title") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.numComments", kind: "prop", name: Some("numComments") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.score", kind: "prop", name: Some("score") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.url", kind: "prop", name: Some("url") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationUrl", kind: "prop", name: Some("publicationUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationName", kind: "prop", name: Some("publicationName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationId", kind: "prop", name: Some("publicationId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.username", kind: "prop", name: Some("username") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.profileUrl", kind: "prop", name: Some("profileUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.profileUrl", kind: "prop", name: Some("profileUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.username", kind: "prop", name: Some("username") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.inviteUrl", kind: "prop", name: Some("inviteUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.serverId", kind: "prop", name: Some("serverId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.serverName", kind: "prop", name: Some("serverName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelId", kind: "prop", name: Some("channelId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelName", kind: "prop", name: Some("channelName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelUrl", kind: "prop", name: Some("channelUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.title", kind: "prop", name: Some("title") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.publishedAt", kind: "prop", name: Some("publishedAt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.videoId", kind: "prop", name: Some("videoId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.mode", kind: "prop", name: Some("mode") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationUrl", kind: "prop", name: Some("publicationUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationName", kind: "prop", name: Some("publicationName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationId", kind: "prop", name: Some("publicationId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.campaignUrl", kind: "prop", name: Some("campaignUrl") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.campaignId", kind: "prop", name: Some("campaignId") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.creatorName", kind: "prop", name: Some("creatorName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.publishedAt", kind: "prop", name: Some("publishedAt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.title", kind: "prop", name: Some("title") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.url", kind: "prop", name: Some("url") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.claps", kind: "prop", name: Some("claps") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.username", kind: "prop", name: Some("username") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.lastfmUsername", kind: "prop", name: Some("lastfmUsername") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.plays", kind: "prop", name: Some("plays") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#videoAspectRatio", src: "me.linkna.linkinbio#videoAspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio.height", kind: "prop", name: Some("height") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#videoAspectRatio", src: "me.linkna.linkinbio#videoAspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio.width", kind: "prop", name: Some("width") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.locationName", kind: "prop", name: Some("locationName") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.longitude", kind: "prop", name: Some("longitude") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.latitude", kind: "prop", name: Some("latitude") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.type", kind: "prop", name: Some("type") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.text", kind: "prop", name: Some("text") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.did", kind: "prop", name: Some("did") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.id", kind: "prop", name: Some("id") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.videoBlobRef", kind: "prop", name: Some("videoBlobRef") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.type", kind: "prop", name: Some("type") }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant1", kind: "variant", name: Some("#widgetGoodreads") }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant2", kind: "variant", name: Some("#widgetGithub") }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant3", kind: "variant", name: Some("#widgetTealfm") }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant1", tgt: "me.linkna.linkinbio#widgetGoodreads", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant2", tgt: "me.linkna.linkinbio#widgetGithub", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant3", tgt: "me.linkna.linkinbio#widgetTealfm", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "me.linkna.linkinbio#themeConfig.particles", sort: "knownValues", old_value: "[\"none\",\"white\",\"blue\"]", new_value: "[\"none\",\"white\",\"blue\",\"leaves\",\"grid-sm\",\"grid-lg\"]" }
Non-Breaking Changes (324)
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#connectedServices.lastfmUsername" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.alignment" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.text" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.claps" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.publishedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.readingTime" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.subtitle" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.title" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.url" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.numComments" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.score" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.subreddit" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.title" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.url" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.backgroundImage" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.backgroundImageCredit" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.cursorSparkles" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.cursorStyle" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio.height" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio.width" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.description" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.imageUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.label" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.mode" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.targetDate" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.timezone" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.bannerUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.description" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.iconUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.inviteUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.memberCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.presenceCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.serverId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.serverName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.coverArtNotice" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.lastfmUsername" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.plays" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.plays:items" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.latitude" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.locationName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.longitude" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.mapImageRef" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.style" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.zoom" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.articles" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.articles:items" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.bio" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.displayName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.followerCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.profileUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.username" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.campaignId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.campaignUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.creationName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.creatorName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.imageUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.patronCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.postCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.avatarUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.commentKarma" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.karma" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.linkKarma" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.profileUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.recentPosts" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.recentPosts:items" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.username" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.authorName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.coverImageUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.description" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.imageUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.postCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.subscriberCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTealfm.source" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.displayName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.isLive" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.profileImageUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.streamGame" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.streamTitle" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.username" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.viewerCount" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.alt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.aspectRatio" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.createdAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.did" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.loop" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.muted" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.showOverlay" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.title" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.videoBlobRef" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelName" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelUrl" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.enabled" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.id" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.lastSyncedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.latestVideo" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.size" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.type" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.isShort" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.publishedAt" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.title" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.videoId" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant10" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant11" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant12" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant13" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant14" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant15" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant16" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant4" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant5" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant6" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant7" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant8" }
- AddedVertex AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant9" }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#connectedServices", tgt: "me.linkna.linkinbio#connectedServices.lastfmUsername", kind: "prop", name: Some("lastfmUsername") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.alignment", kind: "prop", name: Some("alignment") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.readingTime", kind: "prop", name: Some("readingTime") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.subtitle", kind: "prop", name: Some("subtitle") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.backgroundImage", kind: "prop", name: Some("backgroundImage") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.backgroundImageCredit", kind: "prop", name: Some("backgroundImageCredit") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.cursorSparkles", kind: "prop", name: Some("cursorSparkles") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.cursorStyle", kind: "prop", name: Some("cursorStyle") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.imageUrl", kind: "prop", name: Some("imageUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.label", kind: "prop", name: Some("label") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.targetDate", kind: "prop", name: Some("targetDate") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.timezone", kind: "prop", name: Some("timezone") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.bannerUrl", kind: "prop", name: Some("bannerUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.iconUrl", kind: "prop", name: Some("iconUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.memberCount", kind: "prop", name: Some("memberCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.presenceCount", kind: "prop", name: Some("presenceCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.coverArtNotice", kind: "prop", name: Some("coverArtNotice") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm.plays", tgt: "me.linkna.linkinbio#widgetLastfm.plays:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetLastfm.plays:items", tgt: "me.linkna.linkinbio#tealfmPlay", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.mapImageRef", kind: "prop", name: Some("mapImageRef") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.style", kind: "prop", name: Some("style") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.zoom", kind: "prop", name: Some("zoom") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.articles", kind: "prop", name: Some("articles") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.bio", kind: "prop", name: Some("bio") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.displayName", kind: "prop", name: Some("displayName") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.followerCount", kind: "prop", name: Some("followerCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium.articles", tgt: "me.linkna.linkinbio#widgetMedium.articles:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetMedium.articles:items", tgt: "me.linkna.linkinbio#mediumArticle", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.creationName", kind: "prop", name: Some("creationName") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.imageUrl", kind: "prop", name: Some("imageUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.patronCount", kind: "prop", name: Some("patronCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.postCount", kind: "prop", name: Some("postCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.avatarUrl", kind: "prop", name: Some("avatarUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.commentKarma", kind: "prop", name: Some("commentKarma") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.karma", kind: "prop", name: Some("karma") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.linkKarma", kind: "prop", name: Some("linkKarma") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.recentPosts", kind: "prop", name: Some("recentPosts") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit.recentPosts", tgt: "me.linkna.linkinbio#widgetReddit.recentPosts:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetReddit.recentPosts:items", tgt: "me.linkna.linkinbio#redditPost", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.authorName", kind: "prop", name: Some("authorName") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.coverImageUrl", kind: "prop", name: Some("coverImageUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.description", kind: "prop", name: Some("description") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.imageUrl", kind: "prop", name: Some("imageUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.postCount", kind: "prop", name: Some("postCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTealfm", tgt: "me.linkna.linkinbio#widgetTealfm.source", kind: "prop", name: Some("source") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.displayName", kind: "prop", name: Some("displayName") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.isLive", kind: "prop", name: Some("isLive") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.profileImageUrl", kind: "prop", name: Some("profileImageUrl") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.streamGame", kind: "prop", name: Some("streamGame") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.streamTitle", kind: "prop", name: Some("streamTitle") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.viewerCount", kind: "prop", name: Some("viewerCount") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.alt", kind: "prop", name: Some("alt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.createdAt", kind: "prop", name: Some("createdAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.loop", kind: "prop", name: Some("loop") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.muted", kind: "prop", name: Some("muted") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.showOverlay", kind: "prop", name: Some("showOverlay") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.title", kind: "prop", name: Some("title") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetVideo.aspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.enabled", kind: "prop", name: Some("enabled") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.latestVideo", kind: "prop", name: Some("latestVideo") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.size", kind: "prop", name: Some("size") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#widgetYoutube.latestVideo", tgt: "me.linkna.linkinbio#youtubeVideo", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.isShort", kind: "prop", name: Some("isShort") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant1", kind: "variant", name: Some("#headerCard") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant10", kind: "variant", name: Some("#widgetBeehiiv") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant11", kind: "variant", name: Some("#widgetVideo") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant12", kind: "variant", name: Some("#widgetTwitch") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant13", kind: "variant", name: Some("#widgetDiscord") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant14", kind: "variant", name: Some("#widgetReddit") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant15", kind: "variant", name: Some("#widgetMedium") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant16", kind: "variant", name: Some("#widgetMap") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant2", kind: "variant", name: Some("#widgetGoodreads") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant3", kind: "variant", name: Some("#widgetGithub") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant4", kind: "variant", name: Some("#widgetTealfm") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant5", kind: "variant", name: Some("#widgetLastfm") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant6", kind: "variant", name: Some("#widgetClock") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant7", kind: "variant", name: Some("#widgetYoutube") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant8", kind: "variant", name: Some("#widgetPatreon") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant9", kind: "variant", name: Some("#widgetSubstack") }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant1", tgt: "me.linkna.linkinbio#headerCard", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant10", tgt: "me.linkna.linkinbio#widgetBeehiiv", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant11", tgt: "me.linkna.linkinbio#widgetVideo", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant12", tgt: "me.linkna.linkinbio#widgetTwitch", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant13", tgt: "me.linkna.linkinbio#widgetDiscord", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant14", tgt: "me.linkna.linkinbio#widgetReddit", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant15", tgt: "me.linkna.linkinbio#widgetMedium", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant16", tgt: "me.linkna.linkinbio#widgetMap", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant2", tgt: "me.linkna.linkinbio#widgetGoodreads", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant3", tgt: "me.linkna.linkinbio#widgetGithub", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant4", tgt: "me.linkna.linkinbio#widgetTealfm", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant5", tgt: "me.linkna.linkinbio#widgetLastfm", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant6", tgt: "me.linkna.linkinbio#widgetClock", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant7", tgt: "me.linkna.linkinbio#widgetYoutube", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant8", tgt: "me.linkna.linkinbio#widgetPatreon", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant9", tgt: "me.linkna.linkinbio#widgetSubstack", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "me.linkna.linkinbio#connectedServices.lastfmUsername" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.alignment" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.text" }AddedVertex { vertex_id: "me.linkna.linkinbio#headerCard.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.claps" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.publishedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.readingTime" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.subtitle" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.title" }AddedVertex { vertex_id: "me.linkna.linkinbio#mediumArticle.url" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.numComments" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.score" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.subreddit" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.title" }AddedVertex { vertex_id: "me.linkna.linkinbio#redditPost.url" }AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.backgroundImage" }AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.backgroundImageCredit" }AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.cursorSparkles" }AddedVertex { vertex_id: "me.linkna.linkinbio#themeConfig.cursorStyle" }AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio" }AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio.height" }AddedVertex { vertex_id: "me.linkna.linkinbio#videoAspectRatio.width" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.description" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.imageUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationId" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.publicationUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetBeehiiv.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.label" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.mode" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.targetDate" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.timezone" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetClock.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.bannerUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.description" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.iconUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.inviteUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.memberCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.presenceCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.serverId" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.serverName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetDiscord.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.coverArtNotice" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.lastfmUsername" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.plays" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.plays:items" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetLastfm.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.latitude" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.locationName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.longitude" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.mapImageRef" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.style" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMap.zoom" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.articles" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.articles:items" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.bio" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.displayName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.followerCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.profileUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetMedium.username" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.campaignId" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.campaignUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.creationName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.creatorName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.imageUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.patronCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.postCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetPatreon.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.avatarUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.commentKarma" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.karma" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.linkKarma" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.profileUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.recentPosts" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.recentPosts:items" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetReddit.username" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.authorName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.coverImageUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.description" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.imageUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.postCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationId" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.publicationUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.subscriberCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetSubstack.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTealfm.source" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.displayName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.isLive" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.profileImageUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.streamGame" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.streamTitle" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.username" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetTwitch.viewerCount" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.alt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.aspectRatio" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.createdAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.did" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.loop" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.muted" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.showOverlay" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.title" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetVideo.videoBlobRef" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelId" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelName" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.channelUrl" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.enabled" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.id" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.lastSyncedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.latestVideo" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.size" }AddedVertex { vertex_id: "me.linkna.linkinbio#widgetYoutube.type" }AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo" }AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.isShort" }AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.publishedAt" }AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.title" }AddedVertex { vertex_id: "me.linkna.linkinbio#youtubeVideo.videoId" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant10" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant11" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant12" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant13" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant14" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant15" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant16" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant4" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant5" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant6" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant7" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant8" }AddedVertex { vertex_id: "me.linkna.linkinbio:body.cards:items:variant9" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "me.linkna.linkinbio#themeConfig.particles", sort: "knownValues", old_value: "[\"none\",\"white\",\"blue\"]", new_value: "[\"none\",\"white\",\"blue\",\"leaves\",\"grid-sm\",\"grid-lg\"]" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.subreddit", kind: "prop", name: Some("subreddit") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.title", kind: "prop", name: Some("title") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.numComments", kind: "prop", name: Some("numComments") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.score", kind: "prop", name: Some("score") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#redditPost", src: "me.linkna.linkinbio#redditPost", tgt: "me.linkna.linkinbio#redditPost.url", kind: "prop", name: Some("url") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.profileUrl", kind: "prop", name: Some("profileUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMedium", src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.username", kind: "prop", name: Some("username") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#videoAspectRatio", src: "me.linkna.linkinbio#videoAspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio.height", kind: "prop", name: Some("height") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#videoAspectRatio", src: "me.linkna.linkinbio#videoAspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio.width", kind: "prop", name: Some("width") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelId", kind: "prop", name: Some("channelId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelName", kind: "prop", name: Some("channelName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetYoutube", src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.channelUrl", kind: "prop", name: Some("channelUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.text", kind: "prop", name: Some("text") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#headerCard", src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.lastfmUsername", kind: "prop", name: Some("lastfmUsername") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.plays", kind: "prop", name: Some("plays") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetLastfm", src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetTwitch", src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.username", kind: "prop", name: Some("username") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.campaignUrl", kind: "prop", name: Some("campaignUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.campaignId", kind: "prop", name: Some("campaignId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.creatorName", kind: "prop", name: Some("creatorName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetPatreon", src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.inviteUrl", kind: "prop", name: Some("inviteUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.serverId", kind: "prop", name: Some("serverId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetDiscord", src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.serverName", kind: "prop", name: Some("serverName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.did", kind: "prop", name: Some("did") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.videoBlobRef", kind: "prop", name: Some("videoBlobRef") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetVideo", src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.publishedAt", kind: "prop", name: Some("publishedAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.title", kind: "prop", name: Some("title") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.url", kind: "prop", name: Some("url") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#mediumArticle", src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.claps", kind: "prop", name: Some("claps") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationUrl", kind: "prop", name: Some("publicationUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationName", kind: "prop", name: Some("publicationName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetBeehiiv", src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.publicationId", kind: "prop", name: Some("publicationId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.title", kind: "prop", name: Some("title") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.publishedAt", kind: "prop", name: Some("publishedAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#youtubeVideo", src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.videoId", kind: "prop", name: Some("videoId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.username", kind: "prop", name: Some("username") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.profileUrl", kind: "prop", name: Some("profileUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetReddit", src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.locationName", kind: "prop", name: Some("locationName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.longitude", kind: "prop", name: Some("longitude") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetMap", src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.latitude", kind: "prop", name: Some("latitude") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.id", kind: "prop", name: Some("id") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationUrl", kind: "prop", name: Some("publicationUrl") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationName", kind: "prop", name: Some("publicationName") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetSubstack", src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.publicationId", kind: "prop", name: Some("publicationId") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.mode", kind: "prop", name: Some("mode") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeAdded { vertex_id: "me.linkna.linkinbio#widgetClock", src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.id", kind: "prop", name: Some("id") }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant1", kind: "variant", name: Some("#widgetGoodreads") }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant2", kind: "variant", name: Some("#widgetGithub") }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant3", kind: "variant", name: Some("#widgetTealfm") }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant1", tgt: "me.linkna.linkinbio#widgetGoodreads", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant2", tgt: "me.linkna.linkinbio#widgetGithub", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "me.linkna.linkinbio:body.cards:items:variant3", tgt: "me.linkna.linkinbio#widgetTealfm", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#connectedServices", tgt: "me.linkna.linkinbio#connectedServices.lastfmUsername", kind: "prop", name: Some("lastfmUsername") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.alignment", kind: "prop", name: Some("alignment") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#headerCard", tgt: "me.linkna.linkinbio#headerCard.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.readingTime", kind: "prop", name: Some("readingTime") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#mediumArticle", tgt: "me.linkna.linkinbio#mediumArticle.subtitle", kind: "prop", name: Some("subtitle") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.backgroundImage", kind: "prop", name: Some("backgroundImage") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.backgroundImageCredit", kind: "prop", name: Some("backgroundImageCredit") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.cursorSparkles", kind: "prop", name: Some("cursorSparkles") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#themeConfig", tgt: "me.linkna.linkinbio#themeConfig.cursorStyle", kind: "prop", name: Some("cursorStyle") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.imageUrl", kind: "prop", name: Some("imageUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetBeehiiv", tgt: "me.linkna.linkinbio#widgetBeehiiv.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.label", kind: "prop", name: Some("label") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.targetDate", kind: "prop", name: Some("targetDate") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetClock", tgt: "me.linkna.linkinbio#widgetClock.timezone", kind: "prop", name: Some("timezone") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.bannerUrl", kind: "prop", name: Some("bannerUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.iconUrl", kind: "prop", name: Some("iconUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.memberCount", kind: "prop", name: Some("memberCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.presenceCount", kind: "prop", name: Some("presenceCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetDiscord", tgt: "me.linkna.linkinbio#widgetDiscord.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.coverArtNotice", kind: "prop", name: Some("coverArtNotice") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm", tgt: "me.linkna.linkinbio#widgetLastfm.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm.plays", tgt: "me.linkna.linkinbio#widgetLastfm.plays:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetLastfm.plays:items", tgt: "me.linkna.linkinbio#tealfmPlay", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.mapImageRef", kind: "prop", name: Some("mapImageRef") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.style", kind: "prop", name: Some("style") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMap", tgt: "me.linkna.linkinbio#widgetMap.zoom", kind: "prop", name: Some("zoom") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.articles", kind: "prop", name: Some("articles") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.bio", kind: "prop", name: Some("bio") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.displayName", kind: "prop", name: Some("displayName") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.followerCount", kind: "prop", name: Some("followerCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium", tgt: "me.linkna.linkinbio#widgetMedium.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium.articles", tgt: "me.linkna.linkinbio#widgetMedium.articles:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetMedium.articles:items", tgt: "me.linkna.linkinbio#mediumArticle", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.creationName", kind: "prop", name: Some("creationName") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.imageUrl", kind: "prop", name: Some("imageUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.patronCount", kind: "prop", name: Some("patronCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.postCount", kind: "prop", name: Some("postCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetPatreon", tgt: "me.linkna.linkinbio#widgetPatreon.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.avatarUrl", kind: "prop", name: Some("avatarUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.commentKarma", kind: "prop", name: Some("commentKarma") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.karma", kind: "prop", name: Some("karma") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.linkKarma", kind: "prop", name: Some("linkKarma") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.recentPosts", kind: "prop", name: Some("recentPosts") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit", tgt: "me.linkna.linkinbio#widgetReddit.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit.recentPosts", tgt: "me.linkna.linkinbio#widgetReddit.recentPosts:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetReddit.recentPosts:items", tgt: "me.linkna.linkinbio#redditPost", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.authorName", kind: "prop", name: Some("authorName") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.coverImageUrl", kind: "prop", name: Some("coverImageUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.description", kind: "prop", name: Some("description") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.imageUrl", kind: "prop", name: Some("imageUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.postCount", kind: "prop", name: Some("postCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetSubstack", tgt: "me.linkna.linkinbio#widgetSubstack.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTealfm", tgt: "me.linkna.linkinbio#widgetTealfm.source", kind: "prop", name: Some("source") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.displayName", kind: "prop", name: Some("displayName") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.isLive", kind: "prop", name: Some("isLive") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.profileImageUrl", kind: "prop", name: Some("profileImageUrl") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.streamGame", kind: "prop", name: Some("streamGame") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.streamTitle", kind: "prop", name: Some("streamTitle") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetTwitch", tgt: "me.linkna.linkinbio#widgetTwitch.viewerCount", kind: "prop", name: Some("viewerCount") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.alt", kind: "prop", name: Some("alt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.aspectRatio", kind: "prop", name: Some("aspectRatio") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.createdAt", kind: "prop", name: Some("createdAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.loop", kind: "prop", name: Some("loop") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.muted", kind: "prop", name: Some("muted") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.showOverlay", kind: "prop", name: Some("showOverlay") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo", tgt: "me.linkna.linkinbio#widgetVideo.title", kind: "prop", name: Some("title") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetVideo.aspectRatio", tgt: "me.linkna.linkinbio#videoAspectRatio", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.enabled", kind: "prop", name: Some("enabled") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.lastSyncedAt", kind: "prop", name: Some("lastSyncedAt") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.latestVideo", kind: "prop", name: Some("latestVideo") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetYoutube", tgt: "me.linkna.linkinbio#widgetYoutube.size", kind: "prop", name: Some("size") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#widgetYoutube.latestVideo", tgt: "me.linkna.linkinbio#youtubeVideo", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio#youtubeVideo", tgt: "me.linkna.linkinbio#youtubeVideo.isShort", kind: "prop", name: Some("isShort") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant1", kind: "variant", name: Some("#headerCard") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant10", kind: "variant", name: Some("#widgetBeehiiv") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant11", kind: "variant", name: Some("#widgetVideo") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant12", kind: "variant", name: Some("#widgetTwitch") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant13", kind: "variant", name: Some("#widgetDiscord") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant14", kind: "variant", name: Some("#widgetReddit") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant15", kind: "variant", name: Some("#widgetMedium") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant16", kind: "variant", name: Some("#widgetMap") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant2", kind: "variant", name: Some("#widgetGoodreads") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant3", kind: "variant", name: Some("#widgetGithub") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant4", kind: "variant", name: Some("#widgetTealfm") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant5", kind: "variant", name: Some("#widgetLastfm") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant6", kind: "variant", name: Some("#widgetClock") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant7", kind: "variant", name: Some("#widgetYoutube") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant8", kind: "variant", name: Some("#widgetPatreon") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items", tgt: "me.linkna.linkinbio:body.cards:items:variant9", kind: "variant", name: Some("#widgetSubstack") }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant1", tgt: "me.linkna.linkinbio#headerCard", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant10", tgt: "me.linkna.linkinbio#widgetBeehiiv", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant11", tgt: "me.linkna.linkinbio#widgetVideo", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant12", tgt: "me.linkna.linkinbio#widgetTwitch", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant13", tgt: "me.linkna.linkinbio#widgetDiscord", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant14", tgt: "me.linkna.linkinbio#widgetReddit", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant15", tgt: "me.linkna.linkinbio#widgetMedium", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant16", tgt: "me.linkna.linkinbio#widgetMap", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant2", tgt: "me.linkna.linkinbio#widgetGoodreads", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant3", tgt: "me.linkna.linkinbio#widgetGithub", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant4", tgt: "me.linkna.linkinbio#widgetTealfm", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant5", tgt: "me.linkna.linkinbio#widgetLastfm", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant6", tgt: "me.linkna.linkinbio#widgetClock", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant7", tgt: "me.linkna.linkinbio#widgetYoutube", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant8", tgt: "me.linkna.linkinbio#widgetPatreon", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "me.linkna.linkinbio:body.cards:items:variant9", tgt: "me.linkna.linkinbio#widgetSubstack", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"connectedServices": {
5
5
"description": "Saved service credentials/identifiers for pre-filling widget forms.",
6
6
"properties": {
7
7
"githubUsername": {
8
8
"description": "GitHub username.",
9
9
"type": "string"
10
10
},
11
11
"goodreadsUserId": {
12
12
"description": "Goodreads numeric user ID.",
13
13
"type": "string"
14
+
},
15
+
"lastfmUsername": {
16
+
"description": "Last.fm username.",
17
+
"type": "string"
14
18
}
15
19
},
16
20
"type": "object"
17
21
},
18
22
"githubContributionDay": {
19
23
"description": "A single day's contribution data from GitHub.",
20
24
"properties": {
21
25
"count": {
22
26
"description": "Number of contributions on this day.",
23
27
"type": "integer"
24
28
},
25
29
"date": {
26
30
"description": "Date in YYYY-MM-DD format.",
27
31
"type": "string"
28
32
},
29
33
"level": {
30
34
"description": "Contribution intensity level (0=none, 4=highest).",
31
35
"maximum": 4,
32
36
"minimum": 0,
33
37
"type": "integer"
34
38
}
35
39
},
36
40
"required": [
37
41
"date",
38
42
"count",
39
43
"level"
40
44
],
41
45
"type": "object"
42
46
},
43
47
"goodreadsBook": {
44
48
"description": "A book from a Goodreads shelf.",
45
49
"properties": {
46
50
"author": {
47
51
"description": "Book author.",
48
52
"type": "string"
49
53
},
50
54
"coverUrl": {
51
55
"description": "URL to the book cover image.",
52
56
"type": "string"
53
57
},
54
58
"link": {
55
59
"description": "URL to the book on Goodreads.",
56
60
"type": "string"
57
61
},
58
62
"rating": {
59
63
"description": "User's rating (1-5), or absent if unrated.",
60
64
"maximum": 5,
61
65
"minimum": 0,
62
66
"type": "integer"
63
67
},
64
68
"title": {
65
69
"description": "Book title.",
66
70
"type": "string"
67
71
}
68
72
},
69
73
"required": [
70
74
"title",
71
75
"author"
72
76
],
73
77
"type": "object"
74
78
},
79
+
"headerCard": {
80
+
"description": "A section header/divider card.",
81
+
"properties": {
82
+
"alignment": {
83
+
"description": "Text alignment for the header. Defaults to the user's button alignment.",
84
+
"enum": [
85
+
"left",
86
+
"center",
87
+
"right"
88
+
],
89
+
"type": "string"
90
+
},
91
+
"enabled": {
92
+
"description": "Whether the header is visible on the public page. Defaults to true.",
93
+
"type": "boolean"
94
+
},
95
+
"id": {
96
+
"description": "Unique identifier for the card.",
97
+
"type": "string"
98
+
},
99
+
"text": {
100
+
"description": "Header text displayed as a section divider.",
101
+
"maxLength": 100,
102
+
"type": "string"
103
+
},
104
+
"type": {
105
+
"const": "header",
106
+
"description": "Card type discriminator.",
107
+
"type": "string"
108
+
}
109
+
},
110
+
"required": [
111
+
"id",
112
+
"type",
113
+
"text"
114
+
],
115
+
"type": "object"
116
+
},
75
117
"linkCard": {
76
118
"description": "A standard link card.",
77
119
"properties": {
78
120
"enabled": {
79
121
"description": "Whether the card is visible on the public page. Defaults to true.",
80
122
"type": "boolean"
81
123
},
82
124
"highlighted": {
83
125
"description": "Whether the card is visually highlighted.",
84
126
"type": "boolean"
85
127
},
86
128
"id": {
87
129
"description": "Unique identifier for the card.",
88
130
"type": "string"
89
131
},
90
132
"text": {
91
133
"description": "Display text for the card (falls back to URL domain if empty).",
92
134
"maxLength": 100,
93
135
"type": "string"
94
136
},
95
137
"type": {
96
138
"description": "Card type discriminator. Value: 'link' or absent for link cards.",
97
139
"type": "string"
98
140
},
99
141
"url": {
100
142
"description": "URL the card links to.",
101
143
"format": "uri",
102
144
"type": "string"
103
145
}
104
146
},
105
147
"type": "object"
106
148
},
107
149
"main": {
108
150
"description": "A user's link-in-bio page containing cards, theme configuration, and social icons.",
109
151
"key": "literal:self",
110
152
"record": {
111
153
"properties": {
112
154
"cards": {
113
-
"description": "Ordered list of cards on the page. Each card is a union of linkCard, widgetGoodreads, widgetGithub, or widgetTealfm.",
155
+
"description": "Ordered list of cards on the page.",
114
156
"items": {
115
157
"refs": [
116
158
"#linkCard",
159
+
"#headerCard",
117
160
"#widgetGoodreads",
118
161
"#widgetGithub",
119
-
"#widgetTealfm"
162
+
"#widgetTealfm",
163
+
"#widgetLastfm",
164
+
"#widgetClock",
165
+
"#widgetYoutube",
166
+
"#widgetPatreon",
167
+
"#widgetSubstack",
168
+
"#widgetBeehiiv",
169
+
"#widgetVideo",
170
+
"#widgetTwitch",
171
+
"#widgetDiscord",
172
+
"#widgetReddit",
173
+
"#widgetMedium",
174
+
"#widgetMap"
120
175
],
121
176
"type": "union"
122
177
},
123
178
"type": "array"
124
179
},
125
180
"connectedServices": {
126
181
"ref": "#connectedServices",
127
182
"type": "ref"
128
183
},
129
184
"socialIcons": {
130
185
"description": "Social media icons displayed on the profile.",
131
186
"items": {
132
187
"ref": "#socialIcon",
133
188
"type": "ref"
134
189
},
135
190
"type": "array"
136
191
},
137
192
"theme": {
138
193
"description": "Deprecated: use themeConfig instead.",
139
194
"type": "string"
140
195
},
141
196
"themeConfig": {
142
197
"ref": "#themeConfig",
143
198
"type": "ref"
144
199
}
145
200
},
146
201
"required": [
147
202
"cards"
148
203
],
149
204
"type": "object"
150
205
},
151
206
"type": "record"
152
207
},
208
+
"mediumArticle": {
209
+
"description": "A Medium article.",
210
+
"properties": {
211
+
"claps": {
212
+
"description": "Number of claps.",
213
+
"type": "integer"
214
+
},
215
+
"publishedAt": {
216
+
"description": "When the article was published.",
217
+
"type": "string"
218
+
},
219
+
"readingTime": {
220
+
"description": "Estimated reading time in minutes.",
221
+
"type": "integer"
222
+
},
223
+
"subtitle": {
224
+
"description": "Article subtitle.",
225
+
"type": "string"
226
+
},
227
+
"title": {
228
+
"description": "Article title.",
229
+
"type": "string"
230
+
},
231
+
"url": {
232
+
"description": "Article URL.",
233
+
"type": "string"
234
+
}
235
+
},
236
+
"required": [
237
+
"title",
238
+
"url",
239
+
"publishedAt",
240
+
"claps"
241
+
],
242
+
"type": "object"
243
+
},
244
+
"redditPost": {
245
+
"description": "A Reddit post.",
246
+
"properties": {
247
+
"numComments": {
248
+
"description": "Number of comments.",
249
+
"type": "integer"
250
+
},
251
+
"score": {
252
+
"description": "Post score.",
253
+
"type": "integer"
254
+
},
255
+
"subreddit": {
256
+
"description": "Subreddit name.",
257
+
"type": "string"
258
+
},
259
+
"title": {
260
+
"description": "Post title.",
261
+
"type": "string"
262
+
},
263
+
"url": {
264
+
"description": "Post URL.",
265
+
"type": "string"
266
+
}
267
+
},
268
+
"required": [
269
+
"title",
270
+
"subreddit",
271
+
"url",
272
+
"score",
273
+
"numComments"
274
+
],
275
+
"type": "object"
276
+
},
153
277
"socialIcon": {
154
278
"description": "A social media icon link.",
155
279
"properties": {
156
280
"id": {
157
281
"description": "Unique identifier for the icon.",
158
282
"type": "string"
159
283
},
160
284
"platform": {
161
285
"description": "Platform identifier (e.g., 'bluesky', 'twitter', 'instagram').",
162
286
"type": "string"
163
287
},
164
288
"url": {
165
289
"description": "URL to the user's profile on this platform.",
166
290
"format": "uri",
167
291
"type": "string"
168
292
}
169
293
},
170
294
"required": [
171
295
"id",
172
296
"platform",
173
297
"url"
174
298
],
175
299
"type": "object"
176
300
},
177
301
"tealfmPlay": {
178
302
"description": "A recently played track from teal.fm.",
179
303
"properties": {
180
304
"artistName": {
181
305
"description": "Artist name(s).",
182
306
"type": "string"
183
307
},
184
308
"coverUrl": {
185
309
"description": "URL to the album cover image (from Cover Art Archive).",
186
310
"type": "string"
187
311
},
188
312
"originUrl": {
189
313
"description": "URL to the track on the original music service.",
190
314
"type": "string"
191
315
},
192
316
"playedTime": {
193
317
"description": "When the track was played.",
194
318
"format": "datetime",
195
319
"type": "string"
196
320
},
197
321
"releaseName": {
198
322
"description": "Album/release name.",
199
323
"type": "string"
200
324
},
201
325
"trackName": {
202
326
"description": "Track/song name.",
203
327
"type": "string"
204
328
}
205
329
},
206
330
"required": [
207
331
"trackName",
208
332
"artistName"
209
333
],
210
334
"type": "object"
211
335
},
212
336
"themeConfig": {
213
337
"description": "Theme configuration for the page appearance.",
214
338
"properties": {
215
339
"backgroundColor": {
216
340
"description": "Page background color.",
217
341
"type": "string"
218
342
},
219
343
"backgroundGradient": {
220
344
"description": "CSS gradient for the page background.",
221
345
"type": "string"
222
346
},
347
+
"backgroundImage": {
348
+
"accept": [
349
+
"image/png",
350
+
"image/jpeg",
351
+
"image/webp"
352
+
],
353
+
"description": "Background wallpaper image blob.",
354
+
"maxSize": 10000000,
355
+
"type": "blob"
356
+
},
357
+
"backgroundImageCredit": {
358
+
"description": "Optional credit URL for the wallpaper image artist. Stored for attribution purposes only, not displayed on the public page.",
359
+
"format": "uri",
360
+
"type": "string"
361
+
},
223
362
"buttonAlignment": {
224
363
"description": "Button content alignment. Default: left.",
225
364
"knownValues": [
226
365
"left",
227
366
"right"
228
367
],
229
368
"type": "string"
230
369
},
231
370
"buttonHoverGlow": {
232
371
"description": "Whether buttons glow on hover. Default: false.",
233
372
"type": "boolean"
234
373
},
235
374
"buttonHoverGlowColor": {
236
375
"description": "Color for the button hover glow effect.",
237
376
"type": "string"
238
377
},
239
378
"cardBackgroundColor": {
240
379
"description": "Individual card/button background color.",
241
380
"type": "string"
242
381
},
243
382
"cardBorderColor": {
244
383
"description": "Card/button border color.",
245
384
"type": "string"
246
385
},
247
386
"cardBorderRadius": {
248
387
"description": "Card/button border radius.",
249
388
"knownValues": [
250
389
"none",
251
390
"sm",
252
391
"md",
253
392
"lg",
254
393
"full"
255
394
],
256
395
"type": "string"
257
396
},
258
397
"cardHoverColor": {
259
398
"description": "Card/button border color on hover.",
260
399
"type": "string"
261
400
},
262
401
"cardShadow": {
263
402
"description": "Card/button shadow intensity.",
264
403
"knownValues": [
265
404
"none",
266
405
"sm",
267
406
"md",
268
407
"lg",
269
408
"xl"
270
409
],
271
410
"type": "string"
272
411
},
273
412
"cardTextColor": {
274
413
"description": "Card/button text color.",
275
414
"type": "string"
276
415
},
277
416
"contentCardColor": {
278
417
"description": "Card container background color.",
279
418
"type": "string"
280
419
},
420
+
"cursorSparkles": {
421
+
"description": "Whether cursor has sparkle trail. Default: false.",
422
+
"type": "boolean"
423
+
},
424
+
"cursorStyle": {
425
+
"description": "Custom cursor style. Default: default.",
426
+
"knownValues": [
427
+
"default",
428
+
"hello-kitty"
429
+
],
430
+
"type": "string"
431
+
},
281
432
"fontFamily": {
282
433
"description": "Font family for the page.",
283
434
"type": "string"
284
435
},
285
436
"fontSize": {
286
437
"description": "Font size. Default: md.",
287
438
"knownValues": [
288
439
"sm",
289
440
"md",
290
441
"lg"
291
442
],
292
443
"type": "string"
293
444
},
294
445
"particles": {
295
446
"description": "Background particle effect. Default: none.",
296
447
"knownValues": [
297
448
"none",
298
449
"white",
299
-
"blue"
450
+
"blue",
451
+
"leaves",
452
+
"grid-sm",
453
+
"grid-lg"
300
454
],
301
455
"type": "string"
302
456
},
303
457
"preset": {
304
-
"description": "Theme preset ID.",
458
+
"description": "Theme preset ID (e.g., 'custom', 'agate', 'air', 'astrid', 'aura').",
305
459
"type": "string"
306
460
},
307
461
"profileAlignment": {
308
462
"description": "Profile section alignment. Default: center.",
309
463
"knownValues": [
310
464
"left",
311
465
"center",
312
466
"right"
313
467
],
314
468
"type": "string"
315
469
},
316
470
"profilePictureShape": {
317
471
"description": "Profile picture shape. Default: circle.",
318
472
"knownValues": [
319
473
"circle",
320
474
"rounded",
321
475
"square"
322
476
],
323
477
"type": "string"
324
478
},
325
479
"profilePictureSize": {
326
480
"description": "Profile picture size. Default: sm.",
327
481
"knownValues": [
328
482
"sm",
329
483
"md",
330
484
"lg"
331
485
],
332
486
"type": "string"
333
487
},
334
488
"profileTextColor": {
335
489
"description": "Profile section text color.",
336
490
"type": "string"
337
491
},
338
492
"showBranding": {
339
493
"description": "Whether Linkname branding is visible. Default: true.",
340
494
"type": "boolean"
341
495
},
342
496
"socialIconsBorderColor": {
343
497
"description": "Border color for social icons dock/sphere.",
344
498
"type": "string"
345
499
},
346
500
"socialIconsColor": {
347
501
"description": "Social icons color.",
348
502
"type": "string"
349
503
},
350
504
"socialIconsShape": {
351
505
"description": "Social icons container shape. Default: dock.",
352
506
"knownValues": [
353
507
"dock",
354
508
"sphere"
355
509
],
356
510
"type": "string"
357
511
},
358
512
"socialIconsShapeColor": {
359
513
"description": "Background color for social icons dock/sphere.",
360
514
"type": "string"
361
515
}
362
516
},
363
517
"type": "object"
364
518
},
519
+
"videoAspectRatio": {
520
+
"description": "Video aspect ratio dimensions.",
521
+
"properties": {
522
+
"height": {
523
+
"description": "Video height.",
524
+
"type": "integer"
525
+
},
526
+
"width": {
527
+
"description": "Video width.",
528
+
"type": "integer"
529
+
}
530
+
},
531
+
"required": [
532
+
"width",
533
+
"height"
534
+
],
535
+
"type": "object"
536
+
},
537
+
"widgetBeehiiv": {
538
+
"description": "A Beehiiv publication widget card.",
539
+
"properties": {
540
+
"description": {
541
+
"description": "Publication description.",
542
+
"type": "string"
543
+
},
544
+
"enabled": {
545
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
546
+
"type": "boolean"
547
+
},
548
+
"id": {
549
+
"description": "Unique identifier for the card.",
550
+
"type": "string"
551
+
},
552
+
"imageUrl": {
553
+
"description": "Publication image URL.",
554
+
"type": "string"
555
+
},
556
+
"lastSyncedAt": {
557
+
"description": "When the publication data was last fetched.",
558
+
"format": "datetime",
559
+
"type": "string"
560
+
},
561
+
"publicationId": {
562
+
"description": "Beehiiv publication ID.",
563
+
"type": "string"
564
+
},
565
+
"publicationName": {
566
+
"description": "Beehiiv publication name.",
567
+
"type": "string"
568
+
},
569
+
"publicationUrl": {
570
+
"description": "URL to the Beehiiv publication.",
571
+
"type": "string"
572
+
},
573
+
"size": {
574
+
"description": "Widget display size. Default: 1x1.",
575
+
"knownValues": [
576
+
"1x1",
577
+
"1x2",
578
+
"2x2",
579
+
"2x1"
580
+
],
581
+
"type": "string"
582
+
},
583
+
"type": {
584
+
"const": "beehiiv",
585
+
"description": "Card type discriminator.",
586
+
"type": "string"
587
+
}
588
+
},
589
+
"required": [
590
+
"id",
591
+
"type",
592
+
"publicationId",
593
+
"publicationName",
594
+
"publicationUrl"
595
+
],
596
+
"type": "object"
597
+
},
598
+
"widgetClock": {
599
+
"description": "A clock, countdown, or stopwatch timer widget card.",
600
+
"properties": {
601
+
"enabled": {
602
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
603
+
"type": "boolean"
604
+
},
605
+
"id": {
606
+
"description": "Unique identifier for the card.",
607
+
"type": "string"
608
+
},
609
+
"label": {
610
+
"description": "Optional display label for the widget.",
611
+
"maxLength": 100,
612
+
"type": "string"
613
+
},
614
+
"mode": {
615
+
"description": "Widget mode: clock (timezone display), countdown (to a target date), or timer (interactive stopwatch).",
616
+
"knownValues": [
617
+
"clock",
618
+
"countdown",
619
+
"timer"
620
+
],
621
+
"type": "string"
622
+
},
623
+
"size": {
624
+
"description": "Widget display size. Default: 1x1.",
625
+
"knownValues": [
626
+
"1x1",
627
+
"1x2",
628
+
"2x2",
629
+
"2x1"
630
+
],
631
+
"type": "string"
632
+
},
633
+
"targetDate": {
634
+
"description": "ISO 8601 target date for countdown mode.",
635
+
"format": "datetime",
636
+
"type": "string"
637
+
},
638
+
"timezone": {
639
+
"description": "IANA timezone identifier for clock mode (e.g. 'America/New_York').",
640
+
"type": "string"
641
+
},
642
+
"type": {
643
+
"const": "clock",
644
+
"description": "Card type discriminator.",
645
+
"type": "string"
646
+
}
647
+
},
648
+
"required": [
649
+
"id",
650
+
"type",
651
+
"mode"
652
+
],
653
+
"type": "object"
654
+
},
655
+
"widgetDiscord": {
656
+
"description": "A Discord server widget card.",
657
+
"properties": {
658
+
"bannerUrl": {
659
+
"description": "Server banner URL.",
660
+
"type": "string"
661
+
},
662
+
"description": {
663
+
"description": "Server description.",
664
+
"type": "string"
665
+
},
666
+
"enabled": {
667
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
668
+
"type": "boolean"
669
+
},
670
+
"iconUrl": {
671
+
"description": "Server icon URL.",
672
+
"type": "string"
673
+
},
674
+
"id": {
675
+
"description": "Unique identifier for the card.",
676
+
"type": "string"
677
+
},
678
+
"inviteUrl": {
679
+
"description": "Discord invite URL.",
680
+
"type": "string"
681
+
},
682
+
"lastSyncedAt": {
683
+
"description": "When the server data was last fetched.",
684
+
"format": "datetime",
685
+
"type": "string"
686
+
},
687
+
"memberCount": {
688
+
"description": "Total member count.",
689
+
"type": "integer"
690
+
},
691
+
"presenceCount": {
692
+
"description": "Online member count.",
693
+
"type": "integer"
694
+
},
695
+
"serverId": {
696
+
"description": "Discord server ID.",
697
+
"type": "string"
698
+
},
699
+
"serverName": {
700
+
"description": "Discord server name.",
701
+
"type": "string"
702
+
},
703
+
"size": {
704
+
"description": "Widget display size. Default: 1x1.",
705
+
"knownValues": [
706
+
"1x1",
707
+
"1x2",
708
+
"2x2",
709
+
"2x1"
710
+
],
711
+
"type": "string"
712
+
},
713
+
"type": {
714
+
"const": "discord",
715
+
"description": "Card type discriminator.",
716
+
"type": "string"
717
+
}
718
+
},
719
+
"required": [
720
+
"id",
721
+
"type",
722
+
"serverId",
723
+
"serverName",
724
+
"inviteUrl"
725
+
],
726
+
"type": "object"
727
+
},
365
728
"widgetGithub": {
366
729
"description": "A GitHub contributions graph widget card.",
367
730
"properties": {
368
731
"contributions": {
369
732
"description": "Contribution data for the last year.",
370
733
"items": {
371
734
"ref": "#githubContributionDay",
372
735
"type": "ref"
373
736
},
374
737
"type": "array"
375
738
},
376
739
"enabled": {
377
740
"description": "Whether the widget is visible on the public page. Defaults to true.",
378
741
"type": "boolean"
379
742
},
380
743
"githubUsername": {
381
744
"description": "GitHub username.",
382
745
"type": "string"
383
746
},
384
747
"id": {
385
748
"description": "Unique identifier for the card.",
386
749
"type": "string"
387
750
},
388
751
"lastSyncedAt": {
389
752
"description": "When the contribution data was last fetched from GitHub.",
390
753
"format": "datetime",
391
754
"type": "string"
392
755
},
393
756
"size": {
394
757
"description": "Widget display size. Default: 1x1.",
395
758
"knownValues": [
396
759
"1x1",
397
760
"1x2",
398
761
"2x2"
399
762
],
400
763
"type": "string"
401
764
},
402
765
"totalContributions": {
403
766
"description": "Total number of contributions in the last year.",
404
767
"type": "integer"
405
768
},
406
769
"type": {
407
770
"const": "github",
408
771
"description": "Card type discriminator.",
409
772
"type": "string"
410
773
}
411
774
},
412
775
"required": [
413
776
"id",
414
777
"type",
415
778
"githubUsername",
416
779
"contributions"
417
780
],
418
781
"type": "object"
419
782
},
420
783
"widgetGoodreads": {
421
784
"description": "A Goodreads bookshelf widget card.",
422
785
"properties": {
423
786
"books": {
424
787
"description": "Books on the currently-reading shelf.",
425
788
"items": {
426
789
"ref": "#goodreadsBook",
427
790
"type": "ref"
428
791
},
429
792
"type": "array"
430
793
},
431
794
"enabled": {
432
795
"description": "Whether the widget is visible on the public page. Defaults to true.",
433
796
"type": "boolean"
434
797
},
435
798
"goodreadsUserId": {
436
799
"description": "Goodreads numeric user ID.",
437
800
"type": "string"
438
801
},
439
802
"id": {
440
803
"description": "Unique identifier for the card.",
441
804
"type": "string"
442
805
},
443
806
"lastSyncedAt": {
444
807
"description": "When the book data was last fetched from Goodreads.",
445
808
"format": "datetime",
446
809
"type": "string"
447
810
},
448
811
"readBooks": {
449
812
"description": "Books on the read shelf (used by 1x2 size).",
450
813
"items": {
451
814
"ref": "#goodreadsBook",
452
815
"type": "ref"
453
816
},
454
817
"type": "array"
455
818
},
456
819
"shelf": {
457
820
"description": "Shelf name (currently-reading, read, or to-read).",
458
821
"type": "string"
459
822
},
460
823
"size": {
461
824
"description": "Widget display size. Default: 1x1.",
462
825
"knownValues": [
463
826
"1x1",
464
827
"1x2",
465
828
"2x2"
466
829
],
467
830
"type": "string"
468
831
},
469
832
"type": {
470
833
"const": "goodreads",
471
834
"description": "Card type discriminator.",
472
835
"type": "string"
473
836
}
474
837
},
475
838
"required": [
476
839
"id",
477
840
"type",
478
841
"goodreadsUserId",
479
842
"shelf",
480
843
"books"
481
844
],
482
845
"type": "object"
483
846
},
847
+
"widgetLastfm": {
848
+
"description": "A Last.fm recently played tracks widget card.",
849
+
"properties": {
850
+
"coverArtNotice": {
851
+
"description": "Copyright notice for cover art images.",
852
+
"type": "string"
853
+
},
854
+
"enabled": {
855
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
856
+
"type": "boolean"
857
+
},
858
+
"id": {
859
+
"description": "Unique identifier for the card.",
860
+
"type": "string"
861
+
},
862
+
"lastSyncedAt": {
863
+
"description": "When the play data was last fetched from Last.fm.",
864
+
"format": "datetime",
865
+
"type": "string"
866
+
},
867
+
"lastfmUsername": {
868
+
"description": "Last.fm username for fetching scrobbles.",
869
+
"type": "string"
870
+
},
871
+
"plays": {
872
+
"description": "Recently played tracks from Last.fm.",
873
+
"items": {
874
+
"ref": "#tealfmPlay",
875
+
"type": "ref"
876
+
},
877
+
"type": "array"
878
+
},
879
+
"size": {
880
+
"description": "Widget display size. Default: 1x1.",
881
+
"knownValues": [
882
+
"1x1",
883
+
"1x2",
884
+
"2x2"
885
+
],
886
+
"type": "string"
887
+
},
888
+
"type": {
889
+
"const": "lastfm",
890
+
"description": "Card type discriminator.",
891
+
"type": "string"
892
+
}
893
+
},
894
+
"required": [
895
+
"id",
896
+
"type",
897
+
"lastfmUsername",
898
+
"plays"
899
+
],
900
+
"type": "object"
901
+
},
902
+
"widgetMap": {
903
+
"description": "A map location widget card.",
904
+
"properties": {
905
+
"enabled": {
906
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
907
+
"type": "boolean"
908
+
},
909
+
"id": {
910
+
"description": "Unique identifier for the card.",
911
+
"type": "string"
912
+
},
913
+
"latitude": {
914
+
"description": "Latitude coordinate as string (AT Protocol does not support floats).",
915
+
"type": "string"
916
+
},
917
+
"locationName": {
918
+
"description": "Display name for the location.",
919
+
"type": "string"
920
+
},
921
+
"longitude": {
922
+
"description": "Longitude coordinate as string (AT Protocol does not support floats).",
923
+
"type": "string"
924
+
},
925
+
"mapImageRef": {
926
+
"accept": [
927
+
"image/png",
928
+
"image/jpeg"
929
+
],
930
+
"description": "Cached static map image blob to avoid repeated Stadia Maps API calls.",
931
+
"maxSize": 5000000,
932
+
"type": "blob"
933
+
},
934
+
"size": {
935
+
"description": "Widget display size. Default: 1x1.",
936
+
"knownValues": [
937
+
"1x1",
938
+
"1x2",
939
+
"2x2",
940
+
"2x1"
941
+
],
942
+
"type": "string"
943
+
},
944
+
"style": {
945
+
"description": "Map style. Default: light.",
946
+
"knownValues": [
947
+
"light",
948
+
"dark"
949
+
],
950
+
"type": "string"
951
+
},
952
+
"type": {
953
+
"const": "map",
954
+
"description": "Card type discriminator.",
955
+
"type": "string"
956
+
},
957
+
"zoom": {
958
+
"description": "Map zoom level (1-18). Default: 12.",
959
+
"type": "integer"
960
+
}
961
+
},
962
+
"required": [
963
+
"id",
964
+
"type",
965
+
"locationName",
966
+
"latitude",
967
+
"longitude"
968
+
],
969
+
"type": "object"
970
+
},
971
+
"widgetMedium": {
972
+
"description": "A Medium profile widget card.",
973
+
"properties": {
974
+
"articles": {
975
+
"description": "Recent articles.",
976
+
"items": {
977
+
"ref": "#mediumArticle",
978
+
"type": "ref"
979
+
},
980
+
"type": "array"
981
+
},
982
+
"bio": {
983
+
"description": "Medium bio.",
984
+
"type": "string"
985
+
},
986
+
"displayName": {
987
+
"description": "Medium display name.",
988
+
"type": "string"
989
+
},
990
+
"enabled": {
991
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
992
+
"type": "boolean"
993
+
},
994
+
"followerCount": {
995
+
"description": "Number of followers.",
996
+
"type": "integer"
997
+
},
998
+
"id": {
999
+
"description": "Unique identifier for the card.",
1000
+
"type": "string"
1001
+
},
1002
+
"lastSyncedAt": {
1003
+
"description": "When the Medium data was last fetched.",
1004
+
"format": "datetime",
1005
+
"type": "string"
1006
+
},
1007
+
"profileUrl": {
1008
+
"description": "Medium profile URL.",
1009
+
"type": "string"
1010
+
},
1011
+
"size": {
1012
+
"description": "Widget display size. Default: 1x1.",
1013
+
"knownValues": [
1014
+
"1x1",
1015
+
"1x2",
1016
+
"2x2",
1017
+
"2x1"
1018
+
],
1019
+
"type": "string"
1020
+
},
1021
+
"type": {
1022
+
"const": "medium",
1023
+
"description": "Card type discriminator.",
1024
+
"type": "string"
1025
+
},
1026
+
"username": {
1027
+
"description": "Medium username.",
1028
+
"type": "string"
1029
+
}
1030
+
},
1031
+
"required": [
1032
+
"id",
1033
+
"type",
1034
+
"username",
1035
+
"profileUrl"
1036
+
],
1037
+
"type": "object"
1038
+
},
1039
+
"widgetPatreon": {
1040
+
"description": "A Patreon campaign widget card.",
1041
+
"properties": {
1042
+
"campaignId": {
1043
+
"description": "Patreon campaign ID.",
1044
+
"type": "string"
1045
+
},
1046
+
"campaignUrl": {
1047
+
"description": "URL to the Patreon campaign.",
1048
+
"type": "string"
1049
+
},
1050
+
"creationName": {
1051
+
"description": "Name of the creation/project.",
1052
+
"type": "string"
1053
+
},
1054
+
"creatorName": {
1055
+
"description": "Patreon creator name.",
1056
+
"type": "string"
1057
+
},
1058
+
"enabled": {
1059
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1060
+
"type": "boolean"
1061
+
},
1062
+
"id": {
1063
+
"description": "Unique identifier for the card.",
1064
+
"type": "string"
1065
+
},
1066
+
"imageUrl": {
1067
+
"description": "Campaign image URL.",
1068
+
"type": "string"
1069
+
},
1070
+
"lastSyncedAt": {
1071
+
"description": "When the campaign data was last fetched.",
1072
+
"format": "datetime",
1073
+
"type": "string"
1074
+
},
1075
+
"patronCount": {
1076
+
"description": "Number of patrons.",
1077
+
"type": "integer"
1078
+
},
1079
+
"postCount": {
1080
+
"description": "Number of posts.",
1081
+
"type": "integer"
1082
+
},
1083
+
"size": {
1084
+
"description": "Widget display size. Default: 1x1.",
1085
+
"knownValues": [
1086
+
"1x1",
1087
+
"1x2",
1088
+
"2x2",
1089
+
"2x1"
1090
+
],
1091
+
"type": "string"
1092
+
},
1093
+
"type": {
1094
+
"const": "patreon",
1095
+
"description": "Card type discriminator.",
1096
+
"type": "string"
1097
+
}
1098
+
},
1099
+
"required": [
1100
+
"id",
1101
+
"type",
1102
+
"campaignId",
1103
+
"creatorName",
1104
+
"campaignUrl"
1105
+
],
1106
+
"type": "object"
1107
+
},
1108
+
"widgetReddit": {
1109
+
"description": "A Reddit profile widget card.",
1110
+
"properties": {
1111
+
"avatarUrl": {
1112
+
"description": "Reddit avatar URL.",
1113
+
"type": "string"
1114
+
},
1115
+
"commentKarma": {
1116
+
"description": "Comment karma.",
1117
+
"type": "integer"
1118
+
},
1119
+
"enabled": {
1120
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1121
+
"type": "boolean"
1122
+
},
1123
+
"id": {
1124
+
"description": "Unique identifier for the card.",
1125
+
"type": "string"
1126
+
},
1127
+
"karma": {
1128
+
"description": "Total karma.",
1129
+
"type": "integer"
1130
+
},
1131
+
"lastSyncedAt": {
1132
+
"description": "When the Reddit data was last fetched.",
1133
+
"format": "datetime",
1134
+
"type": "string"
1135
+
},
1136
+
"linkKarma": {
1137
+
"description": "Link karma.",
1138
+
"type": "integer"
1139
+
},
1140
+
"profileUrl": {
1141
+
"description": "Reddit profile URL.",
1142
+
"type": "string"
1143
+
},
1144
+
"recentPosts": {
1145
+
"description": "Recent posts.",
1146
+
"items": {
1147
+
"ref": "#redditPost",
1148
+
"type": "ref"
1149
+
},
1150
+
"type": "array"
1151
+
},
1152
+
"size": {
1153
+
"description": "Widget display size. Default: 1x1.",
1154
+
"knownValues": [
1155
+
"1x1",
1156
+
"1x2",
1157
+
"2x2",
1158
+
"2x1"
1159
+
],
1160
+
"type": "string"
1161
+
},
1162
+
"type": {
1163
+
"const": "reddit",
1164
+
"description": "Card type discriminator.",
1165
+
"type": "string"
1166
+
},
1167
+
"username": {
1168
+
"description": "Reddit username.",
1169
+
"type": "string"
1170
+
}
1171
+
},
1172
+
"required": [
1173
+
"id",
1174
+
"type",
1175
+
"username",
1176
+
"profileUrl"
1177
+
],
1178
+
"type": "object"
1179
+
},
1180
+
"widgetSubstack": {
1181
+
"description": "A Substack publication widget card.",
1182
+
"properties": {
1183
+
"authorName": {
1184
+
"description": "Author name.",
1185
+
"type": "string"
1186
+
},
1187
+
"coverImageUrl": {
1188
+
"description": "Publication cover image URL.",
1189
+
"type": "string"
1190
+
},
1191
+
"description": {
1192
+
"description": "Publication description.",
1193
+
"type": "string"
1194
+
},
1195
+
"enabled": {
1196
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1197
+
"type": "boolean"
1198
+
},
1199
+
"id": {
1200
+
"description": "Unique identifier for the card.",
1201
+
"type": "string"
1202
+
},
1203
+
"imageUrl": {
1204
+
"description": "Publication image URL.",
1205
+
"type": "string"
1206
+
},
1207
+
"lastSyncedAt": {
1208
+
"description": "When the publication data was last fetched.",
1209
+
"format": "datetime",
1210
+
"type": "string"
1211
+
},
1212
+
"postCount": {
1213
+
"description": "Number of posts.",
1214
+
"type": "integer"
1215
+
},
1216
+
"publicationId": {
1217
+
"description": "Substack publication ID.",
1218
+
"type": "string"
1219
+
},
1220
+
"publicationName": {
1221
+
"description": "Substack publication name.",
1222
+
"type": "string"
1223
+
},
1224
+
"publicationUrl": {
1225
+
"description": "URL to the Substack publication.",
1226
+
"type": "string"
1227
+
},
1228
+
"size": {
1229
+
"description": "Widget display size. Default: 1x1.",
1230
+
"knownValues": [
1231
+
"1x1",
1232
+
"1x2",
1233
+
"2x2",
1234
+
"2x1"
1235
+
],
1236
+
"type": "string"
1237
+
},
1238
+
"subscriberCount": {
1239
+
"description": "Number of subscribers.",
1240
+
"type": "integer"
1241
+
},
1242
+
"type": {
1243
+
"const": "substack",
1244
+
"description": "Card type discriminator.",
1245
+
"type": "string"
1246
+
}
1247
+
},
1248
+
"required": [
1249
+
"id",
1250
+
"type",
1251
+
"publicationId",
1252
+
"publicationName",
1253
+
"publicationUrl"
1254
+
],
1255
+
"type": "object"
1256
+
},
484
1257
"widgetTealfm": {
485
1258
"description": "A teal.fm recently played tracks widget card.",
486
1259
"properties": {
487
1260
"coverArtNotice": {
488
1261
"description": "Copyright notice for cover art images.",
489
1262
"type": "string"
490
1263
},
491
1264
"enabled": {
492
1265
"description": "Whether the widget is visible on the public page. Defaults to true.",
493
1266
"type": "boolean"
494
1267
},
495
1268
"id": {
496
1269
"description": "Unique identifier for the card.",
497
1270
"type": "string"
498
1271
},
499
1272
"lastSyncedAt": {
500
1273
"description": "When the play data was last fetched from the PDS.",
501
1274
"format": "datetime",
502
1275
"type": "string"
503
1276
},
504
1277
"plays": {
505
1278
"description": "Recently played tracks.",
506
1279
"items": {
507
1280
"ref": "#tealfmPlay",
508
1281
"type": "ref"
509
1282
},
510
1283
"type": "array"
511
1284
},
512
1285
"size": {
513
1286
"description": "Widget display size. Default: 1x1.",
514
1287
"knownValues": [
515
1288
"1x1",
516
1289
"1x2",
517
1290
"2x2"
518
1291
],
519
1292
"type": "string"
520
1293
},
1294
+
"source": {
1295
+
"description": "Data source for the widget. 'lastfm' for imported Last.fm scrobbles, 'tealfm' (default) for native AT Protocol plays.",
1296
+
"knownValues": [
1297
+
"tealfm",
1298
+
"lastfm"
1299
+
],
1300
+
"type": "string"
1301
+
},
521
1302
"type": {
522
1303
"const": "tealfm",
523
1304
"description": "Card type discriminator.",
524
1305
"type": "string"
525
1306
}
526
1307
},
527
1308
"required": [
528
1309
"id",
529
1310
"type",
530
1311
"plays"
531
1312
],
532
1313
"type": "object"
1314
+
},
1315
+
"widgetTwitch": {
1316
+
"description": "A Twitch channel widget card.",
1317
+
"properties": {
1318
+
"displayName": {
1319
+
"description": "Twitch display name.",
1320
+
"type": "string"
1321
+
},
1322
+
"enabled": {
1323
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1324
+
"type": "boolean"
1325
+
},
1326
+
"id": {
1327
+
"description": "Unique identifier for the card.",
1328
+
"type": "string"
1329
+
},
1330
+
"isLive": {
1331
+
"description": "Whether the channel is currently live.",
1332
+
"type": "boolean"
1333
+
},
1334
+
"lastSyncedAt": {
1335
+
"description": "When the channel data was last fetched.",
1336
+
"format": "datetime",
1337
+
"type": "string"
1338
+
},
1339
+
"profileImageUrl": {
1340
+
"description": "Twitch profile image URL.",
1341
+
"type": "string"
1342
+
},
1343
+
"size": {
1344
+
"description": "Widget display size. Default: 1x1.",
1345
+
"knownValues": [
1346
+
"1x1",
1347
+
"1x2",
1348
+
"2x2",
1349
+
"2x1"
1350
+
],
1351
+
"type": "string"
1352
+
},
1353
+
"streamGame": {
1354
+
"description": "Current stream game/category.",
1355
+
"type": "string"
1356
+
},
1357
+
"streamTitle": {
1358
+
"description": "Current stream title.",
1359
+
"type": "string"
1360
+
},
1361
+
"type": {
1362
+
"const": "twitch",
1363
+
"description": "Card type discriminator.",
1364
+
"type": "string"
1365
+
},
1366
+
"username": {
1367
+
"description": "Twitch username.",
1368
+
"type": "string"
1369
+
},
1370
+
"viewerCount": {
1371
+
"description": "Current viewer count.",
1372
+
"type": "integer"
1373
+
}
1374
+
},
1375
+
"required": [
1376
+
"id",
1377
+
"type",
1378
+
"username"
1379
+
],
1380
+
"type": "object"
1381
+
},
1382
+
"widgetVideo": {
1383
+
"description": "A video widget card.",
1384
+
"properties": {
1385
+
"alt": {
1386
+
"description": "Alt text for accessibility.",
1387
+
"maxLength": 1000,
1388
+
"type": "string"
1389
+
},
1390
+
"aspectRatio": {
1391
+
"description": "Video aspect ratio.",
1392
+
"ref": "#videoAspectRatio",
1393
+
"type": "ref"
1394
+
},
1395
+
"createdAt": {
1396
+
"description": "When the video was uploaded.",
1397
+
"format": "datetime",
1398
+
"type": "string"
1399
+
},
1400
+
"did": {
1401
+
"description": "Author DID for constructing PDS blob URLs.",
1402
+
"type": "string"
1403
+
},
1404
+
"enabled": {
1405
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1406
+
"type": "boolean"
1407
+
},
1408
+
"id": {
1409
+
"description": "Unique identifier for the card.",
1410
+
"type": "string"
1411
+
},
1412
+
"loop": {
1413
+
"description": "Whether the video loops. Defaults to true.",
1414
+
"type": "boolean"
1415
+
},
1416
+
"muted": {
1417
+
"description": "Whether the video is muted. Defaults to true.",
1418
+
"type": "boolean"
1419
+
},
1420
+
"showOverlay": {
1421
+
"description": "Whether to show the title overlay. Defaults to false.",
1422
+
"type": "boolean"
1423
+
},
1424
+
"size": {
1425
+
"description": "Widget display size. Default: 1x1.",
1426
+
"knownValues": [
1427
+
"1x1",
1428
+
"1x2",
1429
+
"2x2",
1430
+
"2x1"
1431
+
],
1432
+
"type": "string"
1433
+
},
1434
+
"title": {
1435
+
"description": "Video title overlay.",
1436
+
"maxLength": 100,
1437
+
"type": "string"
1438
+
},
1439
+
"type": {
1440
+
"const": "video",
1441
+
"description": "Card type discriminator.",
1442
+
"type": "string"
1443
+
},
1444
+
"videoBlobRef": {
1445
+
"description": "Reference to the uploaded video blob.",
1446
+
"type": "blob"
1447
+
}
1448
+
},
1449
+
"required": [
1450
+
"id",
1451
+
"type",
1452
+
"videoBlobRef",
1453
+
"did"
1454
+
],
1455
+
"type": "object"
1456
+
},
1457
+
"widgetYoutube": {
1458
+
"description": "A YouTube channel widget card.",
1459
+
"properties": {
1460
+
"channelId": {
1461
+
"description": "YouTube channel ID.",
1462
+
"type": "string"
1463
+
},
1464
+
"channelName": {
1465
+
"description": "YouTube channel name.",
1466
+
"type": "string"
1467
+
},
1468
+
"channelUrl": {
1469
+
"description": "URL to the YouTube channel.",
1470
+
"type": "string"
1471
+
},
1472
+
"enabled": {
1473
+
"description": "Whether the widget is visible on the public page. Defaults to true.",
1474
+
"type": "boolean"
1475
+
},
1476
+
"id": {
1477
+
"description": "Unique identifier for the card.",
1478
+
"type": "string"
1479
+
},
1480
+
"lastSyncedAt": {
1481
+
"description": "When the video data was last fetched.",
1482
+
"format": "datetime",
1483
+
"type": "string"
1484
+
},
1485
+
"latestVideo": {
1486
+
"description": "The latest video from the channel.",
1487
+
"ref": "#youtubeVideo",
1488
+
"type": "ref"
1489
+
},
1490
+
"size": {
1491
+
"description": "Widget display size. Default: 1x1.",
1492
+
"knownValues": [
1493
+
"1x1",
1494
+
"1x2",
1495
+
"2x2",
1496
+
"2x1"
1497
+
],
1498
+
"type": "string"
1499
+
},
1500
+
"type": {
1501
+
"const": "youtube",
1502
+
"description": "Card type discriminator.",
1503
+
"type": "string"
1504
+
}
1505
+
},
1506
+
"required": [
1507
+
"id",
1508
+
"type",
1509
+
"channelId",
1510
+
"channelName",
1511
+
"channelUrl"
1512
+
],
1513
+
"type": "object"
1514
+
},
1515
+
"youtubeVideo": {
1516
+
"description": "A YouTube video.",
1517
+
"properties": {
1518
+
"isShort": {
1519
+
"description": "Whether this is a YouTube Short.",
1520
+
"type": "boolean"
1521
+
},
1522
+
"publishedAt": {
1523
+
"description": "When the video was published.",
1524
+
"type": "string"
1525
+
},
1526
+
"title": {
1527
+
"description": "Video title.",
1528
+
"type": "string"
1529
+
},
1530
+
"videoId": {
1531
+
"description": "YouTube video ID.",
1532
+
"type": "string"
1533
+
}
1534
+
},
1535
+
"required": [
1536
+
"videoId",
1537
+
"title",
1538
+
"publishedAt"
1539
+
],
1540
+
"type": "object"
533
1541
}
534
1542
},
535
1543
"id": "me.linkna.linkinbio",
536
1544
"lexicon": 1
537
1545
}