Search hundreds of documentation sites from DevDocs and other sources via Alfred.
➡️ Download the latest release.
Enable the devdocs you want to use in the workflow configuration. The
enabled devdocs are searched by using the name as keyword, for example haskell foobar
to search the Haskell DevDocs for "foobar."
A few common languages have short-hands noted in the popup selection, such as
js
for JavaScript. In this case, you use js foobar
to search instead.
- ⏎: Open the documentation site.
- ⌥⏎: Copy the URL of the documentation site to the clipboard.
- ⌘⏎: Copy the entry's text to the clipboard.
-
In the workflow configuration, go to the
pinned devdocs versions
section. (Depending on your screen height, you might need to scroll down.) -
The versions available are listed under the key
slug
in this json file. -
The replacements take the form
alfred_keyword:pinned_version
, one version change per line. For example, to pin thenode
andpython
use:node:node~18_lts
py:python~3.11
-
Afterward, reload the caches via the Alfred keyword
:docs-reload
to ensure the new versions are used.
Search icons for specific documentation sites are provided by adding a file to
the directory ./devdocs/icons/{keyword}.png
. PRs are welcome.
biome
: biome docs & rulesruff
: ruff docs & rulessc
: shellcheck wikipandoc
: pandoc user manualwt
: WezTerm docsyq
: yq docsoh
: Obsidian helpodd
: Obsidian developer docs
color
: named CSS colorskeycode
: macOS key codes- ⏎: Copy key code
- ⌥⏎: Copy AppleScript
appid
: app-id of installed macOS appswin
: window information for the frontmost apphttp
: HTTP status codesas
: AppleScript Dictionaries of installed appssound
: macOS System Sounds- ⏎: Preview (technically: Pre-listen)
- ⌥⏎: Copy sound path
- Get the Uniform Type Identifier (UTI) of a selected file via the Universal Action.
In case of a recent change to a documentation site, you can manually trigger
refreshing the cache via the Alfred keyword :docs-reload
.
- Remote: Twice per month, a GitHub
Action is run that checks for
devdocs updates. If updates are found, the
keyword-slug-map available
on this GitHub remote is updated. The
info.plist
is also updated in case not only a new version, but an entirely new documentation site becomes available. - Local: Every week, the locally available workflow fetches an update from
the
keymap-slug-map
and theinfo.plist
files from the GitHub remote. The update to theinfo.plist
is required, so that newly available documentation sites also show up in the dropdown menus of the workflow configuration. - This means that any devdocs update is available to the user at most after
three weeks. (The local cache can be manually updated via the Alfred keyword
via
:docs-reload
to remove the seven-day delay.) - The purpose of this setup is to fully automate the process of making devdocs updates available to the user without requiring manual action. Furthermore, no separate release of the workflow is required.
In my day job, I am a sociologist studying the social mechanisms underlying the digital economy. For my PhD project, I investigate the governance of the app economy and how software ecosystems manage the tension between innovation and compatibility. If you are interested in this subject, feel free to get in touch.