A small tool to view real-world ActivityPub objects as JSON! Enter a URL
or username from Mastodon or a similar service below, and we'll send a
request with
the right
Accept
header
to the server to view the underlying object.
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"ostatus": "http://ostatus.org#",
"atomUri": "ostatus:atomUri",
"inReplyToAtomUri": "ostatus:inReplyToAtomUri",
"conversation": "ostatus:conversation",
"sensitive": "as:sensitive",
"toot": "http://joinmastodon.org/ns#",
"votersCount": "toot:votersCount",
"blurhash": "toot:blurhash",
"focalPoint": {
"@container": "@list",
"@id": "toot:focalPoint"
}
}
],
"id": "https://front-end.social/users/bramus/statuses/111800621223859588",
"type": "Note",
"summary": null,
"inReplyTo": "https://front-end.social/users/bramus/statuses/111800616847469327",
"published": "2024-01-22T16:48:16Z",
"url": "https://front-end.social/@bramus/111800621223859588",
"attributedTo": "https://front-end.social/users/bramus",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"cc": [
"https://front-end.social/users/bramus/followers"
],
"sensitive": false,
"atomUri": "https://front-end.social/users/bramus/statuses/111800621223859588",
"inReplyToAtomUri": "https://front-end.social/users/bramus/statuses/111800616847469327",
"conversation": "tag:front-end.social,2024-01-22:objectId=7263465:objectType=Conversation",
"content": "<p>On `pointerdown` the View Transition starts but all its animations get paused immediately.</p><p>On `pointermove` the animations their `currentTime` get updated based on your drag distance.</p><p>On `pointerup` the VT either snaps back, or plays until the end.</p>",
"contentMap": {
"en": "<p>On `pointerdown` the View Transition starts but all its animations get paused immediately.</p><p>On `pointermove` the animations their `currentTime` get updated based on your drag distance.</p><p>On `pointerup` the VT either snaps back, or plays until the end.</p>"
},
"attachment": [
{
"type": "Document",
"mediaType": "image/png",
"url": "https://cdn.masto.host/frontendsocial/media_attachments/files/111/800/618/126/621/067/original/798d27f22e1fa30d.png",
"name": "// This one gets triggered on `pointermove`\nconst updateAnimations = () => {\n // Duration of the View Transition\n const baseDuration = 1000;\n\n // Determine dragging delta\n const dragDelta =\n ['up', 'down'].includes(neededDirection) ?\n Math.abs(currentY - startY) :\n Math.abs(currentX - startX);\n \n // Determine time based on dragging delta\n // Don’t go on or over the baseDuration, as that would finish VT.\n // Therefore, subtract 0.0001 from it and set it as the max.\n const currentTime = Math.max(\n 0,\n Math.min(\n baseDuration - 0.001,\n dragDelta / dragDistance * baseDuration\n )\n );\n\n for (const animation of activeAnimations) {\n animation.currentTime = currentTime;\n }\n}",
"blurhash": "UM6I?hx^t:ozyEofofj[yGkCadj[tmj[axfQ",
"focalPoint": [
0.04,
-0.15
],
"width": 1840,
"height": 1568
},
{
"type": "Document",
"mediaType": "image/png",
"url": "https://cdn.masto.host/frontendsocial/media_attachments/files/111/800/618/141/837/424/original/9a902801d189cdc2.png",
"name": "// This one gets triggered on `pointerdown`\nconst startViewTransition = async () => {\n // Start the View Transition\n activeViewTransition = document.startViewTransition(() => {\n document.querySelector('.card').classList.toggle('small');\n });\n await activeViewTransition.ready;\n \n // Immediately pause all animations linked to it\n activeAnimations = document.getAnimations().filter((anim) => {\n return anim.effect.target === document.documentElement &&\n anim.effect.pseudoElement?.startsWith(\"::view-transition\");\n });\n for (const anim of activeAnimations) anim.pause();\n}",
"blurhash": "UT6vJux^tno#x_ofj[j[yGofadf6tTj[aefQ",
"focalPoint": [
0,
0
],
"width": 1840,
"height": 1074
}
],
"tag": [],
"replies": {
"id": "https://front-end.social/users/bramus/statuses/111800621223859588/replies",
"type": "Collection",
"first": {
"type": "CollectionPage",
"next": "https://front-end.social/users/bramus/statuses/111800621223859588/replies?min_id=111800624421778487&page=true",
"partOf": "https://front-end.social/users/bramus/statuses/111800621223859588/replies",
"items": [
"https://front-end.social/users/bramus/statuses/111800624421778487"
]
}
},
"likes": {
"id": "https://front-end.social/users/bramus/statuses/111800621223859588/likes",
"type": "Collection",
"totalItems": 2
},
"shares": {
"id": "https://front-end.social/users/bramus/statuses/111800621223859588/shares",
"type": "Collection",
"totalItems": 0
}
}