mlissner I came here because I'd love to get bangs set up for our website in Kagi so that Kagi users can easily query it. I can imagine queries like:
!cases, !legal, !law — for searching case law
!recap, !pacer — for searching our collection of filings (called the "RECAP Archive")
!judges — for searching judges
!oa — for searching oral arguments
Can you give me the search URL's that would be associated with each bang trigger above?
I will create a custom branch of bangtastic! that supports these triggers and can be hosted publicly. (As a fully functional POC.)
- The service can be hosted on and accessed from your own domain: CourtListener.com
- Even non-Kagi users can use it (although that is already true for all non-Kagi bangs)
I think open-source bangs means bangs can be executed on any site, not just a few limited sites like Kagi, DDG, Brave, etc
- Each site can determine themselves which bangs they support, and how they are executed.
- Each site can also choose to support the bangs supported by other sites via scoped bangs:
@kagi.com!images
summons the Kagi bang for images; @duck.com!images
would summon DuckDuckGo's version.
- Likewise,
@courtlistener.com!cases
would summon the bang you suggested.
- On a domain, the default scope is the domain itself.
- To support custom user bangs, their could also be user-level scopes like
@mlissner:kagi.com!law
, which could be shortened to @mlissner!law
on Kagi.com, since that is the default domain. (And logged in with your own account, you can also omit your own username: just !law
)
After proposing scoped bangs, I realized the competition is just moved to desirable scope names (albeit at a smaller scale). Domain Names as Handles in Bluesky is a nice solution to this:
- Kagi.com already controls/manages both the domain name and bangs on their own domain. (Ditto for duck.com, brave.com)
- The bang data can be stored in a standard location on each domain, like favicons, robots.txt, etc. (Perhaps and/or an API since there can be lots of bangs?) The scope tells you exactly where to retrieve the scope's data from.
The exact bang scope syntax isn't final (like lots of sites use email addresses as user id's, which include @
and .
characters), but I think the idea of scoped bangs is pretty solid.
Bangtastic! is a personal project I'm developing for myself. I don't need the scoped bang functionality so I will probably not develop it myself. But I'm throwing the idea out there!