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",
"https://ublog.kimapr.net/schemas/litepub-0.1.jsonld",
{
"@language": "und"
}
],
"actor": "https://ublog.kimapr.net/users/kimapr",
"attachment": [],
"attributedTo": "https://ublog.kimapr.net/users/kimapr",
"cc": [
"https://ublog.kimapr.net/users/kimapr/followers"
],
"content": "<p>Updated my userscript for the latest akkoma shenanigans </p><pre><code>// ==UserScript==\n// @name Akkoma MFM bomb fix also remove some of the stupid ellipses\n// @version 1\n// @grant none\n// ==/UserScript==\n\nif ((document.querySelector("noscript")??{}).innerText == "To use Akkoma, please enable JavaScript.") {\n let style = document.createElement("style");\n style.textContent=`\n._mfm_x2_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x4_ {\n font-size:100%;\n}\n\n.user-profile .user-profile-fields .user-profile-field .user-profile-field-name, .user-profile .user-profile-fields .user-profile-field .user-profile-field-value {\n white-space: unset;\n}\n\n`\n document.head.append(style);\n}\n\ndocument.addEventListener("DOMContentLoaded",_=>{\n try {\n [...document.styleSheets]\n .map(e=>{try{return e.cssRules}catch{}}).filter(e=>e).map(e=>[...e])\n .flat()\n .filter(e=>e.selectorText==".user-info.-compact .container")\n [0].style.gridTemplateAreas="";\n } catch {}\n})\n</code></pre>",
"contentMap": {
"en": "<p>Updated my userscript for the latest akkoma shenanigans </p><pre><code>// ==UserScript==\n// @name Akkoma MFM bomb fix also remove some of the stupid ellipses\n// @version 1\n// @grant none\n// ==/UserScript==\n\nif ((document.querySelector("noscript")??{}).innerText == "To use Akkoma, please enable JavaScript.") {\n let style = document.createElement("style");\n style.textContent=`\n._mfm_x2_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x2_ ._mfm_x4_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x3_ ._mfm_x4_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x2_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x3_ ._mfm_x4_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x2_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x3_,\n._mfm_x4_ ._mfm_x4_ ._mfm_x4_ {\n font-size:100%;\n}\n\n.user-profile .user-profile-fields .user-profile-field .user-profile-field-name, .user-profile .user-profile-fields .user-profile-field .user-profile-field-value {\n white-space: unset;\n}\n\n`\n document.head.append(style);\n}\n\ndocument.addEventListener("DOMContentLoaded",_=>{\n try {\n [...document.styleSheets]\n .map(e=>{try{return e.cssRules}catch{}}).filter(e=>e).map(e=>[...e])\n .flat()\n .filter(e=>e.selectorText==".user-info.-compact .container")\n [0].style.gridTemplateAreas="";\n } catch {}\n})\n</code></pre>"
},
"context": "https://ublog.kimapr.net/contexts/bb70197d-c592-4c8d-a72a-a740e44f59cf",
"conversation": "https://ublog.kimapr.net/contexts/bb70197d-c592-4c8d-a72a-a740e44f59cf",
"id": "https://ublog.kimapr.net/objects/cd4607b8-18d4-4b9f-88f3-0841e60ea957",
"published": "2025-04-04T19:59:38.683351Z",
"repliesCount": 1,
"sensitive": true,
"source": {
"content": "Updated my userscript for the latest akkoma shenanigans \r\n```\r\n// ==UserScript==\r\n// @name Akkoma MFM bomb fix also remove some of the stupid ellipses\r\n// @version 1\r\n// @grant none\r\n// ==/UserScript==\r\n\r\nif ((document.querySelector(\"noscript\")??{}).innerText == \"To use Akkoma, please enable JavaScript.\") {\r\n let style = document.createElement(\"style\");\r\n style.textContent=`\r\n._mfm_x2_ ._mfm_x2_ ._mfm_x2_,\r\n._mfm_x2_ ._mfm_x2_ ._mfm_x3_,\r\n._mfm_x2_ ._mfm_x2_ ._mfm_x4_,\r\n._mfm_x2_ ._mfm_x3_ ._mfm_x2_,\r\n._mfm_x2_ ._mfm_x3_ ._mfm_x3_,\r\n._mfm_x2_ ._mfm_x3_ ._mfm_x4_,\r\n._mfm_x2_ ._mfm_x4_ ._mfm_x2_,\r\n._mfm_x2_ ._mfm_x4_ ._mfm_x3_,\r\n._mfm_x2_ ._mfm_x4_ ._mfm_x4_,\r\n._mfm_x3_ ._mfm_x2_ ._mfm_x2_,\r\n._mfm_x3_ ._mfm_x2_ ._mfm_x3_,\r\n._mfm_x3_ ._mfm_x2_ ._mfm_x4_,\r\n._mfm_x3_ ._mfm_x3_ ._mfm_x2_,\r\n._mfm_x3_ ._mfm_x3_ ._mfm_x3_,\r\n._mfm_x3_ ._mfm_x3_ ._mfm_x4_,\r\n._mfm_x3_ ._mfm_x4_ ._mfm_x2_,\r\n._mfm_x3_ ._mfm_x4_ ._mfm_x3_,\r\n._mfm_x3_ ._mfm_x4_ ._mfm_x4_,\r\n._mfm_x4_ ._mfm_x2_ ._mfm_x2_,\r\n._mfm_x4_ ._mfm_x2_ ._mfm_x3_,\r\n._mfm_x4_ ._mfm_x2_ ._mfm_x4_,\r\n._mfm_x4_ ._mfm_x3_ ._mfm_x2_,\r\n._mfm_x4_ ._mfm_x3_ ._mfm_x3_,\r\n._mfm_x4_ ._mfm_x3_ ._mfm_x4_,\r\n._mfm_x4_ ._mfm_x4_ ._mfm_x2_,\r\n._mfm_x4_ ._mfm_x4_ ._mfm_x3_,\r\n._mfm_x4_ ._mfm_x4_ ._mfm_x4_ {\r\n font-size:100%;\r\n}\r\n\r\n.user-profile .user-profile-fields .user-profile-field .user-profile-field-name, .user-profile .user-profile-fields .user-profile-field .user-profile-field-value {\r\n white-space: unset;\r\n}\r\n\r\n`\r\n document.head.append(style);\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\",_=>{\r\n try {\r\n [...document.styleSheets]\r\n .map(e=>{try{return e.cssRules}catch{}}).filter(e=>e).map(e=>[...e])\r\n .flat()\r\n .filter(e=>e.selectorText==\".user-info.-compact .container\")\r\n [0].style.gridTemplateAreas=\"\";\r\n } catch {}\r\n})\r\n```",
"mediaType": "text/markdown"
},
"summary": "javascript code",
"tag": [],
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"type": "Note"
}