Frontend Script Boxes låter operatörer spara små JavaScript-anpassningar i Tools och återanvända dem över flera frontendytor.
Stödda ytor just nu:
vbulletin – för forumfrontend, htmlsnippets och vBulletin-specifika anpassningarfeed – för /feed-relaterade widgets, embeddade nyhetsrutor och scriptdrivna externa sajtintegrationer/admin/security/vbulletin/feed-adminpermission:rssVarje sparad box stöder nu:
<script src="…"><script>-tagg)GET /api/managed-scripts/{surface}Returnerar de aktuella publika/aktiva scriptboxarna för en vald yta.
Tillåtna surface-värden:
vbulletinfeedformat=both (standard) – returnera både mergat script och separerade scripts[]format=merged – returnera bara den mergade bundlenformat=separate – returnera bara separerade scripts[]feed_ids=63,91 eller feeds=63,91 – valfria feed-urlid:n för feed-widgets som ska rikta sig mot vissa feedscategories=coding,fact-check, groups=coding,fact-check eller category_slugs=coding,fact-check – valfria kategori-/gruppslugs för feed-widgetslimit=10 – valfri hint för antal poster/widgetrader, begränsad till 1..100För ytan feed normaliseras dessa queryvärden och skickas tillbaka som query_context.filters, så embeddade widgets kan reagera på valda feeds/grupper utan att behöva uppfinna egen parsning.
{
"ok": true,
"surface": "feed",
"count": 2,
"bundle_url": "https://tools.tornevall.net/api/managed-scripts/feed/bundle.js",
"bundle_tag": "<script src=\"https://tools.tornevall.net/api/managed-scripts/feed/bundle.js\"></script>",
"query_context": {
"surface": "feed",
"filters": {
"feed_ids": [63],
"category_slugs": ["coding"],
"limit": 10
},
"has_filters": true
},
"scripts": [
{
"id": 7,
"surface": "feed",
"title": "Compact feed widget",
"script_body": "(() => { console.log('feed widget'); })();",
"script_src": "",
"ai_instruction": "Render a compact feed card widget",
"sort_order": 10,
"is_enabled": true,
"updated_by_user_id": 1,
"updated_at": "2026-04-27T21:40:00+00:00"
}
],
"merged_script": "(function(){\nwindow.__toolsManagedScriptBoxes = ..."
}
GET /api/managed-scripts/{surface}/bundle.jsReturnerar en färdig JavaScript-bundle som kan bäddas in direkt i frontend.
Exempel:
<script src="https://tools.tornevall.net/api/managed-scripts/vbulletin/bundle.js"></script>
Feed-widget med tydliga filter:
<script src="https://tools.tornevall.net/api/managed-scripts/feed/bundle.js?feed_ids=63&categories=coding&limit=10"></script>
Den mergade bundlen:
sort_order och därefter idscript_src som extern <script src>-loaderwindow.__toolsManagedScriptBoxes-skyddwindow.__toolsManagedScriptBoxes.context.filters (feed_ids[], category_slugs[], limit)/feed-nyhetsruta på en valfri extern sajt/api/rss eller /api/rss/feed/{selector} och presentera egna kompakta sammanfattningar<script>-taggar i inline-scriptfältet.