Skip to content

Search hundreds of documentation sites from DevDocs and other sources via Alfred.

License

Notifications You must be signed in to change notification settings

chrisgrieser/alfred-docs-searches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Search ALL the docs

GitHub downloads Alfred gallery downloads Latest release

Search hundreds of documentation sites from DevDocs and other sources via Alfred.

Showcase

Table of Contents

Installation

➡️ Download the latest release.

DevDocs

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.

Usage

  • : Open the documentation site.
  • : Copy the URL of the documentation site to the clipboard.
  • : Copy the entry's text to the clipboard.

Pinning specific versions

  1. In the workflow configuration, go to the pinned devdocs versions section. (Depending on your screen height, you might need to scroll down.)

  2. The versions available are listed under the key slug in this json file.

  3. The replacements take the form alfred_keyword:pinned_version, one version change per line. For example, to pin the node and python use:

    node:node~18_lts
    py:python~3.11
  4. Afterward, reload the caches via the Alfred keyword :docs-reload to ensure the new versions are used.

Icons

Search icons for specific documentation sites are provided by adding a file to the directory ./devdocs/icons/{keyword}.png. PRs are welcome.

Extras

Documentation sites

  • biome: biome docs & rules
  • ruff: ruff docs & rules
  • sc: shellcheck wiki
  • pandoc: pandoc user manual
  • wt: WezTerm docs
  • yq: yq docs
  • oh: Obsidian help
  • odd: Obsidian developer docs

Utilities

  • color: named CSS colors
  • keycode: macOS key codes
    • : Copy key code
    • : Copy AppleScript
  • appid: app-id of installed macOS apps
  • win: window information for the frontmost app
  • http: HTTP status codes
  • as: AppleScript Dictionaries of installed apps
  • sound: macOS System Sounds
    • : Preview (technically: Pre-listen)
    • : Copy sound path
  • Get the Uniform Type Identifier (UTI) of a selected file via the Universal Action.

Reload caches

In case of a recent change to a documentation site, you can manually trigger refreshing the cache via the Alfred keyword :docs-reload.

Maintenance notes

  1. 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.
  2. Local: Every week, the locally available workflow fetches an update from the keymap-slug-map and the info.plist files from the GitHub remote. The update to the info.plist is required, so that newly available documentation sites also show up in the dropdown menus of the workflow configuration.
  3. 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.)
  4. 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.

About the developer

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.

Buy Me a Coffee at ko-fi.com