vibeguard/src/content/definitions/default.json

38 lines
1.5 KiB
JSON

{
"schemaVersion": 1,
"collectionId": "vibeguard-default",
"name": "VibeGuard default definitions",
"description": "Definitions maintained by the VibeGuard project.",
"definitions": [
{
"id": "mastodon",
"name": "Mastodon (official web interface)",
"urlPatterns": ["<all_urls>"],
"requiredSelectors": [".status__content", ".status, .detailed-status"],
"post": {
"rootSelectors": [".status", ".detailed-status"],
"textSelectors": [".status__content", ".e-content"],
"excludedSelectors": [".status__content__spoiler-link", ".status__content__read-more-button"],
"idAttributes": ["data-id"],
"permalinkSelectors": ["a.status__relative-time[href]", "a.detailed-status__datetime[href]", "a.u-url.u-uid[href]"]
}
},
{
"id": "threads",
"name": "Threads",
"urlPatterns": [
"https://threads.com/*",
"https://www.threads.com/*",
"https://threads.net/*",
"https://www.threads.net/*"
],
"requiredSelectors": ["[data-pressable-container=\"true\"], [role=\"article\"], article"],
"post": {
"rootSelectors": ["[data-pressable-container=\"true\"]", "[role=\"article\"]", "article"],
"textSelectors": ["span[dir=\"auto\"]:not(a span):not(time span):not([role=\"button\"] span)"],
"excludedSelectors": ["button", "[role=\"button\"]", "time", "svg"],
"permalinkSelectors": ["a[href*=\"/post/\"]"]
}
}
]
}