• Stars
    star
    306
  • Rank 135,570 (Top 3 %)
  • Language
    HTML
  • License
    MIT License
  • Created about 10 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Alfred workflow to auto-suggest search results from multiple search engines and languages.

Searchio! workflow for Alfred

Auto-suggest search results from multiple search engines and languages.

Searchio! Demo

Contents

Supports the following search engines/websites:

  • Amazon
  • Bing
  • DuckDuckGo
  • DuckDuckGo Image Search
  • eBay
  • Google
  • Google "I'm Feeling Lucky"
  • Google Images
  • Google Maps (requires a Google Places API key)
  • Naver
  • Wikia (only the top ~200 wikis, but you can import any others)
  • Wikipedia
  • Wiktionary
  • Yandex
  • YouTube
  • plus it can import a search configuration from any website that supports OpenSearch autosuggestions

Download and installation

Download the latest version from the GitHub releases page.

Usage

There are several example searches pre-configured:

  • g β€” Search Google in English
  • gd β€” Search Google in German
  • w β€” Search the English Wikipedia
  • wd β€” Search the German Wikipedia
  • yt β€” Search the United States version of YouTube
  • ytd β€” Search the German version of YouTube

Configuration

The workflow is configured via the searchio keyword and some workflow variables set in the workflow configuration sheet.

Workflow Configuration Sheet

There are some variables in the workflow configuration screen (open the workflow in Alfred Preferences and hit the [𝒙] button):

Name Description
ALFRED_SORTS_RESULTS Set to 1 or yes to enable Alfred's knowledge. Set to 0 or no to always show results in the order returned by the API.
GOOGLE_PLACES_API_KEY You must set this to use Google Maps search. You can get an API key here.
SHOW_QUERY_IN_RESULTS Set to 1 or yes to always append the entered query to the end of the results (so you can hit ↑ to select it). If unset (or set to 0 or no), the query will only be shown if there are no other results.

In-Workflow Configuration

  • searchio [<query>] β€” Show workflow settings
    • Update Available … β€” Shown if there is a new version of the workflow available to download. Action the item to install it.
    • Installed Searches … β€” View and delete your configured searches
    • All Engines … β€” View supported engines and add new searches
    • Import Search … β€” Import a new search configuration from a URL (see Importing Searches)
    • Reload β€” Regenerate the workflow's Script Filters from your configured searches (and clean the cache). Run this if you screw up the Script Filters or an update overwrites them.
    • Show Query in Results β€” Turn the option to show the query you entered in the results on/off. The query is added to the end of the results, so you can hit ↑ to go straight to it. The query is always shown if there are no other results.
    • Alfred Sorts Results β€” Turns Alfred's knowledge on/off. If on, Alfred remembers which result you chose for which query and moves that result to the top. If off, results are always shown in the order they are returned by the API. If on, Show Query in Results cannot guarantee that the query is always the last result.
    • Online Help β€” Open this page in your browser.
    • Workflow up to Date β€” You have the latest version of the workflow. Action this item to force a check for a new version.

Importing Searches

Searchio! has the ability to import a search configuration from any website that supports the OpenSearch autosuggestion API.

Run searchio > Import Search … and the workflow will offer to import a search from a URL on your clipboard, the frontmost Safari tab or the frontmost Chrome tab.

It will try to find and read the OpenSearch description at the URL and import it (and the website's icon if available), then ask you to assign a keyword for the search.

NOTE: Although many websites support OpenSearch, few support the autosuggestion API that Searchio! uses. Sites based on MediaWiki usually support the API, so you can add all your favourite Wikia wikis (the built-in Wikia engine only supports the few hundred most popular wikis).

Adding Engines

In addition to the built-in engines, you can add your own definitions in the engines folder in the workflow's data directory. (Enter searchio workflow:opendata to open the data folder in Finder.)

An engine definition looks like this:

{
  "description": "Alternative search engine",
  "jsonpath": "$[*].phrase",
  "title": "DuckDuckGo Images",
  "pcencode": false,
  "variants": [
    {
      "name": "Argentina",
      "search_url": "https://duckduckgo.com/?iax=images&ia=images&kp=-2&kz=-1&kl=ar-es&q={query}",
      "suggest_url": "https://duckduckgo.com/ac/?kp=-2&kz=-1&kl=ar-es&q={query}",
      "title": "DuckDuckGo Images Argentina",
      "uid": "ar-es"
    }
  ]
}

title and description are self-explanatory. jsonpath is the JSON path expression that extracts the search suggestions from the JSON returned by the suggestion API.

The optional pcencode field tells Searchio! to percent-encode the search query rather than use plus-encoding (the default).

variants define the actual searches supported by the search engine, typically one per region or language. All fields are required. suggest_url points to the autosuggestion endpoint and search_url is the URL of the search results that should be opened in the browser. Both URLs must contain the {query} placeholder, which is replaced with the user's search query.

The (optional) icon for your custom engine should be placed in the icons directory alongside the engines one. It should have the same basename as the engine definition file, just with a different file extension. Supported icon extensions are png, icns, jpg and jpeg.

Licensing, thanks

The code in this workflow is released under the MIT Licence.

The icons belong to the respective search engines and websites.

This workflow uses the following libraries:

More Repositories

1

alfred-workflow

Full-featured library for writing Alfred 3 & 4 workflows
Python
2,970
star
2

awgo

Go library for Alfred 3 + 4 workflows
Go
859
star
3

alfred-convert

Convert between different units in Alfred
Python
721
star
4

zothero

Rapidly search and cite Zotero entries from Alfred
Python
477
star
5

alfred-stackexchange

Search StackOverflow.com from Alfred
Python
434
star
6

alfred-fixum

Fix Alfred 3 Python workflows affected by the Sierra/Alfred-Workflow background process bug
Python
369
star
7

alfred-ssh

Open SSH/SFTP/mosh connections from Alfred 3+
Go
356
star
8

alfred-firefox

Search and control Firefox from Alfred
Go
342
star
9

alfred-repos

Browse, search and open Git repositories in Alfred
Python
313
star
10

alfred-pwgen

Generate passwords with Alfred
Python
290
star
11

alfred-fakeum

Generate fake test data in Alfred
Python
288
star
12

alfred-gcal

View Google Calendar events in Alfred
Go
222
star
13

alfred-reddit

Browse Reddit from Alfred
Python
214
star
14

alfred-safari-assistant

Alfred 3+ workflow to search and use Safari bookmarks, history, reading list and tabs.
Go
190
star
15

alfred-vpn-manager

Manage Tunnelblick & Viscosity VPN connections from Alfred
Python
154
star
16

alfred-smartfolders

Quick access to your Smart Folders (Saved Searches) from Alfred
Python
119
star
17

alfred-fuzzy

Fuzzy search helper for Alfred 3+ workflows
Python
93
star
18

alfred-appscripts

Alfred workflow to search and run/open AppleScripts for the active application
Python
87
star
19

alfred-sublime-text

Filter and open your Sublime Text (2 and 3) project files from Alfred.
Go
73
star
20

i-sheet-you-not

Automagically turn Excel spreadsheets into Alfred 3 Workflows
Python
67
star
21

alfred-mailto

Send emails to recipients and groups from Alfred
Python
64
star
22

alfred-fuzzyfolders

Fuzzy search across folder subdirectories
Python
57
star
23

alfred-unicode

Preview Unicode characters and emoji in Alfred
Go
57
star
24

alfred-booksearch

Search Goodreads.com from Alfred
Go
56
star
25

alfred-similar-image-search

Google Image searches based on local files via Alfred
Python
50
star
26

alfred-packal-search

Search Packal.org's collection of Alfred workflows from Alfred
Python
43
star
27

alfred-services

Run macOS services from Alfred
Go
39
star
28

go-safari

Access Safari bookmarks, reading list, history and tabs (macOS)
Go
38
star
29

alfred-relative-dates

Alfred workflow to generate relative dates in different locales
Python
35
star
30

alfred-network-location

List, filter and activate network locations from within Alfred
Python
32
star
31

alfred-duden

Search the duden.de German dictionary from Alfred. With auto-suggest.
Python
32
star
32

alfred-index-demo

Demonstration of using sqlite as a search index in Alfred
Python
26
star
33

alfred-default-folder-x

Access your Default Folder X favourites and recent items in Alfred
Python
25
star
34

alfred-forklift

Filter ForkLift favourites in Alfred
Go
23
star
35

alfred-resolve-url

Alfred workflow to resolve HTTP redirects and return the canonical URL
Python
14
star
36

alfred-gifs

Say it with GIFs (and Alfred)
Python
12
star
37

bundler-icon-server

Generate PNG icons from icon fonts like Font Awesome
HTML
12
star
38

go-env

Access environment variables & populate structs from them
Go
11
star
39

alfred-errnum

Search macOS errors in Alfred 3
Python
10
star
40

alfred-mpd

Control mpd music player from Alfred 3
Python
9
star
41

go-fuzzy

Fuzzy matching & sorting for Go
Go
9
star
42

alfred-glosbe

Translate in Alfred using Glosbe.com
Python
8
star
43

CopyLink.mmBundle

MailMate Command to copy a link to the currently selected email
Python
8
star
44

alfred-transmit

Rapidly search Transmit favourites in Alfred
Go
5
star
45

alfred-bundler-python-demo

Demo Workflow showing how to use the Alfred Bundler in Python
Python
5
star
46

cookiecutter-alfred-workflow

cookiecutter template for Alfred 2 workflows
Python
4
star
47

alfred-star-ratings

Add star ratings to your files on OS X with Alfred
Python
4
star
48

alfred-excel-demo

Demo workflow showing how to use an Excel file as a data source for an Alfred Script Filter
Python
4
star
49

alfred-reminders-demo

Goto lists in Reminders.app
Python
3
star
50

bundler-icon-server-iconpacks

Icon packs for Bundler Icon Server
2
star
51

alfred-subdir-search

Alfred 2 Workflow to search subdirectories
Python
2
star
52

alfred-flixsearch

Search FlixSearch.io from Alfred 2
Python
2
star
53

www.deanishe.net

Hugo static site source
Go
1
star
54

just-a-test

Test Repo for GH API
1
star
55

alfred-workflow-dummy

A dummy repo for testing Alfred-Workflow's update functionality
Python
1
star
56

deanishe.github.io

Generated contents of www.deanishe.net
HTML
1
star