Google Workspace Opener

unlisted

by lazytarget

Open .gdoc and .gsheet files in an external browser.

Updated 1mo agoMIT
View on GitHub

Google Workspace Opener for Obsidian

GitHub Release Obsidian Downloads License: MIT

Seamlessly open .gdoc, .gsheet, .gform, .gslides, and .gdraw files from your Obsidian vault directly in your browser. If you keep your Google Drive folder inside your vault, this plugin intercepts clicks on those Google Workspace shortcut files and routes them to the correct Google Workspace URL — instead of showing a confusing error in Obsidian.


How it works

Google Drive Desktop stores .gdoc, .gsheet, .gform, .gslides, and .gdraw files as small stubs on your filesystem. The plugin handles both modes that Google Drive Desktop can operate in:

Google Drive modeStub typeStrategy used
Mirror (files downloaded locally)JSON file containing a url fieldReads the URL directly and opens it in the browser
Stream (cloud-only stubs)OS-level directory stub (EISDIR)Hands the path to the OS shell, which lets Google Drive Desktop resolve and open the file

Both strategies silently close the Obsidian leaf after routing so there is no leftover blank tab.


Requirements

  • Obsidian v0.15.0 or later (desktop)
  • Google Drive Desktop installed and running
  • Your Google Drive folder (or a subfolder of it) added to your Obsidian vault

Installation

Community plugins (recommended)

  1. Open Settings → Community plugins and disable Safe mode if prompted.
  2. Click Browse and search for Google Workspace Opener.
  3. Click Install, then Enable.

Manual installation

  1. Download main.js and manifest.json from the latest release.
  2. Copy the three files into <your vault>/.obsidian/plugins/google-workspace-opener/.
  3. Reload Obsidian and enable the plugin under Settings → Community plugins.

Development

Requirements: Node.js ≥ 18.18

git clone https://github.com/lazytarget/obsidian-google-workspace-opener.git
cd obsidian-google-workspace-opener
npm install
npm run dev   # watch mode — outputs main.js

Copy the output files into your vault's plugin folder (or symlink the repo there directly) and reload Obsidian to test changes.

To do a production build with type-checking:

npm run build

Releasing a new version

  1. Update minAppVersion in manifest.json if needed.
  2. Run npm version patch (or minor / major) — this bumps manifest.json, package.json, and versions.json automatically.
  3. Create a GitHub release using the new version number as the tag (no v prefix).
  4. Attach main.js and manifest.json as release assets.

License

MIT © lazytarget

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.