https://github.com/user-attachments/assets/8a961f10-9ec0-4e90-9016-cfd77a90f46d
Open super-search in Script Kit
// Menu: Super Search across multiple websites// Description: Search multiple websites, in bulk, in your browser// Author: Pavel 'Strajk' Dolecek <www.strajk.me>// Twitter: @straaajk//// Shortcut: command option ;// me.strajk:status WIP// BEWARE: Discord search requires my userscript:// https://github.com/Strajk/setup/blob/master/user-scripts/discord-search-from-q-url-param.user.jslet templates = {discord: `https://discord.com/channels/{slug}/?q={query}`,githubRepo: `https://github.com/{slug}/issues?q={query}`,githubDiscussion: `https://github.com/{slug}/discussions?discussions_q={query}`,twitter: `https://x.com/search?q=from%3A{slug}+{query}`,reddit: `https://www.reddit.com/r/{slug}/search?q={query}`,// TODO:// Slack: But even harder than Discord https://stackoverflow.com/questions/51541986/a-way-to-open-up-slack-search-ui-in-a-browser-from-a-url}// Each topic can only use search templates defined above (discord, githubRepo, githubDiscussion)// but doesn't need to include all of them - just some are enough// ⬇⬇⬇ EDIT TO YOUR LIKING ⬇⬇⬇let topics: Record<string, Partial<{[K in keyof typeof templates]: string[]}>> = {kit: {discord: [`804053880266686464`],githubRepo: [`johnlindquist/kit`],githubDiscussion: [`johnlindquist/kit`],twitter: [`scriptkitapp`],},litellm: {discord: [`1123360753068540065`],githubRepo: [`BerriAI/litellm`],githubDiscussion: [`BerriAI/litellm`],twitter: [`LiteLLM`],},wxt: {discord: [`1212416027611365476`],githubRepo: [`wxt-dev/wxt`],githubDiscussion: [`wxt-dev/wxt`]},coolify: {discord: [`459365938081431553`],githubRepo: [`coollabsio/coolify`],githubDiscussion: [`coollabsio/coolify`],twitter: [`coolify`],},crawlee: {discord: [`801163717915574323`],githubRepo: [`apify/crawlee`],githubDiscussion: [`apify/crawlee`]},mantine: {discord: [`854810300876062770`],githubRepo: [`mantinedev/mantine`],githubDiscussion: [`orgs/mantinedev`], // note it's different from repo abovetwitter: [`mantinedev`],},supabase: {discord: [`839993398554656828`],githubDiscussion: [`orgs/supabase`],reddit: [`Supabase`],githubRepo: [`supabase/supabase`,`supabase/supabase-js`,`supabase/cli`,`supabase/postgrest-js`,`supabase/supabase-py`,],},pnpm: {discord: [`731599538665553971`],githubRepo: [`pnpm/pnpm`],githubDiscussion: [`pnpm/pnpm`],},ai: {discord: [`1110910277110743103`, // superagent`1153072414184452236`, // autogen`822583790773862470`, // latentspace`1122748573000409160`, // ai stack devs`877056448956346408`, // lablablab],},nextjs: {discord: [`752553802359505017`, // nextjs`966627436387266600`, // theo typesafe cult],},plasmo: {githubDiscussion: [`PlasmoHQ/plasmo`],githubRepo: [`PlasmoHQ/plasmo`],discord: [`946290204443025438`],},scraping: {discord: [`646150246094602263`, // scraping in prod`851364676688543744`, // scrapy`737009125862408274`, // scraping enthusiasts],}}let hint = `${isMac ? `⌘` : `Control`}+o to edit`let type = await arg({placeholder: `What topic? ${hint}`,choices: Object.keys(topics),})let query = await arg('Query?')let topicObj = topics[type] // e.g. { discord: ['123', '345'], github: ['foo'] }for (const [key, slugs] of Object.entries(topicObj)) {// key is e.g. discord, githubIssues, githubDiscussions, ...// slugs are e.g. ['12356', 'facebook/react']for (const slug of slugs) {// slug e.g. '12356', 'facebook/react'let urlTemplate = templates[key] // e.g. 'github.com/{id}/issues?q={query}'let url = urlTemplate.replace('{slug}', slug) // e.g. 'facebook/react'.replace('{query}', encodeURI(query)) // e.g. 'foo'exec(`open ${url}`)}}