this post was submitted on 11 Jul 2023
4 points (100.0% liked)

Kbin Userstyles and Userscripts

15 readers
1 users here now

Custom CSS and JS to help improve your Kbin experience! ### Userscripts Greasy Fork ### Stylesheets UserStyles.world ### Userscript managers

founded 1 year ago
 

Creating a new thread as I've moved instances and can no longer update the old one. Sorry about that!

kbin-mod-options

Description

The purpose of this script is to allow mod authors to more easily implement settings and features. Only new feature notes will be included in this document. To view usage, please refer to the README.

Patch Notes

  • 0.1.0 - Initial Release

  • 0.2.0 - Breaking change. By default, settings will be collapsed as a drawer.

    • 0.2.2 - Compatibility fix for KUP (Kbin Usability Pack) 0.2.1+.
    • 0.2.3 - Style changes + animations.
    • 0.2.4 - Bug-fix for Kbin/kbin-core#666.
  • 0.3.0 - New feature: Observers!

Observer

This is for making infinite scroll support easier for mod creators and not an actual setting module.

kmoCreateObserver({<funcToCall: yourFunctionNameHere>[, nodeType: 'id'][, nodeToWatch: 'content'][, watchSubtree: false]});

NOTE: You're passing an object here that allows for named arguments. Please review example closely.

  • funcToCall - required
  • nodeType - optional
  • nodeToWatch - optional
  • watchSubtree - optional

Example

// Create observer for main content feed.
cont myObserver = kmoCreateObserver({funcToCall: updateNewContent});
// Example function
function updateNewContent() {
    // Do stuff here
}
// Stop observing, maybe your addon is toggled off?
function shutdown() {
    myObserver.disconnect();
}

// Maybe you want to watch perry.dev's subscription panel list
const mySubObserver = kmoCreateObserver({funcToCall: subUpdate, nodeType: 'class', nodeToWatch: 'subscription-list'});
// Example function
function subUpdate() {
    // Do stuff here
}
// Stop observering - doesn't have to be in a function, but it makes life easier.
function shutdown() {
    mySubObserver.disconnect();
}

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here