this post was submitted on 12 Jul 2023
62 points (100.0% liked)

/kbin meta

200 readers
2 users here now

Magazine dedicated to discussions about the kbin itself. Provide feedback, ask questions, suggest improvements, and engage in conversations related to the platform organization, policies, features, and community dynamics. ---- * Roadmap 2023 * m/kbinDevlog * m/kbinDesign

founded 1 year ago
 

A couple of weeks ago, @shazbot made this post about a project that they were working on. Since then, @shazbot, @ori, @minnieo and I have been hard at work, and we are excited to finally announce the official release of kbin Enhancement Suite (KES)!

kbin has seen an explosion of user-made add-ons, but keeping track of them in one place, letting them share settings with one another, and toggling them on and off can be a challenge. KES is an expandable add-on manager that aims to rectify this by providing a unified interface and framework for script makers to collaborate, and letting you use them all in one place.

KES brings together userscripts from the community, with a built-in settings menu that lets you tailor your experience to your liking. It also offers a flexible framework that empowers script authors to effortlessly integrate scripts into KES and set up custom input fields with no additional code.

KES gives you a single window onto a collection of enhancements that is growing by the day. And those features can be added to by you!

The KES settings menu

What the feed looks like with everything enabled

The comments with everything turned on

Features

We’ve focused on making customizing your kbin experience as easy as possible, whether you are on mobile or desktop. After we sort out the bug reports from this release, we plan on adding many more features! Here’s what we have so far:

  • Collapsible comments with nesting (by @artillect)
  • Use slash commands to add emoticons in text areas (by @minnieo)
  • Add syntax highlighting (with customizable themes) to code blocks (by @ori)
  • Show instance names next to non-local users and communities (by @artillect)
  • Add a link to message users on your instance next to their usernames (by @shazbot)
  • Hide upvote/downvote buttons and reputation (by @artillect)
  • Show more detailed timestamps on threads and comments (by @shazbot)
  • Hide thumbnails on threads (by @shazbot)
  • Add link to subscribed magazines to the navbar (by @shazbot)
  • Replace or hide the kbin logo in the navbar (by @shazbot)
  • Add “OP” label next to thread author’s username in comments (by @shazbot)
  • Convert navigation links on profile pages into a dropdown (by @shazbot)

Each of these can be toggled in the settings menu, and some of them have additional configuration options, such as setting custom labels, colors, etc.

New features are added on a rolling basis and the menu pages will update on the fly to reflect this new content.

Installation

Click here to install KES, and follow your userscript manager’s prompt to complete the installation.

If you don’t have a userscript management extension, you can install one of these, and then install KES using the link below:

Once KES is successfully installed, access the settings menu by clicking on the wrench icon located at the top-right corner next to your username. From there, you can enable the features you like, and customize your browsing experience.

More information

For bug reports and feature requests, visit our GitHub repository’s issues page. If you have any questions or need assistance, don’t hesitate to ask here or make a post on /m/enhancement!

Developers

If you are a userscript author, we’d love it if you could try porting your userscripts into KES, or try writing completely new ones for it! @shazbot has made it easy to integrate your scripts: you just need to add your script’s information to manifest.json, make a few small modifications to your script, add it all to the GitHub repository, and you’re good to go!

KES benefits:

  • Turnkey integration: a simple, declarative framework for dynamically adding features to the UI without touching the underlying code
  • Sharing of user-defined settings through script namespaces: access your script settings, and those from other scripts, through a well-defined object
  • Automatically responds to infinite scroll and page reload events
  • Attribution of script authors
  • Easily toggle scripts on/off

Explore KES’s documentation here to get started. If you have any questions, feel free to reach out here, on /m/enhancement, or at our GitHub repository.

top 50 comments
sorted by: hot top controversial new old
[–] Prouvaire@kbin.social 3 points 1 year ago* (last edited 1 year ago) (7 children)

Fantastic project and fantastic work.

For what it's worth I'd love to see the following userscripts ported to KES:

  • Better Navigation Page - makes the page number at the bottom more readable
  • Kbin Notifications Panel - adds a notification panel to the navigation bar
  • Kbin Subscriptions Panel - adds a collapsible, sortable side panel with a list of all magazine subscriptions (KES has an "Add subs to navbar" option, but the subscriptions panel is a more sophisticated and user-friendly alternative)

I'm still running these three scripts in addition to KES, but if they were ported to KES it would make managing them easier (via a common interface for options) and reduce the potential for conflicts.

For example, running Kbin Subscriptions Panel a well as KES produces this visual glitch in the navbar, where the icons get mixed up:

[–] minnieo@kbin.social 1 points 1 year ago

notifications panel i'd love to see especially, that has been so useful! i hope @blobcat considers inserting their script (´꒳`)

load more comments (6 replies)
[–] effingjoe@kbin.social 2 points 1 year ago (5 children)

I appreciate the effort, but am curious as to why this is needed in an open source project. I would much prefer these types of things be part of the default experience instead of a third party solution. Is this just my own ignorance showing? Is there a reason to handle this with a third party tool instead of a pull request in the kbin code?

RES was needed because reddit went closed source and didn't prioritize the things people wanted.

Please don't take my comment as being ungrateful for the great work you've done. It's just an idle question that will probably serve only to demonstrate how little I know. haha

load more comments (5 replies)
[–] McBinary@kbin.social 1 points 1 year ago (1 children)

I've seen a couple prompts to update the script via wrench menu, but the changes don't seem clear at a glance. Is there a changelog somewhere we can view what has changed?

[–] shazbot@kbin.social 2 points 1 year ago (1 children)

It's a valid concern, will be doing that going forward once the dust settles. I think it will be an external document rather than a widget inside the menu. You are just seeing custodial changes (hotfixes) to some of the bugs reported today. If the third number is incrementing, it is a hotfix.

[–] McBinary@kbin.social 2 points 1 year ago (1 children)

Thanks @shazbot! That makes sense to keep it external; although I think a static link to an external doc would not be out of place next to the version number on the wrench menu.

I really appreciate what you guys are doing, these scripts make all the difference in experience on kbin.

[–] shazbot@kbin.social 1 points 1 year ago (2 children)

Yes, agreed with a link for sure, I just meant that I don't want to have a fancy widget just for the purpose of displaying the full changelog inside the menu, I think that will be tedious to maintain.

load more comments (2 replies)
[–] blobcat@kbin.social 1 points 1 year ago

I love it! I have one question though, wouldn't it better to separate KES version from all of the userscript/settings versions? Updating from 1.1.4 to 1.1.6 only moved the version up in userscript info, since all the userscripts are updated separately anyway. Updating KES would make sense only if something in kes.user.js is changed, right now users just get KES update prompts that do nothing.

[–] akai@kbin.social 1 points 1 year ago* (last edited 1 year ago) (1 children)

Seems to work pretty well on mobile Firefox with Tampermonkey. Haven't had a chance to fully explore yet, but looks really good so far! Good job!

[–] artillect@kbin.social 1 points 1 year ago

Sweet! Glad you're liking it so far :)

[–] donuts@kbin.social 1 points 1 year ago

Very cool. I hope that some of these nice features will eventually be upstreamed/ported to vanilla Kbin, but it's great to already have a strong community of add-ons. Keep up the great work!

[–] losttourist@kbin.social 1 points 1 year ago

This is pretty nice even at such an early stage in development. Very much appreciated, thank you.

[–] FixedFun@kbin.social 1 points 1 year ago

I would have called it Kbin Enhancement Kit (KEK)

[–] DarkThoughts@kbin.social 1 points 1 year ago* (last edited 1 year ago) (1 children)

Hm. Been using kbin enhancement script + kbin usability pack so far but I'll check it out.

Edit: Nevermind, doesn't seem to work for me at all. I don't even get the settings button.

[–] minnieo@kbin.social 1 points 1 year ago (2 children)

what browser are you using and what extension to run the script?

[–] DarkThoughts@kbin.social 1 points 1 year ago (7 children)
[–] shazbot@kbin.social 2 points 1 year ago (1 children)

This is tentatively fixed and we have it working on all flavors now. The update should be forthcoming over the weekend or start of next week, we are just verifying things.

[–] DarkThoughts@kbin.social 1 points 1 year ago

Thanks for the heads up.

load more comments (6 replies)
[–] fuzz@kbin.social 1 points 1 year ago (29 children)

I’ve got the same issue - using iOS Safari and Userscripts.

[–] artillect@kbin.social 1 points 1 year ago

It seems like this is the opposite of the issue we were having with Violentmonkey, we'll see what we can do about fixing it

load more comments (28 replies)
load more comments
view more: next ›